diff --git a/dependencies/CASE-unstable b/dependencies/CASE-unstable index 01cce6c0..6dd49198 160000 --- a/dependencies/CASE-unstable +++ b/dependencies/CASE-unstable @@ -1 +1 @@ -Subproject commit 01cce6c0f40cf850b508f64eb174ea729033c5d2 +Subproject commit 6dd49198d4f594e98a0f42736573127c0084aa44 diff --git a/dependencies/UCO-unstable b/dependencies/UCO-unstable index 6da1f003..c72fdafe 160000 --- a/dependencies/UCO-unstable +++ b/dependencies/UCO-unstable @@ -1 +1 @@ -Subproject commit 6da1f003bbb448c6387354a7443a390f6836d4e3 +Subproject commit c72fdafe1bd82951e99affe46d3dd34c7e6f97c7 diff --git a/examples/urgent_evidence/src/urgent_evidence_validation-unstable.ttl b/examples/urgent_evidence/src/urgent_evidence_validation-unstable.ttl index bd07cdac..e7eba886 100644 --- a/examples/urgent_evidence/src/urgent_evidence_validation-unstable.ttl +++ b/examples/urgent_evidence/src/urgent_evidence_validation-unstable.ttl @@ -1,628 +1,27 @@ @prefix action: . @prefix core: . -@prefix dcterms: . -@prefix observable: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . -@prefix skos: . -@prefix types: . -@prefix vocabulary: . @prefix xsd: . [] a sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; - sh:result - [ - a sh:ValidationResult ; - sh:focusNode ; - sh:resultMessage "Value does not have class core:UcoObject" ; - sh:resultPath action:object ; - sh:resultSeverity sh:Violation ; - sh:sourceConstraintComponent sh:ClassConstraintComponent ; - sh:sourceShape [ - sh:class core:UcoObject ; - sh:nodeKind sh:BlankNodeOrIRI ; - sh:path action:object ; - ] ; - sh:value ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode "image/jpeg" ; - sh:resultMessage "The used mimeType value is not a concept with a skos:notation. Some consumers of this data expect a string with the MIME 'type/subtype' format to be supplied with skos:notation. Please either add the skos:notation to your input graph or incorporate the UCO MIME Taxonomy."@en ; - sh:resultPath skos:notation ; - sh:resultSeverity sh:Warning ; - sh:sourceConstraintComponent sh:MinCountConstraintComponent ; - sh:sourceShape observable:mimeType-notation ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "132bfadcc46addedcafcd84653f1a56007eba2f27bfcb15824536cda65a49c9a"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "3777924"^^xsd:integer ; - ] ; - sh:resultMessage "Value does not have class dcterms:FileFormat" ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Violation ; - sh:sourceConstraintComponent sh:ClassConstraintComponent ; - sh:sourceShape [ - sh:class dcterms:FileFormat ; - sh:nodeKind sh:IRI ; - sh:path observable:mimeType ; - ] ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "132bfadcc46addedcafcd84653f1a56007eba2f27bfcb15824536cda65a49c9a"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "3777924"^^xsd:integer ; - ] ; - sh:resultMessage "Value is not an instance of types:MIMEFormat or one of its subclasses. Please consider using a value having type types:IANAMediaType or types:NonIANAMediaType."@en ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Info ; - sh:sourceConstraintComponent sh:ClassConstraintComponent ; - sh:sourceShape observable:mimeType-class-types-MIMEFormat ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "132bfadcc46addedcafcd84653f1a56007eba2f27bfcb15824536cda65a49c9a"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "3777924"^^xsd:integer ; - ] ; - sh:resultMessage "Value is not of Node Kind sh:IRI" ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Violation ; - sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; - sh:sourceShape [ - sh:class dcterms:FileFormat ; - sh:nodeKind sh:IRI ; - sh:path observable:mimeType ; - ] ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "1929ec6c6186f43860da7c77c0c65d1b8543a5543572261a1b71084e7bf80a0e"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "5010291"^^xsd:integer ; - ] ; - sh:resultMessage "Value does not have class dcterms:FileFormat" ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Violation ; - sh:sourceConstraintComponent sh:ClassConstraintComponent ; - sh:sourceShape [ - sh:class dcterms:FileFormat ; - sh:nodeKind sh:IRI ; - sh:path observable:mimeType ; - ] ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "1929ec6c6186f43860da7c77c0c65d1b8543a5543572261a1b71084e7bf80a0e"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "5010291"^^xsd:integer ; - ] ; - sh:resultMessage "Value is not an instance of types:MIMEFormat or one of its subclasses. Please consider using a value having type types:IANAMediaType or types:NonIANAMediaType."@en ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Info ; - sh:sourceConstraintComponent sh:ClassConstraintComponent ; - sh:sourceShape observable:mimeType-class-types-MIMEFormat ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "1929ec6c6186f43860da7c77c0c65d1b8543a5543572261a1b71084e7bf80a0e"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "5010291"^^xsd:integer ; - ] ; - sh:resultMessage "Value is not of Node Kind sh:IRI" ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Violation ; - sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; - sh:sourceShape [ - sh:class dcterms:FileFormat ; - sh:nodeKind sh:IRI ; - sh:path observable:mimeType ; - ] ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73a43362938b9824"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "3963541"^^xsd:integer ; - ] ; - sh:resultMessage "Value does not have class dcterms:FileFormat" ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Violation ; - sh:sourceConstraintComponent sh:ClassConstraintComponent ; - sh:sourceShape [ - sh:class dcterms:FileFormat ; - sh:nodeKind sh:IRI ; - sh:path observable:mimeType ; - ] ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73a43362938b9824"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "3963541"^^xsd:integer ; - ] ; - sh:resultMessage "Value is not an instance of types:MIMEFormat or one of its subclasses. Please consider using a value having type types:IANAMediaType or types:NonIANAMediaType."@en ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Info ; - sh:sourceConstraintComponent sh:ClassConstraintComponent ; - sh:sourceShape observable:mimeType-class-types-MIMEFormat ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73a43362938b9824"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "3963541"^^xsd:integer ; - ] ; - sh:resultMessage "Value is not of Node Kind sh:IRI" ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Violation ; - sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; - sh:sourceShape [ - sh:class dcterms:FileFormat ; - sh:nodeKind sh:IRI ; - sh:path observable:mimeType ; - ] ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "6ba5b138057cca4e737a86083cf28426093f218efbef64967863a6c83138fe89"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "4929041"^^xsd:integer ; - ] ; - sh:resultMessage "Value does not have class dcterms:FileFormat" ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Violation ; - sh:sourceConstraintComponent sh:ClassConstraintComponent ; - sh:sourceShape [ - sh:class dcterms:FileFormat ; - sh:nodeKind sh:IRI ; - sh:path observable:mimeType ; - ] ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "6ba5b138057cca4e737a86083cf28426093f218efbef64967863a6c83138fe89"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "4929041"^^xsd:integer ; - ] ; - sh:resultMessage "Value is not an instance of types:MIMEFormat or one of its subclasses. Please consider using a value having type types:IANAMediaType or types:NonIANAMediaType."@en ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Info ; - sh:sourceConstraintComponent sh:ClassConstraintComponent ; - sh:sourceShape observable:mimeType-class-types-MIMEFormat ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "6ba5b138057cca4e737a86083cf28426093f218efbef64967863a6c83138fe89"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "4929041"^^xsd:integer ; - ] ; - sh:resultMessage "Value is not of Node Kind sh:IRI" ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Violation ; - sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; - sh:sourceShape [ - sh:class dcterms:FileFormat ; - sh:nodeKind sh:IRI ; - sh:path observable:mimeType ; - ] ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "9a171853eee9f8162e480b28c36f7619a2db8539ccfee849b8ec0068aef53789"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "4007352"^^xsd:integer ; - ] ; - sh:resultMessage "Value does not have class dcterms:FileFormat" ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Violation ; - sh:sourceConstraintComponent sh:ClassConstraintComponent ; - sh:sourceShape [ - sh:class dcterms:FileFormat ; - sh:nodeKind sh:IRI ; - sh:path observable:mimeType ; - ] ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "9a171853eee9f8162e480b28c36f7619a2db8539ccfee849b8ec0068aef53789"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "4007352"^^xsd:integer ; - ] ; - sh:resultMessage "Value is not an instance of types:MIMEFormat or one of its subclasses. Please consider using a value having type types:IANAMediaType or types:NonIANAMediaType."@en ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Info ; - sh:sourceConstraintComponent sh:ClassConstraintComponent ; - sh:sourceShape observable:mimeType-class-types-MIMEFormat ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "9a171853eee9f8162e480b28c36f7619a2db8539ccfee849b8ec0068aef53789"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "4007352"^^xsd:integer ; - ] ; - sh:resultMessage "Value is not of Node Kind sh:IRI" ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Violation ; - sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; - sh:sourceShape [ - sh:class dcterms:FileFormat ; - sh:nodeKind sh:IRI ; - sh:path observable:mimeType ; - ] ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "a49f0716e610bd0f77543b1e7ca7613e9b31bf32509e854c7ba65b79be502a18"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "2964571"^^xsd:integer ; - ] ; - sh:resultMessage "Value does not have class dcterms:FileFormat" ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Violation ; - sh:sourceConstraintComponent sh:ClassConstraintComponent ; - sh:sourceShape [ - sh:class dcterms:FileFormat ; - sh:nodeKind sh:IRI ; - sh:path observable:mimeType ; - ] ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "a49f0716e610bd0f77543b1e7ca7613e9b31bf32509e854c7ba65b79be502a18"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "2964571"^^xsd:integer ; - ] ; - sh:resultMessage "Value is not an instance of types:MIMEFormat or one of its subclasses. Please consider using a value having type types:IANAMediaType or types:NonIANAMediaType."@en ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Info ; - sh:sourceConstraintComponent sh:ClassConstraintComponent ; - sh:sourceShape observable:mimeType-class-types-MIMEFormat ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "a49f0716e610bd0f77543b1e7ca7613e9b31bf32509e854c7ba65b79be502a18"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "2964571"^^xsd:integer ; - ] ; - sh:resultMessage "Value is not of Node Kind sh:IRI" ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Violation ; - sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; - sh:sourceShape [ - sh:class dcterms:FileFormat ; - sh:nodeKind sh:IRI ; - sh:path observable:mimeType ; - ] ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "cadc54f42a9d01ecb5ecdc3a9a4824c73301d6ce9857eaa73fc28317ccd5d40f"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "4491816"^^xsd:integer ; - ] ; - sh:resultMessage "Value does not have class dcterms:FileFormat" ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Violation ; - sh:sourceConstraintComponent sh:ClassConstraintComponent ; - sh:sourceShape [ - sh:class dcterms:FileFormat ; - sh:nodeKind sh:IRI ; - sh:path observable:mimeType ; - ] ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "cadc54f42a9d01ecb5ecdc3a9a4824c73301d6ce9857eaa73fc28317ccd5d40f"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "4491816"^^xsd:integer ; - ] ; - sh:resultMessage "Value is not an instance of types:MIMEFormat or one of its subclasses. Please consider using a value having type types:IANAMediaType or types:NonIANAMediaType."@en ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Info ; - sh:sourceConstraintComponent sh:ClassConstraintComponent ; - sh:sourceShape observable:mimeType-class-types-MIMEFormat ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "cadc54f42a9d01ecb5ecdc3a9a4824c73301d6ce9857eaa73fc28317ccd5d40f"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "4491816"^^xsd:integer ; - ] ; - sh:resultMessage "Value is not of Node Kind sh:IRI" ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Violation ; - sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; - sh:sourceShape [ - sh:class dcterms:FileFormat ; - sh:nodeKind sh:IRI ; - sh:path observable:mimeType ; - ] ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "ee3657ad73c09098312e71a31ca7ac468c1fb1b998b5d6647ad471dcc89c4141"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "3236101"^^xsd:integer ; - ] ; - sh:resultMessage "Value does not have class dcterms:FileFormat" ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Violation ; - sh:sourceConstraintComponent sh:ClassConstraintComponent ; - sh:sourceShape [ - sh:class dcterms:FileFormat ; - sh:nodeKind sh:IRI ; - sh:path observable:mimeType ; - ] ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "ee3657ad73c09098312e71a31ca7ac468c1fb1b998b5d6647ad471dcc89c4141"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "3236101"^^xsd:integer ; - ] ; - sh:resultMessage "Value is not an instance of types:MIMEFormat or one of its subclasses. Please consider using a value having type types:IANAMediaType or types:NonIANAMediaType."@en ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Info ; - sh:sourceConstraintComponent sh:ClassConstraintComponent ; - sh:sourceShape observable:mimeType-class-types-MIMEFormat ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "ee3657ad73c09098312e71a31ca7ac468c1fb1b998b5d6647ad471dcc89c4141"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "3236101"^^xsd:integer ; - ] ; - sh:resultMessage "Value is not of Node Kind sh:IRI" ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Violation ; - sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; - sh:sourceShape [ - sh:class dcterms:FileFormat ; - sh:nodeKind sh:IRI ; - sh:path observable:mimeType ; - ] ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "fc0819ed4dcb2af9c85a041a0da11ea6a146dec0b108c09f5e0d41e8ea3bb041"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "4565505"^^xsd:integer ; - ] ; - sh:resultMessage "Value does not have class dcterms:FileFormat" ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Violation ; - sh:sourceConstraintComponent sh:ClassConstraintComponent ; - sh:sourceShape [ - sh:class dcterms:FileFormat ; - sh:nodeKind sh:IRI ; - sh:path observable:mimeType ; - ] ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "fc0819ed4dcb2af9c85a041a0da11ea6a146dec0b108c09f5e0d41e8ea3bb041"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "4565505"^^xsd:integer ; - ] ; - sh:resultMessage "Value is not an instance of types:MIMEFormat or one of its subclasses. Please consider using a value having type types:IANAMediaType or types:NonIANAMediaType."@en ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Info ; - sh:sourceConstraintComponent sh:ClassConstraintComponent ; - sh:sourceShape observable:mimeType-class-types-MIMEFormat ; - sh:value "image/jpeg" ; - ] , - [ - a sh:ValidationResult ; - sh:focusNode [ - a observable:ContentDataFacet ; - observable:hash [ - a types:Hash ; - types:hashMethod "SHA256"^^vocabulary:HashNameVocab ; - types:hashValue "fc0819ed4dcb2af9c85a041a0da11ea6a146dec0b108c09f5e0d41e8ea3bb041"^^xsd:hexBinary ; - ] ; - observable:mimeType "image/jpeg" ; - observable:sizeInBytes "4565505"^^xsd:integer ; - ] ; - sh:resultMessage "Value is not of Node Kind sh:IRI" ; - sh:resultPath observable:mimeType ; - sh:resultSeverity sh:Violation ; - sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; - sh:sourceShape [ - sh:class dcterms:FileFormat ; - sh:nodeKind sh:IRI ; - sh:path observable:mimeType ; - ] ; - sh:value "image/jpeg" ; - ] - ; + sh:result [ + a sh:ValidationResult ; + sh:focusNode ; + sh:resultMessage "Value does not have class core:UcoObject" ; + sh:resultPath action:object ; + sh:resultSeverity sh:Violation ; + sh:sourceConstraintComponent sh:ClassConstraintComponent ; + sh:sourceShape [ + sh:class core:UcoObject ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:path action:object ; + ] ; + sh:value ; + ] ; . diff --git a/ontology/CASE-unstable.ttl b/ontology/CASE-unstable.ttl index 54bff181..a2972564 100644 --- a/ontology/CASE-unstable.ttl +++ b/ontology/CASE-unstable.ttl @@ -1,5 +1,4 @@ # imports: http://purl.org/co -# imports: http://www.w3.org/TR/skos-reference/skos-owl1-dl.rdf # imports: https://ontology.caseontology.org/case/investigation # imports: https://ontology.caseontology.org/case/vocabulary # imports: https://ontology.unifiedcyberontology.org/co @@ -24,7 +23,7 @@ @prefix co: . @prefix configuration: . @prefix core: . -@prefix dcterms: . +@prefix dct: . @prefix identity: . @prefix investigation: . @prefix location: . @@ -36,7 +35,6 @@ @prefix rdfs: . @prefix role: . @prefix sh: . -@prefix skos: . @prefix time: . @prefix tool: . @prefix types: . @@ -51,7 +49,7 @@ a owl:Ontology ; rdfs:label "case-master"@en ; rdfs:comment "The Cyber-investigation Analysis Standard Expression (CASE) ontology is a community-developed standard that defines concepts used in a broad range of cyber-investigation domains, including digital forensic science, incident response, counter-terrorism, criminal justice, forensic intelligence, and situational awareness. CASE includes all aspects of the digital forensic process, from evidence-gathering and chain of custody, to generating a final report. The goal is to increase sharing and interoperability of cyber-investigation information among organizations and between forensic analytic tools. CASE aligns with and extends the Unified Cyber Ontology (UCO). The preferred namespace abbreviation for this ontology is: case-master."@en ; - dcterms:title "Cyber-investigation Analysis Standard Expression (CASE)"@en ; + dct:title "Cyber-investigation Analysis Standard Expression (CASE)"@en ; owl:imports , , @@ -118,7 +116,6 @@ a owl:Ontology ; rdfs:label "uco-core"@en ; rdfs:comment "This ontology defines classes and properties that are shared across the various UCO ontologies. At a high-level, the UCO core ontology provides base classes, relationship-oriented classes, content-aggregation classes, and shared classes."@en ; - owl:imports ; . @@ -198,7 +195,6 @@ a owl:Ontology ; rdfs:label "uco-master"@en ; owl:imports - , , , , @@ -236,11 +232,6 @@ co:ListItem rdfs:subClassOf co:Item ; . -dcterms:FileFormat - a owl:Class ; - rdfs:comment "UCO extends dcterms:FileFormat to be an OWL Class in addition to its native definition of an RDF Class."@en ; - . - investigation:Attorney a owl:Class , @@ -2017,13 +2008,6 @@ core:Relationship sh:targetClass core:Relationship ; . -core:TaxonomicConcept - a owl:Class ; - rdfs:subClassOf skos:Concept ; - rdfs:label "TaxonomicConcept"@en ; - rdfs:comment "Taxonomic Concept is a mix-in class that enables UCO as an OWL ontology to use SKOS taxonomic individuals. [based on https://www.w3.org/2006/07/SWD/SKOS/skos-and-owl/master.html#Hybrids]"@en ; - . - core:UcoObject a owl:Class , @@ -4967,11 +4951,6 @@ observable:ContentDataFacet rdfs:label "ContentDataFacet"@en ; rdfs:comment "A content data facet is a grouping of characteristics unique to a block of digital data."@en ; sh:property - [ - sh:class dcterms:FileFormat ; - sh:nodeKind sh:IRI ; - sh:path observable:mimeType ; - ] , [ sh:class observable:ObservableObject ; sh:maxCount "1"^^xsd:integer ; @@ -5019,6 +4998,11 @@ observable:ContentDataFacet sh:nodeKind sh:Literal ; sh:path observable:mimeClass ; ] , + [ + sh:datatype xsd:string ; + sh:nodeKind sh:Literal ; + sh:path observable:mimeType ; + ] , [ sh:datatype vocabulary:EndiannessTypeVocab ; sh:message "Value is outside the default vocabulary EndiannessTypeVocab." ; @@ -14441,37 +14425,10 @@ observable:mimeClass . observable:mimeType - a owl:ObjectProperty ; + a owl:DatatypeProperty ; rdfs:label "mimeType"@en ; - rdfs:comment "MIME type of the data. The text form of '${type}/${subtype}' (for example, 'text/html' or 'audio/mp3') can be used to find a UCO-provisioned set of types from the UCO Media Types Taxonomy. For interoperability with non-UCO resources, dcterms:FileFormat is this property's required range. The more-specific UCO classes types:IANAMediaType or types:NonIANAMediaType should be used when available."@en ; - rdfs:range dcterms:FileFormat ; - rdfs:seeAlso - types:IANAMediaType , - types:NonIANAMediaType , - - ; - . - -observable:mimeType-class-types-MIMEFormat - a sh:PropertyShape ; - rdfs:comment "This shape is given an IRI in order to facilitate deactivation on request."@en ; - rdfs:seeAlso sh:deactivated ; - sh:class types:MIMEFormat ; - sh:message "Value is not an instance of types:MIMEFormat or one of its subclasses. Please consider using a value having type types:IANAMediaType or types:NonIANAMediaType."@en ; - sh:path observable:mimeType ; - sh:severity sh:Info ; - sh:targetSubjectsOf observable:mimeType ; - . - -observable:mimeType-notation - a sh:PropertyShape ; - rdfs:comment "This shape is intended to be deactivated by using overriding shapes in the UCO Mime Taxonomy."@en ; - rdfs:seeAlso ; - sh:message "The used mimeType value is not a concept with a skos:notation. Some consumers of this data expect a string with the MIME 'type/subtype' format to be supplied with skos:notation. Please either add the skos:notation to your input graph or incorporate the UCO MIME Taxonomy."@en ; - sh:minCount "1"^^xsd:integer ; - sh:path skos:notation ; - sh:severity sh:Warning ; - sh:targetObjectsOf observable:mimeType ; + rdfs:comment "MIME type of the data. For example 'text/html' or 'audio/mp3'."@en ; + rdfs:range xsd:string ; . observable:minorImageVersion @@ -17015,41 +16972,16 @@ types:Hash sh:targetClass types:Hash ; . -types:IANAMediaType - a owl:Class ; - rdfs:subClassOf types:MIMEFormat ; - rdfs:label "IANAMediaType"@en ; - owl:disjointWith types:NonIANAMediaType ; - . - types:Identifier a rdfs:Datatype ; rdfs:comment "An identifier is a string conformant to the specified UUID-based format for UCO object identifiers."@en ; . -types:MIMEFormat - a owl:Class ; - rdfs:subClassOf - dcterms:FileFormat , - core:TaxonomicConcept - ; - rdfs:label "MIMEFormat"@en ; - rdfs:comment "This class should be considered an intermediary, 'abstract' class, and should not have individuals defined that are not a member of one of its subclasses. This class has two purposes. First, to encode for interoperability with existing frameworks, without relying on RDFS inference, that a UCO MIMEFormat individual is both a SKOS Concept (via core:TaxonomicConcept) and Dublin Core Terms FileFormat. Second, to guarantee a concept to be used as a UCO MIME type has exactly one skos:notation. Note that strict SHACL enforcement of the skos:notation presence is not within the UCO Types ontology, but is instead a part of the shapes provided by the UCO MIME Taxonomy. The warning about skos:notation in the Observable namespace is deactivated on importing the taxonomy's shapes."@en ; - rdfs:seeAlso observable:mimeType-notation ; - . - types:NativeFormatString a rdfs:Datatype ; rdfs:comment "Specifies data in its native format of some external language. The data may be encoded in Base64 per [RFC4648]. Data encoded in Base64 must be denoted as such using the encoded property."@en ; . -types:NonIANAMediaType - a owl:Class ; - rdfs:subClassOf types:MIMEFormat ; - rdfs:label "NonIANAMediaType"@en ; - owl:disjointWith types:IANAMediaType ; - . - types:StructuredText a rdfs:Datatype ; rdfs:comment "Expresses string-based data in some information structuring format (e.g., HTML5)."@en ;