Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue 596: Restructure Software class hierarchy for UCO 1.4.0 #597

Draft
wants to merge 10 commits into
base: develop
Choose a base branch
from
155 changes: 155 additions & 0 deletions ontology/uco/observable/observable.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -857,6 +857,14 @@ observable:BrowserCookieFacet
sh:targetClass observable:BrowserCookieFacet ;
.

observable:BuildUtility
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf observable:Software ;
.

observable:Calendar
a
owl:Class ,
Expand Down Expand Up @@ -1199,6 +1207,14 @@ observable:Code
sh:targetClass observable:Code ;
.

observable:Compiler
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf observable:Software ;
.

observable:CompressedStreamFacet
a
owl:Class ,
Expand Down Expand Up @@ -2208,6 +2224,14 @@ observable:DefinedEffectFacet
sh:targetClass observable:DefinedEffectFacet ;
.

observable:DeploymentScript
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf observable:Script ;
.

observable:Device
a
owl:Class ,
Expand Down Expand Up @@ -3989,6 +4013,25 @@ observable:LibraryFacet
sh:targetClass observable:LibraryFacet ;
.

observable:LinuxService
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf observable:Service ;
rdfs:label "LinuxService"@en ;
rdfs:comment "A Linux service is a specific Linux service (a computer program that operates in the background of a Linux operating system, similar to the way a UNIX daemon runs on UNIX). [based on observable:WindowsService]"@en ;
sh:targetClass observable:LinuxService ;
.

observable:LinuxTask
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf observable:Task ;
.

observable:MACAddress
a
owl:Class ,
Expand Down Expand Up @@ -5264,6 +5307,14 @@ observable:PUK
rdfs:range xsd:string ;
.

observable:Package
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf observable:Software ;
.

observable:PathRelationFacet
a
owl:Class ,
Expand Down Expand Up @@ -6016,6 +6067,14 @@ observable:SQLiteBlobFacet
sh:targetClass observable:SQLiteBlobFacet ;
.

observable:Script
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf observable:Software ;
.

observable:SecurityAppliance
a
owl:Class ,
Expand Down Expand Up @@ -6066,6 +6125,22 @@ 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:ShopListing
a
owl:Class ,
Expand Down Expand Up @@ -6147,6 +6222,14 @@ observable:Software
sh:targetClass observable:Software ;
.

observable:SoftwareBuild
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf observable:Software ;
.

observable:SoftwareFacet
a
owl:Class ,
Expand Down Expand Up @@ -6429,6 +6512,14 @@ observable:Tablet
sh:targetClass observable:Tablet ;
.

observable:Task
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf observable:Process ;
.

observable:TaskActionType
a
owl:Class ,
Expand Down Expand Up @@ -13677,3 +13768,67 @@ observable:xOriginatingIP
rdfs:range observable:ObservableObject ;
.

[]
a sh:NodeShape ;
sh:class observable:Process ;
sh:message "In UCO 2.0.0, uco-observable:ProcessThread will be a subclass of uco-observable:Process. In preparation for UCO 2.0.0, the additional type uco-observable:Process should be assigned to this node."@en ;
sh:severity sh:Warning ;
sh:targetClass observable:ProcessThread ;
.

[]
a sh:NodeShape ;
sh:class observable:Service ;
sh:message "In UCO 2.0.0, uco-observable:WindowsService will be a subclass of uco-observable:Service. In preparation for UCO 2.0.0, the additional type uco-observable:Service should be assigned to this node."@en ;
sh:severity sh:Warning ;
sh:targetClass observable:WindowsService ;
.

[]
a sh:NodeShape ;
sh:class observable:Software ;
sh:message "In UCO 2.0.0, uco-observable:Application will be a subclass of uco-observable:Software. In preparation for UCO 2.0.0, the additional type uco-observable:Software should be assigned to this node."@en ;
sh:severity sh:Warning ;
sh:targetClass observable:Application ;
.

[]
a sh:NodeShape ;
sh:class observable:Software ;
sh:message "In UCO 2.0.0, uco-observable:Code will be a subclass of uco-observable:Software. In preparation for UCO 2.0.0, the additional type uco-observable:Software should be assigned to this node."@en ;
sh:severity sh:Warning ;
sh:targetClass observable:Code ;
.

[]
a sh:NodeShape ;
sh:class observable:Software ;
sh:message "In UCO 2.0.0, uco-observable:Library will be a subclass of uco-observable:Software. In preparation for UCO 2.0.0, the additional type uco-observable:Software should be assigned to this node."@en ;
sh:severity sh:Warning ;
sh:targetClass observable:Library ;
.

[]
a sh:NodeShape ;
sh:class observable:Software ;
sh:message "In UCO 2.0.0, uco-observable:OperatingSystem will be a subclass of uco-observable:Software. In preparation for UCO 2.0.0, the additional type uco-observable:Software should be assigned to this node."@en ;
sh:severity sh:Warning ;
sh:targetClass observable:OperatingSystem ;
.

[]
a sh:NodeShape ;
sh:class observable:Software ;
sh:message "In UCO 2.0.0, uco-observable:Process will be a subclass of uco-observable:Software. In preparation for UCO 2.0.0, the additional type uco-observable:Software should be assigned to this node."@en ;
sh:severity sh:Warning ;
sh:targetClass observable:Process ;
.

[]
a sh:NodeShape ;
sh:class observable:Task ;
sh:message "In UCO 2.0.0, uco-observable:WindowsTask will be a subclass of uco-observable:Task. In preparation for UCO 2.0.0, the additional type uco-observable:Task should be assigned to this node."@en ;
sh:severity sh:Warning ;
sh:targetClass observable:WindowsTask ;
.

47 changes: 32 additions & 15 deletions tests/examples/observable_creation_time_PASS_validation.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,37 @@
[]
a sh:ValidationReport ;
sh:conforms "true"^^xsd:boolean ;
sh:result [
a sh:ValidationResult ;
sh:focusNode <http://example.org/kb/windows-thread-facet-4967ae35-f00b-49c8-9dd2-38e3bdf851e1> ;
sh:resultMessage "observable:creationTime is deprecated, and will be an error to use in UCO 2.0.0. observable:observableCreatedTime should be used instead."@en ;
sh:resultPath observable:creationTime ;
sh:resultSeverity sh:Warning ;
sh:sourceConstraintComponent sh:MaxCountConstraintComponent ;
sh:sourceShape [
a sh:PropertyShape ;
sh:maxCount "0"^^xsd:integer ;
sh:message "observable:creationTime is deprecated, and will be an error to use in UCO 2.0.0. observable:observableCreatedTime should be used instead."@en ;
sh:path observable:creationTime ;
sh:severity sh:Warning ;
] ;
] ;
sh:result
[
a sh:ValidationResult ;
sh:focusNode <http://example.org/kb/windows-thread-da52a01e-41cc-42d5-85be-ca14bfa10fd6> ;
sh:resultMessage "In UCO 2.0.0, uco-observable:ProcessThread will be a subclass of uco-observable:Process. In preparation for UCO 2.0.0, the additional type uco-observable:Process should be assigned to this node."@en ;
sh:resultSeverity sh:Warning ;
sh:sourceConstraintComponent sh:ClassConstraintComponent ;
sh:sourceShape [
a sh:NodeShape ;
sh:class observable:Process ;
sh:message "In UCO 2.0.0, uco-observable:ProcessThread will be a subclass of uco-observable:Process. In preparation for UCO 2.0.0, the additional type uco-observable:Process should be assigned to this node."@en ;
sh:severity sh:Warning ;
sh:targetClass observable:ProcessThread ;
] ;
sh:value <http://example.org/kb/windows-thread-da52a01e-41cc-42d5-85be-ca14bfa10fd6> ;
] ,
[
a sh:ValidationResult ;
sh:focusNode <http://example.org/kb/windows-thread-facet-4967ae35-f00b-49c8-9dd2-38e3bdf851e1> ;
sh:resultMessage "observable:creationTime is deprecated, and will be an error to use in UCO 2.0.0. observable:observableCreatedTime should be used instead."@en ;
sh:resultPath observable:creationTime ;
sh:resultSeverity sh:Warning ;
sh:sourceConstraintComponent sh:MaxCountConstraintComponent ;
sh:sourceShape [
a sh:PropertyShape ;
sh:maxCount "0"^^xsd:integer ;
sh:message "observable:creationTime is deprecated, and will be an error to use in UCO 2.0.0. observable:observableCreatedTime should be used instead."@en ;
sh:path observable:creationTime ;
sh:severity sh:Warning ;
] ;
]
;
.

4 changes: 4 additions & 0 deletions tests/examples/test_validation.py
Original file line number Diff line number Diff line change
Expand Up @@ -388,6 +388,10 @@ def test_observable_creation_time_PASS() -> None:
"observable_creation_time_PASS_validation.ttl",
True,
expected_focus_node_severities={
(
"http://example.org/kb/windows-thread-da52a01e-41cc-42d5-85be-ca14bfa10fd6",
str(NS_SH.Warning)
),
(
"http://example.org/kb/windows-thread-facet-4967ae35-f00b-49c8-9dd2-38e3bdf851e1",
str(NS_SH.Warning)
Expand Down
Loading