Skip to content

Commit

Permalink
Merge pull request #38 from casework/release-0.2.0
Browse files Browse the repository at this point in the history
Release 0.2.0
  • Loading branch information
ajnelson-nist committed Aug 20, 2020
2 parents c8f44e6 + 6701fb8 commit 96200bf
Show file tree
Hide file tree
Showing 39 changed files with 395 additions and 21,773 deletions.
28 changes: 28 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
2020-08-19
* ONT-293: Release CASE 0.2.0, with release notes at https://caseontology.org/releases/0.2.0/

2020-08-13
* (19b698a) ONT-314: Removed documentation generated for CASE 0.1.0 (breaking change)
* (1d9b468) ONT-140: Linked Style Guidance as development practice (new feature)
* (965f5e4) ONT-231: Resolved naming inconsistency and associated equivalent class complexity (breaking change)

2020-08-12
* (12a081a) ONT-318: Updated ontology README to reflect website and Jira (bugfix)
* (cd8b27f) ONT-281: Moved investigation.ttl and related vocabulary into CASE from UCO (new feature)
* (fe7f069) ONT-288: ChangeLog format selected (new feature)

2020-07-29
* (07e6c12) ONT-144: Moved examples directory to own repository, CASE-Examples (new feature, breaking change)

2020-06-16
* (2fed9a5) ONT-5: Established ontology normalization procedure (new feature)

2020-04-01
* (5c2a19b) ONT-201: Renamed "propertyBundle" to "hasPropertyBundle", per CASE Style Guide

2019-08-06
* (ca5ca15) ONT-51: Separated CASE ontology files by namespace (breaking change)

2019-07-13
* (93b40ac) ONT-51: Removed prototype contents of case.ttl file (breaking change)
* (93b40ac) ONT-53: Changed namespace to caseontology.org (new feature, breaking change)
36 changes: 36 additions & 0 deletions NORMALIZING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Ontology data normalization

CASE uses a normalization process to help prevent errors and confusion during version control. This makes sure that the ontology files will reflect only substantive changes.

This file describes the normalization requirement for submitting revisions to the CASE ontology's Turtle files.

The CASE ontology, encoded as Turtle, follows a procedure based on the [`rdf-toolkit`](https://github.com/edmcouncil/rdf-toolkit) utility. For CASE, the "normalized" form of Turtle is the form that results from an idempotent application of rules to settle questions of Turtle style, such as:

* Definition sort order
* Whitespace usage
* Prefix usage
* Comma placement
* Expansion of [collections](https://www.w3.org/TR/turtle/#collections)
* Blank node placement

The CASE community considers the ontology serialization to be "normalized" when an application of rules to decide the above "stylistic" matters no longer changes a Turtle file.


## Normalization command

This invocation of `rdf-toolkit` shows the flags to be used. "`INPUT_TTL_FILE`" is the CASE Turtle file that is not necessarily normalized. "`OUTPUT_TTL_FILE`" is the resulting Turtle file after normalization. This same command run on "`OUTPUT_TTL_FILE`" as input should produce a file with no further changes.

```
java -jar rdf-toolkit.jar \
--infer-base-iri \
--inline-blank-nodes \
--source INPUT_TTL_FILE \
--source-format turtle \
--target OUTPUT_TTL_FILE \
--target-format turtle
```


## Review procedure

As part of reviewing any Pull Request to the ontology, `rdf-toolkit` is used on the proposed Turtle files. If there is any change from application of `rdf-toolkit`, the ontology maintainers will request the Pull Request be re-submitted. This is to simplify review, and to keep the edit history to ontology files minimal, reducing the potential for confusion in future analysis of revisions.
39 changes: 16 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,24 @@
# Cyber-investigation Analysis Standard Expression (CASE)

_Read the [Wiki tab](https://github.com/casework/CASE/wiki) to learn **everything** you need to know about the Cyber-investigation Analysis Standard Expression (CASE) ontology._
_See the CASE website, [caseontology.org](https://caseontology.org/), to learn everything you need to know about the Cyber-investigation Analysis Standard Expression (CASE) ontology._
_For learning about the Unified Cyber Ontology, CASE's parent, see [UCO](https://github.com/ucoProject/UCO)._

# Examples in this Repository
_These will eventually be moved to the Wiki (likely [Mapping Guide](https://github.com/casework/CASE/wiki/Mapping-Guide))._
Mapping notes & respective JSON-LD output:
- [Bulk Extractor Forensic Path](examples/bulk_extractor_forensic_path.json) (*[info](examples/bulk_extractor_forensic_path.md)*)
- [Call Log](examples/call_log.json)
- [Device](examples/device.json)
- [Email](examples/email.json)
- [EXIF Data](examples/exif_data.json)
- [Files](examples/file.json) (*[info](examples/file.md)*)
- [Forensic Lifecycle](examples/forensic_lifecycle.json)
- [Location](examples/location.json)
- [Message](examples/message.json)
- [Multipart File](examples/multipart_file.json) (*[info](examples/multipart_file.md)*)
- [Oresteia](examples/Oresteia.json) (*[info](examples/Oresteia.md)*)
- [Raw Data](examples/raw_data.json)
- [Reconstructed File](examples/reconstructed_file.json) (*[info](examples/reconstructed_file.md)*)
- [SMS and Contacts](examples/sms_and_contacts.json)

# I have a question!
## Development guidelines

The CASE Ontology Committee models domain concepts, developing the knowledge encodings for the CASE ontology. When these concepts are ready to be encoded as ontology entries, the following guidelines govern their entered forms:
1. Style guidance - The [Style Guide for Documentation of the CASE Ontology](https://caseontology.org/resources/downloads/Style%20Guide%20for%20Documentation%20of%20the%20CASE%20Ontology.pdf) governs the style of ontology entries. An overview presentation on the style guide is available [here](https://caseontology.org/resources/references/CASE%20Style%20Guide%20v1.0%202020-01-14.pdf).
2. Turtle serialization - CASE uses [rdf-toolkit](https://github.com/edmcouncil/rdf-toolkit) to normalize the syntax of ontology Turtle files.

## Examples

Example CASE data and narratives can be found at these locations:

* The [CASE Topics Gallery](https://caseontology.org/ontology/gallery.html)
* The [CASE Examples Repository](https://github.com/casework/CASE-Examples)

## I have a question!

Before you post a Github issue or send an email ensure you've done this checklist:

1. [Determined scope](https://caseontology.org/ontology/start.html#scope) of your task. It is not necessary for most parties to understand all aspects of the ontology, mapping methods, and supporting tools.

2. Familiarize yourself with the [labels](https://github.com/casework/CASE/labels) and search the [Issues tab](https://github.com/casework/CASE/issues). Typically, only light-blue and red labels should be used by non-admin Github users while the others should be used by CASE Github admins.
*All but the red `Project` labels are found in every [`casework`](https://github.com/casework) repository.*
2. Search the [Issues tab](https://github.com/casework/CASE/issues) for duplicative issues. Please know, however, that the CASE community primarily tracks issues in a Jira instance available to community members. The Github Issue tracker can still be a way CASE issues are reported by users who have not registered with the community, but work on the issues will be scheduled and tracked in Jira.
1 change: 0 additions & 1 deletion _config.yml

This file was deleted.

Loading

0 comments on commit 96200bf

Please sign in to comment.