Skip to content

Commit

Permalink
Merge branch 'develop' into Feature-CP-81
Browse files Browse the repository at this point in the history
  • Loading branch information
ajnelson-nist committed Apr 14, 2022
2 parents e433161 + c81b8e7 commit babf5ab
Show file tree
Hide file tree
Showing 38 changed files with 2,560 additions and 683 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ Through this approach not only are domain-focused representations defined consis
The purpose of this repository is to provide a foundation for broader community involvement in defining what to represent and how.

### Current Release
The current release of UCO is 0.7.0
The current release of UCO is 0.8.0.

UCO Version 0.7.0 is primarily focused on conversion of UCO ontologies to leverage the Shapes Constraint Language (SHACL) rather than domain assertions and owl property restrictions to define class shapes. In addition, it added a continuous integration (CI) method for testing and verifying the ontology and it corrects several minor issues and bugs.
UCO 0.8.0 is primarily focused on an initial implementation of Shapes Constraint Language (SHACL) review of semi-open vocabulary usage, restructuring of all UCO ontology IRIs and file structures to enable delivery of ontology resources from a new subdomain, flattening action:ActionReferencesFacet properties directly onto action:Action, normalizing decimal number properties to xsd:decimal, improvements to unit and CI testing, numerous modifications and improvements to the Observable namespace, and correcting several minor issues and bugs.

Future versions of UCO will not only expand and refine the ontology itself but will also provide more complete and formalized documentation.
More detail of improvements is documented in the [UCO 0.8.0 release notes](https://unifiedcyberontology.org/releases/0.8.0/).
192 changes: 120 additions & 72 deletions ontology/action/action.ttl
Original file line number Diff line number Diff line change
@@ -1,32 +1,30 @@
# baseURI: https://unifiedcyberontology.org/ontology/uco/action
# imports: https://unifiedcyberontology.org/ontology/uco/core
# imports: https://unifiedcyberontology.org/ontology/uco/location
# imports: https://unifiedcyberontology.org/ontology/uco/pattern
# imports: https://unifiedcyberontology.org/ontology/uco/types
# imports: https://unifiedcyberontology.org/ontology/uco/vocabulary

@base <https://unifiedcyberontology.org/ontology/uco/action> .
@prefix action: <https://unifiedcyberontology.org/ontology/uco/action#> .
@prefix core: <https://unifiedcyberontology.org/ontology/uco/core#> .
@prefix location: <https://unifiedcyberontology.org/ontology/uco/location#> .
# imports: https://ontology.unifiedcyberontology.org/uco/core
# imports: https://ontology.unifiedcyberontology.org/uco/location
# imports: https://ontology.unifiedcyberontology.org/uco/pattern
# imports: https://ontology.unifiedcyberontology.org/uco/types
# imports: https://ontology.unifiedcyberontology.org/uco/vocabulary

@prefix action: <https://ontology.unifiedcyberontology.org/uco/action/> .
@prefix core: <https://ontology.unifiedcyberontology.org/uco/core/> .
@prefix location: <https://ontology.unifiedcyberontology.org/uco/location/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix pattern: <https://unifiedcyberontology.org/ontology/uco/pattern#> .
@prefix pattern: <https://ontology.unifiedcyberontology.org/uco/pattern/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix vocabulary: <https://unifiedcyberontology.org/ontology/uco/vocabulary#> .
@prefix vocabulary: <https://ontology.unifiedcyberontology.org/uco/vocabulary/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<https://unifiedcyberontology.org/ontology/uco/action>
<https://ontology.unifiedcyberontology.org/uco/action>
a owl:Ontology ;
rdfs:label "uco-action"@en ;
rdfs:comment "This ontology defines classes and properties for characterizing actions."@en-US ;
owl:imports
<https://unifiedcyberontology.org/ontology/uco/core> ,
<https://unifiedcyberontology.org/ontology/uco/location> ,
<https://unifiedcyberontology.org/ontology/uco/pattern> ,
<https://unifiedcyberontology.org/ontology/uco/types> ,
<https://unifiedcyberontology.org/ontology/uco/vocabulary>
<https://ontology.unifiedcyberontology.org/uco/core> ,
<https://ontology.unifiedcyberontology.org/uco/location> ,
<https://ontology.unifiedcyberontology.org/uco/pattern> ,
<https://ontology.unifiedcyberontology.org/uco/types> ,
<https://ontology.unifiedcyberontology.org/uco/vocabulary>
;
.

Expand All @@ -44,11 +42,48 @@ action:Action
sh:nodeKind sh:BlankNodeOrIRI ;
sh:path action:subaction ;
] ,
[
sh:class core:UcoObject ;
sh:maxCount "1"^^xsd:integer ;
sh:nodeKind sh:BlankNodeOrIRI ;
sh:path action:environment ;
] ,
[
sh:class core:UcoObject ;
sh:maxCount "1"^^xsd:integer ;
sh:nodeKind sh:BlankNodeOrIRI ;
sh:path action:performer ;
] ,
[
sh:class core:UcoObject ;
sh:nodeKind sh:BlankNodeOrIRI ;
sh:path action:error ;
] ,
[
sh:class core:UcoObject ;
sh:nodeKind sh:BlankNodeOrIRI ;
sh:path action:instrument ;
] ,
[
sh:class core:UcoObject ;
sh:nodeKind sh:BlankNodeOrIRI ;
sh:path action:object ;
] ,
[
sh:class core:UcoObject ;
sh:nodeKind sh:BlankNodeOrIRI ;
sh:path action:participant ;
] ,
[
sh:class core:UcoObject ;
sh:nodeKind sh:BlankNodeOrIRI ;
sh:path action:result ;
] ,
[
sh:class location:Location ;
sh:nodeKind sh:BlankNodeOrIRI ;
sh:path action:location ;
] ,
[
sh:datatype xsd:dateTime ;
sh:maxCount "1"^^xsd:integer ;
Expand All @@ -69,8 +104,34 @@ action:Action
] ,
[
sh:datatype vocabulary:ActionStatusTypeVocab ;
sh:message "Value is outside the default vocabulary ActionStatusTypeVocab." ;
sh:path action:actionStatus ;
sh:severity sh:Info ;
] ,
[
sh:maxCount "1"^^xsd:integer ;
sh:nodeKind sh:Literal ;
sh:or (
[
sh:datatype vocabulary:ActionStatusTypeVocab ;
]
[
sh:datatype xsd:string ;
]
) ;
sh:path action:actionStatus ;
] ,
[
sh:message "Value is not member of the vocabulary ActionStatusTypeVocab." ;
sh:or (
[
sh:datatype vocabulary:ActionStatusTypeVocab ;
sh:in vocabulary:ActionStatusTypeVocab-members ;
]
[
sh:datatype xsd:string ;
]
) ;
sh:path action:actionStatus ;
]
;
Expand Down Expand Up @@ -173,9 +234,35 @@ action:ActionFrequencyFacet
] ,
[
sh:datatype vocabulary:TrendVocab ;
sh:message "Value is outside the default vocabulary TrendVocab." ;
sh:path action:trend ;
sh:severity sh:Info ;
] ,
[
sh:maxCount "1"^^xsd:integer ;
sh:minCount "1"^^xsd:integer ;
sh:nodeKind sh:Literal ;
sh:or (
[
sh:datatype vocabulary:TrendVocab ;
]
[
sh:datatype xsd:string ;
]
) ;
sh:path action:trend ;
] ,
[
sh:message "Value is not member of the vocabulary TrendVocab." ;
sh:or (
[
sh:datatype vocabulary:TrendVocab ;
sh:in vocabulary:TrendVocab-members ;
]
[
sh:datatype xsd:string ;
]
) ;
sh:path action:trend ;
]
;
Expand Down Expand Up @@ -246,57 +333,6 @@ action:ActionPattern
sh:targetClass action:ActionPattern ;
.

action:ActionReferencesFacet
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf core:Facet ;
rdfs:label "ActionReferencesFacet"@en ;
rdfs:comment """An action references facet is a grouping of characteristics unique to the core elements (who, how, with what, where, etc.) for an action. The characteristics are references to separate UCO objects detailing the particular characteristic.
"""@en ;
sh:property
[
sh:class core:UcoObject ;
sh:maxCount "1"^^xsd:integer ;
sh:nodeKind sh:BlankNodeOrIRI ;
sh:path action:environment ;
] ,
[
sh:class core:UcoObject ;
sh:maxCount "1"^^xsd:integer ;
sh:nodeKind sh:BlankNodeOrIRI ;
sh:path action:performer ;
] ,
[
sh:class core:UcoObject ;
sh:nodeKind sh:BlankNodeOrIRI ;
sh:path action:instrument ;
] ,
[
sh:class core:UcoObject ;
sh:nodeKind sh:BlankNodeOrIRI ;
sh:path action:object ;
] ,
[
sh:class core:UcoObject ;
sh:nodeKind sh:BlankNodeOrIRI ;
sh:path action:participant ;
] ,
[
sh:class core:UcoObject ;
sh:nodeKind sh:BlankNodeOrIRI ;
sh:path action:result ;
] ,
[
sh:class location:Location ;
sh:nodeKind sh:BlankNodeOrIRI ;
sh:path action:location ;
]
;
sh:targetClass action:ActionReferencesFacet ;
.

action:ArrayOfAction
a
owl:Class ,
Expand Down Expand Up @@ -331,7 +367,13 @@ action:actionStatus
a owl:DatatypeProperty ;
rdfs:label "actionStatus"@en ;
rdfs:comment "The current state of the action."@en ;
rdfs:range vocabulary:ActionStatusTypeVocab ;
rdfs:range [
a rdfs:Datatype ;
owl:unionOf (
vocabulary:ActionStatusTypeVocab
xsd:string
) ;
] ;
.

action:argumentName
Expand Down Expand Up @@ -472,7 +514,13 @@ action:trend
a owl:DatatypeProperty ;
rdfs:label "trend"@en ;
rdfs:comment "A characterization of the frequency trend for the occurence of an action."@en ;
rdfs:range vocabulary:TrendVocab ;
rdfs:range [
a rdfs:Datatype ;
owl:unionOf (
vocabulary:TrendVocab
xsd:string
) ;
] ;
.

action:units
Expand Down
31 changes: 9 additions & 22 deletions ontology/core/core.ttl
Original file line number Diff line number Diff line change
@@ -1,20 +1,15 @@
# baseURI: https://unifiedcyberontology.org/ontology/uco/core
# imports: https://unifiedcyberontology.org/ontology/uco/vocabulary

@base <https://unifiedcyberontology.org/ontology/uco/core> .
@prefix core: <https://unifiedcyberontology.org/ontology/uco/core#> .
@prefix core: <https://ontology.unifiedcyberontology.org/uco/core/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix types: <https://unifiedcyberontology.org/ontology/uco/types#> .
@prefix types: <https://ontology.unifiedcyberontology.org/uco/types/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<https://unifiedcyberontology.org/ontology/uco/core>
<https://ontology.unifiedcyberontology.org/uco/core>
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 <https://unifiedcyberontology.org/ontology/uco/vocabulary> ;
.

core:Annotation
Expand Down Expand Up @@ -164,20 +159,12 @@ core:EnclosingCompilation
rdfs:subClassOf core:Compilation ;
rdfs:label "EnclosingCompilation"@en ;
rdfs:comment "An enclosing compilation is a container for a grouping of things."@en ;
sh:property
[
sh:class core:UcoObject ;
sh:minCount "1"^^xsd:integer ;
sh:nodeKind sh:BlankNodeOrIRI ;
sh:path core:object ;
] ,
[
sh:datatype xsd:string ;
sh:maxCount "1"^^xsd:integer ;
sh:nodeKind sh:Literal ;
sh:path core:description ;
]
;
sh:property [
sh:class core:UcoObject ;
sh:minCount "1"^^xsd:integer ;
sh:nodeKind sh:BlankNodeOrIRI ;
sh:path core:object ;
] ;
sh:targetClass core:EnclosingCompilation ;
.

Expand Down
18 changes: 8 additions & 10 deletions ontology/identity/identity.ttl
Original file line number Diff line number Diff line change
@@ -1,23 +1,21 @@
# baseURI: https://unifiedcyberontology.org/ontology/uco/identity
# imports: https://unifiedcyberontology.org/ontology/uco/core
# imports: https://unifiedcyberontology.org/ontology/uco/location
# imports: https://ontology.unifiedcyberontology.org/uco/core
# imports: https://ontology.unifiedcyberontology.org/uco/location

@base <https://unifiedcyberontology.org/ontology/uco/identity> .
@prefix core: <https://unifiedcyberontology.org/ontology/uco/core#> .
@prefix identity: <https://unifiedcyberontology.org/ontology/uco/identity#> .
@prefix location: <https://unifiedcyberontology.org/ontology/uco/location#> .
@prefix core: <https://ontology.unifiedcyberontology.org/uco/core/> .
@prefix identity: <https://ontology.unifiedcyberontology.org/uco/identity/> .
@prefix location: <https://ontology.unifiedcyberontology.org/uco/location/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<https://unifiedcyberontology.org/ontology/uco/identity>
<https://ontology.unifiedcyberontology.org/uco/identity>
a owl:Ontology ;
rdfs:label "uco-identity"@en ;
owl:imports
<https://unifiedcyberontology.org/ontology/uco/core> ,
<https://unifiedcyberontology.org/ontology/uco/location>
<https://ontology.unifiedcyberontology.org/uco/core> ,
<https://ontology.unifiedcyberontology.org/uco/location>
;
.

Expand Down
12 changes: 5 additions & 7 deletions ontology/location/location.ttl
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
# baseURI: https://unifiedcyberontology.org/ontology/uco/location
# imports: https://unifiedcyberontology.org/ontology/uco/core
# imports: https://ontology.unifiedcyberontology.org/uco/core

@base <https://unifiedcyberontology.org/ontology/uco/location> .
@prefix core: <https://unifiedcyberontology.org/ontology/uco/core#> .
@prefix location: <https://unifiedcyberontology.org/ontology/uco/location#> .
@prefix core: <https://ontology.unifiedcyberontology.org/uco/core/> .
@prefix location: <https://ontology.unifiedcyberontology.org/uco/location/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<https://unifiedcyberontology.org/ontology/uco/location>
<https://ontology.unifiedcyberontology.org/uco/location>
a owl:Ontology ;
rdfs:label "uco-location"@en ;
owl:imports <https://unifiedcyberontology.org/ontology/uco/core> ;
owl:imports <https://ontology.unifiedcyberontology.org/uco/core> ;
.

location:GPSCoordinatesFacet
Expand Down
Loading

0 comments on commit babf5ab

Please sign in to comment.