Skip to content

Commit

Permalink
Add initial draft of Software overhaul
Browse files Browse the repository at this point in the history
AJN: This is a transcription of Sean's suggested specific changes to
UCO, and will serve as a starting point for discussion markup.  I've
denoted Sean the patch-author because these changes were his suggestion
initially.

I enacted a few revisions in this patch that are either deviations are
additions to Sean's notes, and seemed necessary for the first patch:

* Concepts marked for removal, migration, and/or deletion are instead
  marked deprecated.  A follow-on patch will implement shapes for
  deprecation.
* I guessed on where the property `hasCharacterization` should be
  defined.
* Another revision is I guessed on how some of the new namespaces'
  direct-imports directions would have to be.
* The tool namesapce needed to pick up a stub reference to
  `ObservableObject`.

A follow-on patch will regenerate Make-managed files.

References:
* #583

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
  • Loading branch information
Sean Barnum authored and ajnelson-nist committed Feb 5, 2024
1 parent d909363 commit 528b5dc
Show file tree
Hide file tree
Showing 9 changed files with 722 additions and 157 deletions.
20 changes: 20 additions & 0 deletions ontology/uco/action/action.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -374,6 +374,26 @@ action:ArrayOfAction
sh:targetClass action:ArrayOfAction ;
.

action:Implement
a owl:Class ;
rdfs:subClassOf action:Action ;
.

action:Obfuscate
a owl:Class ;
rdfs:subClassOf action:Action ;
.

action:Plan
a owl:Class ;
rdfs:subClassOf action:Action ;
.

action:Respond
a owl:Class ;
rdfs:subClassOf action:Action ;
.

action:action
a owl:ObjectProperty ;
rdfs:label "action"@en ;
Expand Down
64 changes: 64 additions & 0 deletions ontology/uco/configuration/configuration.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,14 @@ configuration:ConfigurationEntry
) ;
.

configuration:CyberInfrastructureConfiguration
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf configuration:InfrastructureConfiguration ;
.

configuration:Dependency
a
owl:Class ,
Expand All @@ -140,6 +148,62 @@ configuration:Dependency
sh:targetClass configuration:Dependency ;
.

configuration:DeploymentConfiguration
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf configuration:Configuration ;
.

configuration:EnvironmentConfiguration
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf configuration:Configuration ;
.

configuration:InfrastructureConfiguration
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf configuration:Configuration ;
.

configuration:ObservableObjectConfiguration
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf configuration:Configuration ;
.

configuration:ServiceConfiguration
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf configuration:ObservableObjectConfiguration ;
.

configuration:SoftwareConfiguration
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf configuration:ObservableObjectConfiguration ;
.

configuration:SoftwareEnvironmentConfiguration
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf configuration:EnvironmentConfiguration ;
.

configuration:configurationEntry
a owl:ObjectProperty ;
rdfs:comment "A single configuration setting entry item for a tool or other software."@en ;
Expand Down
7 changes: 7 additions & 0 deletions ontology/uco/core/core.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -598,6 +598,13 @@ core:externalReference
rdfs:range core:ExternalReference ;
.

core:hasCharacterization
a owl:ObjectProperty ;
rdfs:comment "TODO - references the Software or Device that make up the actual tool"@en ;
rdfs:domain core:UcoObject ;
rdfs:range core:UcoObject ;
.

core:hasFacet
a
owl:ObjectProperty ,
Expand Down
61 changes: 61 additions & 0 deletions ontology/uco/deployment/deployment.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# imports: https://ontology.unifiedcyberontology.org/uco/observable/1.3.0

@prefix core: <https://ontology.unifiedcyberontology.org/uco/core/> .
@prefix deployment: <https://ontology.unifiedcyberontology.org/uco/deployment/> .
@prefix observable: <https://ontology.unifiedcyberontology.org/uco/observable/> .
@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://ontology.unifiedcyberontology.org/uco/deployment>
a owl:Ontology ;
rdfs:label "uco-deployment"@en ;
rdfs:comment "TODO"@en ;
owl:imports observable:1.3.0 ;
owl:versionIRI deployment:1.3.0 ;
.

deployment:ArtifactDeployment
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf deployment:Deployment ;
.

deployment:Deployment
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf core:UcoObject ;
sh:property
[
sh:class core:UcoObject ;
sh:nodeKind sh:IRI ;
sh:path deployment:deploymentContext ;
] ,
[
sh:class observable:Deploy ;
sh:maxCount "1"^^xsd:integer ;
sh:nodeKind sh:IRI ;
sh:path deployment:deploymentAction ;
] ,
[
sh:class observable:ObservableObject ;
sh:nodeKind sh:IRI ;
sh:path deployment:deploymentObject ;
]
;
.

deployment:SoftwareDeployment
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf deployment:Deployment ;
.

38 changes: 38 additions & 0 deletions ontology/uco/environment/environment.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# imports: https://ontology.unifiedcyberontology.org/uco/core/1.3.0

@prefix core: <https://ontology.unifiedcyberontology.org/uco/core/> .
@prefix environment: <https://ontology.unifiedcyberontology.org/uco/environment/> .
@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://ontology.unifiedcyberontology.org/uco/environment>
a owl:Ontology ;
rdfs:label "uco-environment"@en ;
rdfs:comment "TODO"@en ;
owl:imports core:1.3.0 ;
owl:versionIRI environment:1.3.0 ;
.

environment:Environment
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf core:UcoObject ;
sh:property [
sh:class core:UcoObject ;
sh:path core:hasCharacterization ;
] ;
.

environment:SoftwareEnvironment
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf environment:Environment ;
.

42 changes: 42 additions & 0 deletions ontology/uco/infrastructure/infrastructure.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# imports: https://ontology.unifiedcyberontology.org/uco/core/1.3.0

@prefix core: <https://ontology.unifiedcyberontology.org/uco/core/> .
@prefix infrastructure: <https://ontology.unifiedcyberontology.org/uco/infrastructure/> .
@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://ontology.unifiedcyberontology.org/uco/infrastructure>
a owl:Ontology ;
rdfs:label "uco-infrastructure"@en ;
rdfs:comment "TODO"@en ;
owl:imports core:1.3.0 ;
owl:versionIRI infrastructure:1.3.0 ;
.

infrastructure:CyberInfrastructure
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf infrastructure:Infrastructure ;
.

infrastructure:Infrastructure
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf core:UcoObject ;
.

infrastructure:PhysicalInfrastructure
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf infrastructure:Infrastructure ;
.

6 changes: 6 additions & 0 deletions ontology/uco/master/uco.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@
# imports: https://ontology.unifiedcyberontology.org/uco/analysis/1.3.0
# imports: https://ontology.unifiedcyberontology.org/uco/configuration/1.3.0
# imports: https://ontology.unifiedcyberontology.org/uco/core/1.3.0
# imports: https://ontology.unifiedcyberontology.org/uco/deployment/1.3.0
# imports: https://ontology.unifiedcyberontology.org/uco/environment/1.3.0
# imports: https://ontology.unifiedcyberontology.org/uco/identity/1.3.0
# imports: https://ontology.unifiedcyberontology.org/uco/infrastructure/1.3.0
# imports: https://ontology.unifiedcyberontology.org/uco/location/1.3.0
# imports: https://ontology.unifiedcyberontology.org/uco/marking/1.3.0
# imports: https://ontology.unifiedcyberontology.org/uco/observable/1.3.0
Expand Down Expand Up @@ -33,7 +36,10 @@
<https://ontology.unifiedcyberontology.org/uco/analysis/1.3.0> ,
<https://ontology.unifiedcyberontology.org/uco/configuration/1.3.0> ,
<https://ontology.unifiedcyberontology.org/uco/core/1.3.0> ,
<https://ontology.unifiedcyberontology.org/uco/deployment/1.3.0> ,
<https://ontology.unifiedcyberontology.org/uco/environment/1.3.0> ,
<https://ontology.unifiedcyberontology.org/uco/identity/1.3.0> ,
<https://ontology.unifiedcyberontology.org/uco/infrastructure/1.3.0> ,
<https://ontology.unifiedcyberontology.org/uco/location/1.3.0> ,
<https://ontology.unifiedcyberontology.org/uco/marking/1.3.0> ,
<https://ontology.unifiedcyberontology.org/uco/observable/1.3.0> ,
Expand Down
Loading

0 comments on commit 528b5dc

Please sign in to comment.