Skip to content

Commit

Permalink
Merge branch 'develop-2.0.0' into Feature-Issue-544
Browse files Browse the repository at this point in the history
  • Loading branch information
ajnelson-nist committed Feb 2, 2024
2 parents 16a6b3d + d909363 commit 6b5cb85
Show file tree
Hide file tree
Showing 36 changed files with 645 additions and 276 deletions.
2 changes: 2 additions & 0 deletions .github/ISSUE_TEMPLATE/change-request.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,4 +96,6 @@ Some requirements are narrow enough they could be considered "Self-documenting."
> Requirement 1 also fully describes the solution, implemented in [PR X](https://github.com/ucoProject/UCO/pull/X).
If there is an accompanying pull request, please do link it under the "Development" box on the right of the Issues page.
If example snippets of instance data are provided, please note if you provide permission for the examples to be transcribed to one of the tested example repositories (such as CASE-Examples). This is a significant aid in confirming examples represent the semantics that the submitter intended. "I am fine with my examples being transcribed and credited" should be sufficient.
-->
6 changes: 3 additions & 3 deletions ontology/co/co.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@
a owl:Ontology ;
rdfs:label "uco-co"@en ;
rdfs:comment "This ontology defines SHACL shapes to supplement the OWL 2 DL definitions in the Collections Ontology."@en ;
owl:backwardCompatibleWith uco-co:1.1.0 ;
owl:backwardCompatibleWith uco-co:1.2.0 ;
owl:imports <http://purl.org/co> ;
owl:priorVersion uco-co:1.1.0 ;
owl:versionIRI uco-co:1.2.0 ;
owl:priorVersion uco-co:1.2.0 ;
owl:versionIRI uco-co:1.3.0 ;
.

co:ListItem
Expand Down
206 changes: 184 additions & 22 deletions ontology/owl/owl.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@
rdfs:label "uco-owl"@en ;
rdfs:comment "This ontology defines SHACL shapes to perform conformance testing of OWL 2 DL. Some of these shapes follow rules specified from the canonical, subtractive parsing process of Section 3 of the OWL 2 mapping to RDF. From the last line of that document's Section 3, 'At the end of this process, the graph G MUST be empty,' anything not strictly matching patterns specified in that section cause the input graph to be non-conformant with OWL 2 DL."@en ;
rdfs:seeAlso <https://www.w3.org/TR/2012/REC-owl2-mapping-to-rdf-20121211/#Mapping_from_RDF_Graphs_to_the_Structural_Specification> ;
owl:backwardCompatibleWith uco-owl:1.1.0 ;
owl:priorVersion uco-owl:1.1.0 ;
owl:versionIRI uco-owl:1.2.0 ;
owl:backwardCompatibleWith uco-owl:1.2.0 ;
owl:priorVersion uco-owl:1.2.0 ;
owl:versionIRI uco-owl:1.3.0 ;
.

uco-owl:Axiom-shape
Expand Down Expand Up @@ -179,25 +179,14 @@ uco-owl:Disjointedness-DP-OP-shape
.

uco-owl:List-shape
a sh:NodeShape ;
sh:property [
a sh:PropertyShape ;
sh:maxCount "1"^^xsd:integer ;
sh:path rdf:first ;
] ;
sh:sparql [
a sh:SPARQLConstraint ;
rdfs:comment "This requirement is determined from review of the canonical parsing process in Section 3 of the OWL 2 mapping to RDF. Table 5 removes any triple matching the pattern 'x a rdf:List`. All other references throughout Section 3 to rdf:first are identified as blank nodes. Therefore, any non-blank node that is an rdf:List will not be mapped and consumed by the mapping process, making the graph non-conformant with OWL 2 DL."@en ;
rdfs:seeAlso <https://www.w3.org/TR/2012/REC-owl2-mapping-to-rdf-20121211/#Mapping_from_RDF_Graphs_to_the_Structural_Specification> ;
sh:message "The subject of a triple with rdf:first as predicate must be a blank node."@en ;
sh:select """
SELECT $this
WHERE {
FILTER isIRI($this)
}
""" ;
] ;
sh:targetSubjectsOf rdf:first ;
a sh:Shape ;
rdfs:comment "This shape's functionality has been exported"@en ;
rdfs:seeAlso
uco-owl:Sequence-shape ,
uco-owl:rdf-first-subjects-shape ,
uco-owl:rdf-rest-subjects-shape
;
sh:deactivated "true"^^xsd:boolean ;
.

uco-owl:ObjectProperty-shacl-constraints-shape
Expand Down Expand Up @@ -250,6 +239,75 @@ uco-owl:ObjectProperty-shacl-constraints-shape
sh:targetClass owl:ObjectProperty ;
.

uco-owl:Sequence-shape
a sh:NodeShape ;
rdfs:comment "This shape intentionally has no target declaration. It is instead intended to be incorporated using 'sh:node'."@en ;
rdfs:seeAlso <https://www.w3.org/TR/2012/REC-owl2-mapping-to-rdf-20121211/#Mapping_from_RDF_Graphs_to_the_Structural_Specification> ;
sh:description "This shape is determined from review of the canonical parsing process in Section 3 of the OWL 2 mapping to RDF, particularly Tables 3 and 5. Table 5 removes any triple matching the pattern 'x a rdf:List`. All other references throughout Section 3 to rdf:first are in the context of mapping a Sequence in OWL structure translation, and are denoted as blank nodes, starting with Table 3. A non-blank node that is an rdf:List and used with a sequence-valued property IRI in the OWL namespace will not be mapped and consumed by the mapping process, making the graph non-conformant with OWL 2 DL. But a non-blank node that is an rdf:List can be used if not directly attached to a sequence-valued property IRI in the OWL namespace."@en ;
sh:xone (
[
a sh:NodeShape ;
sh:hasValue rdf:nil ;
]
[
a sh:NodeShape ;
sh:nodeKind sh:BlankNode ;
sh:property [
a sh:PropertyShape ;
sh:path [
sh:oneOrMorePath rdf:rest ;
] ;
sh:xone (
[
a sh:NodeShape ;
sh:hasValue rdf:nil ;
]
[
a sh:NodeShape ;
sh:nodeKind sh:BlankNode ;
sh:property [
a sh:PropertyShape ;
sh:maxCount "1"^^xsd:integer ;
sh:minCount "1"^^xsd:integer ;
sh:path rdf:first ;
] ;
]
) ;
] ;
]
) ;
.

uco-owl:disjointUnionOf-subjects-shape
a sh:NodeShape ;
sh:property [
a sh:PropertyShape ;
sh:node uco-owl:Sequence-shape ;
sh:path owl:disjointUnionOf ;
] ;
sh:targetSubjectsOf owl:disjointUnionOf ;
.

uco-owl:distinctMembers-subjects-shape
a sh:NodeShape ;
sh:property [
a sh:PropertyShape ;
sh:node uco-owl:Sequence-shape ;
sh:path owl:distinctMembers ;
] ;
sh:targetSubjectsOf owl:distinctMembers ;
.

uco-owl:hasKey-subjects-shape
a sh:NodeShape ;
sh:property [
a sh:PropertyShape ;
sh:node uco-owl:Sequence-shape ;
sh:path owl:hasKey ;
] ;
sh:targetSubjectsOf owl:hasKey ;
.

uco-owl:incompatibleWith-direct-import-shape
a sh:PropertyShape ;
rdfs:seeAlso <https://www.w3.org/TR/owl2-syntax/#Imports> ;
Expand Down Expand Up @@ -285,6 +343,46 @@ uco-owl:incompatibleWith-imported-version-iri-shape
sh:targetObjectsOf owl:incompatibleWith ;
.

uco-owl:intersectionOf-subjects-shape
a sh:NodeShape ;
sh:property [
a sh:PropertyShape ;
sh:node uco-owl:Sequence-shape ;
sh:path owl:intersectionOf ;
] ;
sh:targetSubjectsOf owl:intersectionOf ;
.

uco-owl:members-subjects-shape
a sh:NodeShape ;
sh:property [
a sh:PropertyShape ;
sh:node uco-owl:Sequence-shape ;
sh:path owl:members ;
] ;
sh:targetSubjectsOf owl:members ;
.

uco-owl:onProperties-subjects-shape
a sh:NodeShape ;
sh:property [
a sh:PropertyShape ;
sh:node uco-owl:Sequence-shape ;
sh:path owl:onProperties ;
] ;
sh:targetSubjectsOf owl:onProperties ;
.

uco-owl:oneOf-subjects-shape
a sh:NodeShape ;
sh:property [
a sh:PropertyShape ;
sh:node uco-owl:Sequence-shape ;
sh:path owl:oneOf ;
] ;
sh:targetSubjectsOf owl:oneOf ;
.

uco-owl:ontologyIRI-versionIRI-prerequisite-shape
a sh:NodeShape ;
rdfs:seeAlso <https://www.w3.org/TR/owl2-syntax/#Ontology_IRI_and_Version_IRI> ;
Expand All @@ -293,6 +391,60 @@ uco-owl:ontologyIRI-versionIRI-prerequisite-shape
sh:targetSubjectsOf owl:versionIRI ;
.

uco-owl:propertyChainAxiom-subjects-shape
a sh:NodeShape ;
sh:property [
a sh:PropertyShape ;
sh:node uco-owl:Sequence-shape ;
sh:path owl:propertyChainAxiom ;
] ;
sh:targetSubjectsOf owl:propertyChainAxiom ;
.

uco-owl:rdf-first-subjects-shape
a sh:NodeShape ;
sh:property
[
a sh:PropertyShape ;
sh:maxCount "1"^^xsd:integer ;
sh:path rdf:first ;
] ,
[
a sh:PropertyShape ;
sh:minCount "1"^^xsd:integer ;
sh:path rdf:rest ;
]
;
sh:targetSubjectsOf rdf:first ;
.

uco-owl:rdf-rest-subjects-shape
a sh:NodeShape ;
sh:property
[
a sh:PropertyShape ;
sh:maxCount "1"^^xsd:integer ;
sh:path rdf:rest ;
] ,
[
a sh:PropertyShape ;
sh:minCount "1"^^xsd:integer ;
sh:path rdf:first ;
]
;
sh:targetSubjectsOf rdf:rest ;
.

uco-owl:unionOf-subjects-shape
a sh:NodeShape ;
sh:property [
a sh:PropertyShape ;
sh:node uco-owl:Sequence-shape ;
sh:path owl:unionOf ;
] ;
sh:targetSubjectsOf owl:unionOf ;
.

uco-owl:versionIRI-multiversion-shape
a sh:PropertyShape ;
rdfs:seeAlso <https://www.w3.org/TR/owl2-syntax/#Imports> ;
Expand All @@ -310,3 +462,13 @@ uco-owl:versionIRI-nodeKind-shape
sh:targetSubjectsOf owl:versionIRI ;
.

uco-owl:withRestrictions-subjects-shape
a sh:NodeShape ;
sh:property [
a sh:PropertyShape ;
sh:node uco-owl:Sequence-shape ;
sh:path owl:withRestrictions ;
] ;
sh:targetSubjectsOf owl:withRestrictions ;
.

28 changes: 14 additions & 14 deletions ontology/uco/action/action.ttl
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# imports: https://ontology.unifiedcyberontology.org/uco/core/1.2.0
# imports: https://ontology.unifiedcyberontology.org/uco/location/1.2.0
# imports: https://ontology.unifiedcyberontology.org/uco/pattern/1.2.0
# imports: https://ontology.unifiedcyberontology.org/uco/types/1.2.0
# imports: https://ontology.unifiedcyberontology.org/uco/vocabulary/1.2.0
# imports: https://ontology.unifiedcyberontology.org/uco/core/1.3.0
# imports: https://ontology.unifiedcyberontology.org/uco/location/1.3.0
# imports: https://ontology.unifiedcyberontology.org/uco/pattern/1.3.0
# imports: https://ontology.unifiedcyberontology.org/uco/types/1.3.0
# imports: https://ontology.unifiedcyberontology.org/uco/vocabulary/1.3.0

@prefix action: <https://ontology.unifiedcyberontology.org/uco/action/> .
@prefix core: <https://ontology.unifiedcyberontology.org/uco/core/> .
Expand All @@ -20,16 +20,16 @@
a owl:Ontology ;
rdfs:label "uco-action"@en ;
rdfs:comment "This ontology defines classes and properties for characterizing actions."@en-US ;
owl:backwardCompatibleWith action:1.1.0 ;
owl:backwardCompatibleWith action:1.2.0 ;
owl:imports
core:1.2.0 ,
location:1.2.0 ,
pattern:1.2.0 ,
types:1.2.0 ,
vocabulary:1.2.0
core:1.3.0 ,
location:1.3.0 ,
pattern:1.3.0 ,
types:1.3.0 ,
vocabulary:1.3.0
;
owl:priorVersion action:1.1.0 ;
owl:versionIRI action:1.2.0 ;
owl:priorVersion action:1.2.0 ;
owl:versionIRI action:1.3.0 ;
.

action:Action
Expand Down Expand Up @@ -300,7 +300,7 @@ action:ActionLifecycle
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf action:Action ;
rdfs:subClassOf action:ActionPattern ;
rdfs:label "ActionLifecycle"@en ;
rdfs:comment "An action lifecycle is an action pattern consisting of an ordered set of multiple actions or subordinate action lifecycles."@en ;
sh:property
Expand Down
12 changes: 6 additions & 6 deletions ontology/uco/action/catalog-v001.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="public">
<uri id="User Entered Import Resolution" uri="../../../dependencies/collections-ontology/collections.owl" name="http://purl.org/co"/>
<uri id="User Entered Import Resolution" uri="../../../dependencies/error/docs/current/error.ttl" name="http://purl.org/spar/error"/>
<uri id="User Entered Import Resolution" uri="../../co/co.ttl" name="https://ontology.unifiedcyberontology.org/co/1.2.0"/>
<uri id="User Entered Import Resolution" uri="../core/core.ttl" name="https://ontology.unifiedcyberontology.org/uco/core/1.2.0"/>
<uri id="User Entered Import Resolution" uri="../location/location.ttl" name="https://ontology.unifiedcyberontology.org/uco/location/1.2.0"/>
<uri id="User Entered Import Resolution" uri="../pattern/pattern.ttl" name="https://ontology.unifiedcyberontology.org/uco/pattern/1.2.0"/>
<uri id="User Entered Import Resolution" uri="../types/types.ttl" name="https://ontology.unifiedcyberontology.org/uco/types/1.2.0"/>
<uri id="User Entered Import Resolution" uri="../vocabulary/vocabulary.ttl" name="https://ontology.unifiedcyberontology.org/uco/vocabulary/1.2.0"/>
<uri id="User Entered Import Resolution" uri="../../co/co.ttl" name="https://ontology.unifiedcyberontology.org/co/1.3.0"/>
<uri id="User Entered Import Resolution" uri="../core/core.ttl" name="https://ontology.unifiedcyberontology.org/uco/core/1.3.0"/>
<uri id="User Entered Import Resolution" uri="../location/location.ttl" name="https://ontology.unifiedcyberontology.org/uco/location/1.3.0"/>
<uri id="User Entered Import Resolution" uri="../pattern/pattern.ttl" name="https://ontology.unifiedcyberontology.org/uco/pattern/1.3.0"/>
<uri id="User Entered Import Resolution" uri="../types/types.ttl" name="https://ontology.unifiedcyberontology.org/uco/types/1.3.0"/>
<uri id="User Entered Import Resolution" uri="../vocabulary/vocabulary.ttl" name="https://ontology.unifiedcyberontology.org/uco/vocabulary/1.3.0"/>
<uri id="User Entered Import Resolution" uri="action.ttl" name="https://ontology.unifiedcyberontology.org/uco/action"/>
</catalog>
10 changes: 5 additions & 5 deletions ontology/uco/analysis/analysis.ttl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# imports: https://ontology.unifiedcyberontology.org/uco/action/1.2.0
# imports: https://ontology.unifiedcyberontology.org/uco/action/1.3.0

@prefix action: <https://ontology.unifiedcyberontology.org/uco/action/> .
@prefix analysis: <https://ontology.unifiedcyberontology.org/uco/analysis/> .
Expand All @@ -14,10 +14,10 @@
rdfs:label "uco-analysis"@en ;
rdfs:comment "This ontology defines classes and properties for characterizing analytic actions and results."@en-US ;
rdfs:seeAlso <https://github.com/ucoProject/UCO/issues/400> ;
owl:backwardCompatibleWith analysis:1.1.0 ;
owl:imports action:1.2.0 ;
owl:priorVersion analysis:1.1.0 ;
owl:versionIRI analysis:1.2.0 ;
owl:backwardCompatibleWith analysis:1.2.0 ;
owl:imports action:1.3.0 ;
owl:priorVersion analysis:1.2.0 ;
owl:versionIRI analysis:1.3.0 ;
.

analysis:Analysis
Expand Down
14 changes: 7 additions & 7 deletions ontology/uco/analysis/catalog-v001.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="public">
<uri id="User Entered Import Resolution" uri="../../../dependencies/collections-ontology/collections.owl" name="http://purl.org/co"/>
<uri id="User Entered Import Resolution" uri="../../../dependencies/error/docs/current/error.ttl" name="http://purl.org/spar/error"/>
<uri id="User Entered Import Resolution" uri="../../co/co.ttl" name="https://ontology.unifiedcyberontology.org/co/1.2.0"/>
<uri id="User Entered Import Resolution" uri="../action/action.ttl" name="https://ontology.unifiedcyberontology.org/uco/action/1.2.0"/>
<uri id="User Entered Import Resolution" uri="../core/core.ttl" name="https://ontology.unifiedcyberontology.org/uco/core/1.2.0"/>
<uri id="User Entered Import Resolution" uri="../location/location.ttl" name="https://ontology.unifiedcyberontology.org/uco/location/1.2.0"/>
<uri id="User Entered Import Resolution" uri="../pattern/pattern.ttl" name="https://ontology.unifiedcyberontology.org/uco/pattern/1.2.0"/>
<uri id="User Entered Import Resolution" uri="../types/types.ttl" name="https://ontology.unifiedcyberontology.org/uco/types/1.2.0"/>
<uri id="User Entered Import Resolution" uri="../vocabulary/vocabulary.ttl" name="https://ontology.unifiedcyberontology.org/uco/vocabulary/1.2.0"/>
<uri id="User Entered Import Resolution" uri="../../co/co.ttl" name="https://ontology.unifiedcyberontology.org/co/1.3.0"/>
<uri id="User Entered Import Resolution" uri="../action/action.ttl" name="https://ontology.unifiedcyberontology.org/uco/action/1.3.0"/>
<uri id="User Entered Import Resolution" uri="../core/core.ttl" name="https://ontology.unifiedcyberontology.org/uco/core/1.3.0"/>
<uri id="User Entered Import Resolution" uri="../location/location.ttl" name="https://ontology.unifiedcyberontology.org/uco/location/1.3.0"/>
<uri id="User Entered Import Resolution" uri="../pattern/pattern.ttl" name="https://ontology.unifiedcyberontology.org/uco/pattern/1.3.0"/>
<uri id="User Entered Import Resolution" uri="../types/types.ttl" name="https://ontology.unifiedcyberontology.org/uco/types/1.3.0"/>
<uri id="User Entered Import Resolution" uri="../vocabulary/vocabulary.ttl" name="https://ontology.unifiedcyberontology.org/uco/vocabulary/1.3.0"/>
<uri id="User Entered Import Resolution" uri="analysis.ttl" name="https://ontology.unifiedcyberontology.org/uco/analysis"/>
</catalog>
2 changes: 1 addition & 1 deletion ontology/uco/configuration/catalog-v001.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="public">
<uri id="User Entered Import Resolution" uri="../core/core.ttl" name="https://ontology.unifiedcyberontology.org/uco/core/1.2.0"/>
<uri id="User Entered Import Resolution" uri="../core/core.ttl" name="https://ontology.unifiedcyberontology.org/uco/core/1.3.0"/>
<uri id="User Entered Import Resolution" uri="configuration.ttl" name="https://ontology.unifiedcyberontology.org/uco/configuration"/>
</catalog>
Loading

0 comments on commit 6b5cb85

Please sign in to comment.