Skip to content

Commit

Permalink
Merge branch 'Feature-Issue-596' into unstable
Browse files Browse the repository at this point in the history
  • Loading branch information
ajnelson-nist committed May 10, 2024
2 parents afb1aab + bc4b68d commit 86e1cbd
Show file tree
Hide file tree
Showing 3 changed files with 192 additions and 15 deletions.
155 changes: 155 additions & 0 deletions ontology/uco/observable/observable.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -428,6 +428,14 @@ observable:Application
rdfs:subClassOf observable:ObservableObject ;
rdfs:label "Application"@en ;
rdfs:comment "An application is a particular software program designed for end users."@en ;
rdfs:seeAlso [
a sh:NodeShape ;
rdfs:comment "This anonymous shape is attached with rdfs:seeAlso in order to associate a warning-severity class constraint, that will only be necessary as an independent shape until UCO 2.0.0."@en ;
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 ;
] ;
sh:targetClass observable:Application ;
.

Expand Down Expand Up @@ -865,6 +873,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 @@ -1204,9 +1220,25 @@ observable:Code
rdfs:subClassOf observable:ObservableObject ;
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 ;
rdfs:seeAlso [
a sh:NodeShape ;
rdfs:comment "This anonymous shape is attached with rdfs:seeAlso in order to associate a warning-severity class constraint, that will only be necessary as an independent shape until UCO 2.0.0."@en ;
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 ;
] ;
sh:targetClass observable:Code ;
.

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

observable:CompressedStreamFacet
a
owl:Class ,
Expand Down Expand Up @@ -2216,6 +2248,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 @@ -3977,6 +4017,14 @@ observable:Library
rdfs:subClassOf observable:ObservableObject ;
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 ;
rdfs:seeAlso [
a sh:NodeShape ;
rdfs:comment "This anonymous shape is attached with rdfs:seeAlso in order to associate a warning-severity class constraint, that will only be necessary as an independent shape until UCO 2.0.0."@en ;
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 ;
] ;
sh:targetClass observable:Library ;
.

Expand All @@ -3997,6 +4045,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 @@ -5150,6 +5217,14 @@ observable:OperatingSystem
rdfs:subClassOf observable:ObservableObject ;
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 ;
rdfs:seeAlso [
a sh:NodeShape ;
rdfs:comment "This anonymous shape is attached with rdfs:seeAlso in order to associate a warning-severity class constraint, that will only be necessary as an independent shape until UCO 2.0.0."@en ;
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 ;
] ;
sh:targetClass observable:OperatingSystem ;
.

Expand Down Expand Up @@ -5286,6 +5361,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 @@ -5371,6 +5454,14 @@ observable:Process
rdfs:subClassOf observable:ObservableObject ;
rdfs:label "Process"@en ;
rdfs:comment "A process is an instance of a computer program executed on an operating system."@en ;
rdfs:seeAlso [
a sh:NodeShape ;
rdfs:comment "This anonymous shape is attached with rdfs:seeAlso in order to associate a warning-severity class constraint, that will only be necessary as an independent shape until UCO 2.0.0."@en ;
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 ;
] ;
sh:targetClass observable:Process ;
.

Expand Down Expand Up @@ -5466,6 +5557,14 @@ observable:ProcessThread
rdfs:subClassOf observable:ObservableObject ;
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 ;
rdfs:seeAlso [
a sh:NodeShape ;
rdfs:comment "This anonymous shape is attached with rdfs:seeAlso in order to associate a warning-severity class constraint, that will only be necessary as an independent shape until UCO 2.0.0."@en ;
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:targetClass observable:ProcessThread ;
.

Expand Down Expand Up @@ -6038,6 +6137,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 @@ -6088,6 +6195,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 @@ -6169,6 +6292,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 @@ -6451,6 +6582,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 @@ -8501,6 +8640,14 @@ observable:WindowsService
rdfs:subClassOf observable:ObservableObject ;
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 ;
rdfs:seeAlso [
a sh:NodeShape ;
rdfs:comment "This anonymous shape is attached with rdfs:seeAlso in order to associate a warning-severity class constraint, that will only be necessary as an independent shape until UCO 2.0.0."@en ;
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 ;
] ;
sh:targetClass observable:WindowsService ;
.

Expand Down Expand Up @@ -8626,6 +8773,14 @@ observable:WindowsTask
rdfs:subClassOf observable:ObservableObject ;
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 ;
rdfs:seeAlso [
a sh:NodeShape ;
rdfs:comment "This anonymous shape is attached with rdfs:seeAlso in order to associate a warning-severity class constraint, that will only be necessary as an independent shape until UCO 2.0.0."@en ;
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 ;
] ;
sh:targetClass observable:WindowsTask ;
.

Expand Down
48 changes: 33 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,38 @@
[]
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 ;
rdfs:comment "This anonymous shape is attached with rdfs:seeAlso in order to associate a warning-severity class constraint, that will only be necessary as an independent shape until UCO 2.0.0."@en ;
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 @@ -408,6 +408,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

0 comments on commit 86e1cbd

Please sign in to comment.