From 528b5dcd915eacf2e3bd072bd6d5b2d189c7cf88 Mon Sep 17 00:00:00 2001 From: Sean Barnum Date: Mon, 5 Feb 2024 15:51:37 -0500 Subject: [PATCH] Add initial draft of Software overhaul 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: * https://github.com/ucoProject/UCO/issues/583 Signed-off-by: Alex Nelson --- ontology/uco/action/action.ttl | 20 + ontology/uco/configuration/configuration.ttl | 64 +++ ontology/uco/core/core.ttl | 7 + ontology/uco/deployment/deployment.ttl | 61 +++ ontology/uco/environment/environment.ttl | 38 ++ .../uco/infrastructure/infrastructure.ttl | 42 ++ ontology/uco/master/uco.ttl | 6 + ontology/uco/observable/observable.ttl | 424 +++++++++++++++++- ontology/uco/tool/tool.ttl | 217 +++------ 9 files changed, 722 insertions(+), 157 deletions(-) create mode 100644 ontology/uco/deployment/deployment.ttl create mode 100644 ontology/uco/environment/environment.ttl create mode 100644 ontology/uco/infrastructure/infrastructure.ttl diff --git a/ontology/uco/action/action.ttl b/ontology/uco/action/action.ttl index c2da040a..c0f97fdf 100644 --- a/ontology/uco/action/action.ttl +++ b/ontology/uco/action/action.ttl @@ -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 ; diff --git a/ontology/uco/configuration/configuration.ttl b/ontology/uco/configuration/configuration.ttl index 91d24a74..d88c884e 100644 --- a/ontology/uco/configuration/configuration.ttl +++ b/ontology/uco/configuration/configuration.ttl @@ -115,6 +115,14 @@ configuration:ConfigurationEntry ) ; . +configuration:CyberInfrastructureConfiguration + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf configuration:InfrastructureConfiguration ; + . + configuration:Dependency a owl:Class , @@ -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 ; diff --git a/ontology/uco/core/core.ttl b/ontology/uco/core/core.ttl index e061bd54..4f4ab185 100644 --- a/ontology/uco/core/core.ttl +++ b/ontology/uco/core/core.ttl @@ -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 , diff --git a/ontology/uco/deployment/deployment.ttl b/ontology/uco/deployment/deployment.ttl new file mode 100644 index 00000000..8efc5bb5 --- /dev/null +++ b/ontology/uco/deployment/deployment.ttl @@ -0,0 +1,61 @@ +# imports: https://ontology.unifiedcyberontology.org/uco/observable/1.3.0 + +@prefix core: . +@prefix deployment: . +@prefix observable: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix sh: . +@prefix xsd: . + + + 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 ; + . + diff --git a/ontology/uco/environment/environment.ttl b/ontology/uco/environment/environment.ttl new file mode 100644 index 00000000..1b1da601 --- /dev/null +++ b/ontology/uco/environment/environment.ttl @@ -0,0 +1,38 @@ +# imports: https://ontology.unifiedcyberontology.org/uco/core/1.3.0 + +@prefix core: . +@prefix environment: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix sh: . +@prefix xsd: . + + + 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 ; + . + diff --git a/ontology/uco/infrastructure/infrastructure.ttl b/ontology/uco/infrastructure/infrastructure.ttl new file mode 100644 index 00000000..1c97a8b5 --- /dev/null +++ b/ontology/uco/infrastructure/infrastructure.ttl @@ -0,0 +1,42 @@ +# imports: https://ontology.unifiedcyberontology.org/uco/core/1.3.0 + +@prefix core: . +@prefix infrastructure: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix sh: . +@prefix xsd: . + + + 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 ; + . + diff --git a/ontology/uco/master/uco.ttl b/ontology/uco/master/uco.ttl index 61346b1b..6eb4dc5b 100644 --- a/ontology/uco/master/uco.ttl +++ b/ontology/uco/master/uco.ttl @@ -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 @@ -33,7 +36,10 @@ , , , + , + , , + , , , , diff --git a/ontology/uco/observable/observable.ttl b/ontology/uco/observable/observable.ttl index fe9d3419..60b9dcbf 100644 --- a/ontology/uco/observable/observable.ttl +++ b/ontology/uco/observable/observable.ttl @@ -1,7 +1,9 @@ # imports: https://ontology.unifiedcyberontology.org/uco/action/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/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/types/1.3.0 # imports: https://ontology.unifiedcyberontology.org/uco/vocabulary/1.3.0 @@ -10,7 +12,9 @@ @prefix co: . @prefix configuration: . @prefix core: . +@prefix environment: . @prefix identity: . +@prefix infrastructure: . @prefix location: . @prefix observable: . @prefix owl: . @@ -30,7 +34,9 @@ action:1.3.0 , configuration:1.3.0 , core:1.3.0 , + environment:1.3.0 , identity:1.3.0 , + infrastructure:1.3.0 , location:1.3.0 , types:1.3.0 , vocabulary:1.3.0 @@ -232,6 +238,14 @@ observable:Address sh:targetClass observable:Address ; . +observable:Alert + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:ObservableAction ; + . + observable:AlternateDataStream a owl:Class , @@ -418,7 +432,7 @@ observable:Application owl:Class , sh:NodeShape ; - rdfs:subClassOf observable:ObservableObject ; + rdfs:subClassOf observable:Software ; rdfs:label "Application"@en ; rdfs:comment "An application is a particular software program designed for end users."@en ; sh:targetClass observable:Application ; @@ -666,6 +680,14 @@ observable:AutonomousSystemFacet sh:targetClass observable:AutonomousSystemFacet ; . +observable:Beacon + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:ObservableAction ; + . + observable:BlackberryPhone a owl:Class , @@ -858,6 +880,22 @@ observable:BrowserCookieFacet sh:targetClass observable:BrowserCookieFacet ; . +observable:Build + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:ObservableAction ; + . + +observable:BuildUtility + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:Software ; + . + observable:Calendar a owl:Class , @@ -1194,12 +1232,20 @@ observable:Code owl:Class , sh:NodeShape ; - rdfs:subClassOf observable:ObservableObject ; + rdfs:subClassOf observable:Software ; rdfs:label "Code"@en ; rdfs:comment "Code is a direct representation (source, byte or binary) of a collection of computer instructions that form software which tell a computer how to work. [based on https://en.wikipedia.org/wiki/Software]"@en ; sh:targetClass observable:Code ; . +observable:Compiler + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:Software ; + . + observable:CompressedStreamFacet a owl:Class , @@ -1379,6 +1425,51 @@ observable:ComputerSpecificationFacet sh:targetClass observable:ComputerSpecificationFacet ; . +observable:Configure + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:ObservableAction ; + sh:property [ + sh:class configuration:Configuration ; + sh:nodeKind sh:IRI ; + sh:path observable:toConfiguration ; + ] ; + . + +observable:ConfigureCyberInfrastructure + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:ConfigureInfrastructure ; + . + +observable:ConfigureEnvironment + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:Configure ; + . + +observable:ConfigureInfrastructure + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:Configure ; + . + +observable:ConfigureSoftware + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:Configure ; + . + observable:ConfiguredSoftware a owl:Class , @@ -2209,6 +2300,66 @@ observable:DefinedEffectFacet sh:targetClass observable:DefinedEffectFacet ; . +observable:Deploy + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:ObservableAction ; + sh:property + [ + sh:class environment:Environment ; + sh:nodeKind sh:IRI ; + sh:path observable:targetEnvironment ; + ] , + [ + sh:class infrastructure:Infrastructure ; + sh:nodeKind sh:IRI ; + sh:path observable:targetInfrastructure ; + ] + ; + . + +observable:DeployArtifact + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:Deploy ; + . + +observable:DeployCyberInfrastructure + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:DeployInfrastructure ; + . + +observable:DeployInfrastructure + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:Deploy ; + . + +observable:DeploySoftware + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:Deploy ; + . + +observable:DeploymentScript + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:Script ; + . + observable:Device a owl:Class , @@ -2252,6 +2403,12 @@ observable:DeviceFacet sh:maxCount "1"^^xsd:integer ; sh:nodeKind sh:Literal ; sh:path observable:serialNumber ; + ] , + [ + sh:datatype xsd:string ; + sh:maxCount "1"^^xsd:integer ; + sh:nodeKind sh:Literal ; + sh:path observable:version ; ] ; sh:targetClass observable:DeviceFacet ; @@ -2945,6 +3102,14 @@ observable:EnvironmentVariable sh:targetClass observable:EnvironmentVariable ; . +observable:Evaluate + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:ObservableAction ; + . + observable:EventLog a owl:Class , @@ -3058,6 +3223,38 @@ observable:EventRecordFacet sh:targetClass observable:EventRecordFacet ; . +observable:Execute + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:ObservableAction ; + . + +observable:ExecuteScript + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:ExecuteSoftware ; + . + +observable:ExecuteSoftware + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:Execute ; + . + +observable:ExecuteSoftwareDeploymentScript + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:ExecuteScript ; + . + observable:ExtInodeFacet a owl:Class , @@ -3966,7 +4163,7 @@ observable:Library owl:Class , sh:NodeShape ; - rdfs:subClassOf observable:ObservableObject ; + rdfs:subClassOf observable:Software ; rdfs:label "Library"@en ; rdfs:comment "A library is a suite of data and programming code that is used to develop software programs and applications. [based on https://www.techopedia.com/definition/3828/software-library]"@en ; sh:targetClass observable:Library ; @@ -3989,6 +4186,14 @@ observable:LibraryFacet sh:targetClass observable:LibraryFacet ; . +observable:LinuxTask + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:Task ; + . + observable:MACAddress a owl:Class , @@ -4025,6 +4230,38 @@ observable:MSISDNType rdfs:range xsd:string ; . +observable:Manage + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:ObservableAction ; + . + +observable:ManageEnvironment + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:Manage ; + . + +observable:ManageInfrastructure + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:Manage ; + . + +observable:ManageSoftware + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:Manage ; + . + observable:Memory a owl:Class , @@ -5128,7 +5365,7 @@ observable:OperatingSystem owl:Class , sh:NodeShape ; - rdfs:subClassOf observable:ObservableObject ; + rdfs:subClassOf observable:Software ; rdfs:label "OperatingSystem"@en ; rdfs:comment "An operating system is the software that manages computer hardware, software resources, and provides common services for computer programs. [based on https://en.wikipedia.org/wiki/Operating_system]"@en ; sh:targetClass observable:OperatingSystem ; @@ -5267,6 +5504,14 @@ observable:PUK rdfs:range xsd:string ; . +observable:Package + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:Software ; + . + observable:PathRelationFacet a owl:Class , @@ -5349,7 +5594,7 @@ observable:Process owl:Class , sh:NodeShape ; - rdfs:subClassOf observable:ObservableObject ; + rdfs:subClassOf observable:Software ; rdfs:label "Process"@en ; rdfs:comment "A process is an instance of a computer program executed on an operating system."@en ; sh:targetClass observable:Process ; @@ -5444,7 +5689,7 @@ observable:ProcessThread owl:Class , sh:NodeShape ; - rdfs:subClassOf observable:ObservableObject ; + rdfs:subClassOf observable:Process ; rdfs:label "ProcessThread"@en ; rdfs:comment "A process thread is the smallest sequence of programmed instructions that can be managed independently by a scheduler on a computer, which is typically a part of the operating system. It is a component of a process. Multiple threads can exist within one process, executing concurrently and sharing resources such as memory, while different processes do not share these resources. In particular, the threads of a process share its executable code and the values of its dynamically allocated variables and non-thread-local global variables at any given time. [based on https://en.wikipedia.org/wiki/Thread_(computing)]"@en ; sh:targetClass observable:ProcessThread ; @@ -5836,6 +6081,14 @@ observable:ReparsePoint sh:targetClass observable:ReparsePoint ; . +observable:RollbackSoftwareDeployment + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:Deploy ; + . + observable:SIMCard a owl:Class , @@ -6019,6 +6272,14 @@ observable:SQLiteBlobFacet sh:targetClass observable:SQLiteBlobFacet ; . +observable:Script + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:Software ; + . + observable:SecurityAppliance a owl:Class , @@ -6069,6 +6330,46 @@ observable:Server sh:targetClass observable:Server ; . +observable:Service + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:Process ; + . + +observable:ServicePack + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:Software ; + . + +observable:SetConfigurationEntry + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:ObservableAction ; + . + +observable:SetCyberEnvironmentConfigurationEntry + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:SetConfigurationEntry ; + . + +observable:SetEnvironmentConfigurationEntry + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:SetConfigurationEntry ; + . + observable:ShopListing a owl:Class , @@ -6150,6 +6451,74 @@ observable:Software sh:targetClass observable:Software ; . +observable:SoftwareBuild + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:Software ; + . + +observable:SoftwareBuildFacet + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf core:Facet ; + sh:property + [ + sh:class observable:BuildUtility ; + sh:nodeKind sh:IRI ; + sh:path observable:buildUtility ; + ] , + [ + sh:class observable:Compiler ; + sh:nodeKind sh:IRI ; + sh:path observable:compiler ; + ] , + [ + sh:class observable:Library ; + sh:nodeKind sh:IRI ; + sh:path observable:library ; + ] , + [ + sh:class observable:Package ; + sh:nodeKind sh:IRI ; + sh:path observable:package ; + ] , + [ + sh:class observable:Script ; + sh:maxCount "1"^^xsd:integer ; + sh:nodeKind sh:IRI ; + sh:path observable:buildScript ; + ] , + [ + sh:datatype xsd:dateTime ; + sh:maxCount "1"^^xsd:integer ; + sh:nodeKind sh:Literal ; + sh:path observable:compilationDate ; + ] , + [ + sh:datatype xsd:string ; + sh:maxCount "1"^^xsd:integer ; + sh:nodeKind sh:Literal ; + sh:path observable:buildOutputLog ; + ] , + [ + sh:datatype xsd:string ; + sh:maxCount "1"^^xsd:integer ; + sh:nodeKind sh:Literal ; + sh:path observable:buildProject ; + ] , + [ + sh:datatype xsd:string ; + sh:maxCount "1"^^xsd:integer ; + sh:nodeKind sh:Literal ; + sh:path observable:version ; + ] + ; + . + observable:SoftwareFacet a owl:Class , @@ -6193,6 +6562,14 @@ observable:SoftwareFacet sh:targetClass observable:SoftwareFacet ; . +observable:StartCyberInfrastructure + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:ManageInfrastructure ; + . + observable:StateChangeEffectFacet a owl:Class , @@ -6218,6 +6595,14 @@ observable:StateChangeEffectFacet sh:targetClass observable:StateChangeEffectFacet ; . +observable:StopCyberInfrastructure + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:ManageInfrastructure ; + . + observable:StorageMedium a owl:Class , @@ -6432,6 +6817,14 @@ observable:Tablet sh:targetClass observable:Tablet ; . +observable:Task + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:Process ; + . + observable:TaskActionType a owl:Class , @@ -7288,6 +7681,14 @@ observable:ValuesEnumeratedEffectFacet sh:targetClass observable:ValuesEnumeratedEffectFacet ; . +observable:VerifySoftwareDeployment + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf observable:Evaluate ; + . + observable:Volume a owl:Class , @@ -8479,7 +8880,7 @@ observable:WindowsService owl:Class , sh:NodeShape ; - rdfs:subClassOf observable:ObservableObject ; + rdfs:subClassOf observable:Service ; rdfs:label "WindowsService"@en ; rdfs:comment "A Windows service is a specific Windows service (a computer program that operates in the background of a Windows operating system, similar to the way a UNIX daemon runs on UNIX). [based on https://en.wikipedia.org/wiki/Windows_service]"@en ; sh:targetClass observable:WindowsService ; @@ -8604,7 +9005,7 @@ observable:WindowsTask owl:Class , sh:NodeShape ; - rdfs:subClassOf observable:ObservableObject ; + rdfs:subClassOf observable:Task ; rdfs:label "WindowsTask"@en ; rdfs:comment "A Windows task is a process that is scheduled to execute on a Windows operating system by the Windows Task Scheduler. [based on http://msdn.microsoft.com/en-us/library/windows/desktop/aa381311(v=vs.85).aspx]"@en ; sh:targetClass observable:WindowsTask ; @@ -9764,6 +10165,13 @@ observable:browserUserProfile rdfs:range xsd:string ; . +observable:buildOutputLog + a owl:DatatypeProperty ; + rdfs:label "buildOutputLog"@en ; + rdfs:comment "The output log of the build process for a software."@en ; + rdfs:range xsd:string ; + . + observable:byteOrder a owl:DatatypeProperty ; rdfs:label "byteOrder"@en ; diff --git a/ontology/uco/tool/tool.ttl b/ontology/uco/tool/tool.ttl index c690fdc8..76fd0fe4 100644 --- a/ontology/uco/tool/tool.ttl +++ b/ontology/uco/tool/tool.ttl @@ -4,6 +4,7 @@ @prefix configuration: . @prefix core: . @prefix identity: . +@prefix observable: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @@ -23,6 +24,11 @@ owl:versionIRI tool:1.3.0 ; . +observable:ObservableObject + a owl:Class ; + rdfs:isDefinedBy ; + . + tool:AnalyticTool a owl:Class , @@ -54,139 +60,36 @@ tool:BuildFacet tool:BuildInformationType a owl:Class , + owl:DeprecatedClass , sh:NodeShape ; rdfs:subClassOf core:UcoInherentCharacterizationThing ; rdfs:label "BuildInformationType"@en ; rdfs:comment "A build information type is a grouping of characteristics that describe how a particular version of software was converted from source code to executable code."@en ; - sh:property - [ - sh:class configuration:Configuration ; - sh:maxCount "1"^^xsd:integer ; - sh:nodeKind sh:IRI ; - sh:path tool:buildConfiguration ; - ] , - [ - sh:class tool:BuildUtilityType ; - sh:maxCount "1"^^xsd:integer ; - sh:nodeKind sh:IRI ; - sh:path tool:buildUtility ; - ] , - [ - sh:class tool:CompilerType ; - sh:nodeKind sh:IRI ; - sh:path tool:compilers ; - ] , - [ - sh:class tool:LibraryType ; - sh:nodeKind sh:IRI ; - sh:path tool:libraries ; - ] , - [ - sh:datatype xsd:dateTime ; - sh:maxCount "1"^^xsd:integer ; - sh:nodeKind sh:Literal ; - sh:path tool:compilationDate ; - ] , - [ - sh:datatype xsd:string ; - sh:maxCount "1"^^xsd:integer ; - sh:nodeKind sh:Literal ; - sh:path tool:buildID ; - ] , - [ - sh:datatype xsd:string ; - sh:maxCount "1"^^xsd:integer ; - sh:nodeKind sh:Literal ; - sh:path tool:buildLabel ; - ] , - [ - sh:datatype xsd:string ; - sh:maxCount "1"^^xsd:integer ; - sh:nodeKind sh:Literal ; - sh:path tool:buildOutputLog ; - ] , - [ - sh:datatype xsd:string ; - sh:maxCount "1"^^xsd:integer ; - sh:nodeKind sh:Literal ; - sh:path tool:buildProject ; - ] , - [ - sh:datatype xsd:string ; - sh:maxCount "1"^^xsd:integer ; - sh:nodeKind sh:Literal ; - sh:path tool:buildScript ; - ] , - [ - sh:datatype xsd:string ; - sh:maxCount "1"^^xsd:integer ; - sh:nodeKind sh:Literal ; - sh:path tool:buildVersion ; - ] - ; sh:targetClass tool:BuildInformationType ; . tool:BuildUtilityType a owl:Class , + owl:DeprecatedClass , sh:NodeShape ; rdfs:subClassOf core:UcoInherentCharacterizationThing ; rdfs:label "BuildUtilityType"@en ; rdfs:comment "A build utility type characterizes the tool used to convert from source code to executable code for a particular version of software."@en ; - sh:property - [ - sh:datatype xsd:string ; - sh:maxCount "1"^^xsd:integer ; - sh:nodeKind sh:Literal ; - sh:path tool:buildUtilityName ; - ] , - [ - sh:datatype xsd:string ; - sh:maxCount "1"^^xsd:integer ; - sh:nodeKind sh:Literal ; - sh:path tool:cpeid ; - ] , - [ - sh:datatype xsd:string ; - sh:maxCount "1"^^xsd:integer ; - sh:nodeKind sh:Literal ; - sh:path tool:swid ; - ] - ; sh:targetClass tool:BuildUtilityType ; . tool:CompilerType a owl:Class , + owl:DeprecatedClass , sh:NodeShape ; rdfs:subClassOf core:UcoInherentCharacterizationThing ; rdfs:label "CompilerType"@en ; rdfs:comment "A compiler type is a grouping of characteristics unique to a specific program that translates computer code written in one programming language (the source language) into another language (the target language). Typically a program that translates source code from a high-level programming language to a lower-level language (e.g., assembly language, object code, or machine code) to create an executable program. [based on https://en.wikipedia.org/wiki/Compiler]"@en ; - sh:property - [ - sh:datatype xsd:string ; - sh:maxCount "1"^^xsd:integer ; - sh:nodeKind sh:Literal ; - sh:path tool:compilerInformalDescription ; - ] , - [ - sh:datatype xsd:string ; - sh:maxCount "1"^^xsd:integer ; - sh:nodeKind sh:Literal ; - sh:path tool:cpeid ; - ] , - [ - sh:datatype xsd:string ; - sh:maxCount "1"^^xsd:integer ; - sh:nodeKind sh:Literal ; - sh:path tool:swid ; - ] - ; sh:targetClass tool:CompilerType ; . @@ -229,25 +132,12 @@ tool:DefensiveTool tool:LibraryType a owl:Class , + owl:DeprecatedClass , sh:NodeShape ; rdfs:subClassOf core:UcoInherentCharacterizationThing ; rdfs:label "LibraryType"@en ; rdfs:comment "A library type is a grouping of characteristics unique to a collection of resources incorporated into the build of a software."@en ; - sh:property - [ - sh:datatype xsd:string ; - sh:maxCount "1"^^xsd:integer ; - sh:nodeKind sh:Literal ; - sh:path tool:libraryName ; - ] , - [ - sh:datatype xsd:string ; - sh:maxCount "1"^^xsd:integer ; - sh:nodeKind sh:Literal ; - sh:path tool:libraryVersion ; - ] - ; sh:targetClass tool:LibraryType ; . @@ -272,33 +162,20 @@ tool:Tool rdfs:comment "A tool is an element of hardware and/or software utilized to carry out a particular function."@en ; sh:property [ - sh:class identity:Identity ; - sh:maxCount "1"^^xsd:integer ; + sh:class observable:ObservableObject ; sh:nodeKind sh:IRI ; - sh:path tool:creator ; + sh:path core:hasCharacterization ; ] , [ sh:datatype xsd:anyURI ; sh:nodeKind sh:Literal ; sh:path tool:references ; ] , - [ - sh:datatype xsd:string ; - sh:maxCount "1"^^xsd:integer ; - sh:nodeKind sh:Literal ; - sh:path tool:servicePack ; - ] , [ sh:datatype xsd:string ; sh:maxCount "1"^^xsd:integer ; sh:nodeKind sh:Literal ; sh:path tool:toolType ; - ] , - [ - sh:datatype xsd:string ; - sh:maxCount "1"^^xsd:integer ; - sh:nodeKind sh:Literal ; - sh:path tool:version ; ] ; sh:targetClass tool:Tool ; @@ -312,7 +189,10 @@ tool:buildConfiguration . tool:buildID - a owl:DatatypeProperty ; + a + owl:DatatypeProperty , + owl:DeprecatedProperty + ; rdfs:label "buildID"@en ; rdfs:comment "An externally defined unique identifier for a particular build of a software."@en ; rdfs:range xsd:string ; @@ -326,14 +206,20 @@ tool:buildInformation . tool:buildLabel - a owl:DatatypeProperty ; + a + owl:DatatypeProperty , + owl:DeprecatedProperty + ; rdfs:label "buildLabel"@en ; rdfs:comment "Relevant label for a particular build of a particular software."@en ; rdfs:range xsd:string ; . tool:buildOutputLog - a owl:DatatypeProperty ; + a + owl:DatatypeProperty , + owl:DeprecatedProperty + ; rdfs:label "buildOutputLog"@en ; rdfs:comment "The output log of the build process for a software."@en ; rdfs:range xsd:string ; @@ -361,7 +247,10 @@ tool:buildUtility . tool:buildUtilityName - a owl:DatatypeProperty ; + a + owl:DatatypeProperty , + owl:DeprecatedProperty + ; rdfs:label "buildUtilityName"@en ; rdfs:comment "The informally defined name of the utility used to build a particular software."@en ; rdfs:range xsd:string ; @@ -382,7 +271,10 @@ tool:compilationDate . tool:compilerInformalDescription - a owl:DatatypeProperty ; + a + owl:DatatypeProperty , + owl:DeprecatedProperty + ; rdfs:label "compilerInformalDescription"@en ; rdfs:comment "An informal description of a compiler."@en ; rdfs:range xsd:string ; @@ -396,56 +288,80 @@ tool:compilers . tool:cpeid - a owl:DatatypeProperty ; + a + owl:DatatypeProperty , + owl:DeprecatedProperty + ; rdfs:label "cpeid"@en ; rdfs:comment "Specifies the Common Platform Enumeration identifier for the software."@en ; rdfs:range xsd:string ; . tool:creator - a owl:ObjectProperty ; + a + owl:ObjectProperty , + owl:DeprecatedProperty + ; rdfs:label "creator"@en ; rdfs:comment "The creator organization for a particular tool."@en ; rdfs:range identity:Identity ; . tool:libraries - a owl:ObjectProperty ; + a + owl:ObjectProperty , + owl:DeprecatedProperty + ; rdfs:label "libraries"@en ; rdfs:comment "The libraries incorporated into a particular build of a software."@en ; rdfs:range tool:LibraryType ; . tool:libraryName - a owl:DatatypeProperty ; + a + owl:DatatypeProperty , + owl:DeprecatedProperty + ; rdfs:label "libraryName"@en ; rdfs:comment "The name of the library."@en ; rdfs:range xsd:string ; . tool:libraryVersion - a owl:DatatypeProperty ; + a + owl:DatatypeProperty , + owl:DeprecatedProperty + ; rdfs:label "libraryVersion"@en ; rdfs:comment "The version of the library."@en ; rdfs:range xsd:string ; . tool:references - a owl:DatatypeProperty ; + a + owl:DatatypeProperty , + owl:DeprecatedProperty + ; rdfs:label "references"@en ; rdfs:comment "References to information describing a particular tool."@en ; rdfs:range xsd:anyURI ; . tool:servicePack - a owl:DatatypeProperty ; + a + owl:DatatypeProperty , + owl:DeprecatedProperty + ; rdfs:label "servicePack"@en ; rdfs:comment "An appropriate service pack descriptor for a particular tool."@en ; rdfs:range xsd:string ; . tool:swid - a owl:DatatypeProperty ; + a + owl:DatatypeProperty , + owl:DeprecatedProperty + ; rdfs:label "swid"@en ; rdfs:comment "Specifies the SWID tag for the software."@en ; rdfs:range xsd:string ; @@ -459,7 +375,10 @@ tool:toolType . tool:version - a owl:DatatypeProperty ; + a + owl:DatatypeProperty , + owl:DeprecatedProperty + ; rdfs:label "version"@en ; rdfs:comment "An appropriate version descriptor of a particular tool."@en ; rdfs:range xsd:string ;