Skip to content

Commit

Permalink
Classify AlternateDataStream and test for gufo:Type instantiations am…
Browse files Browse the repository at this point in the history
…ong exemplars

No effects were observed on Make-managed files.

References:
* ucoProject/UCO#590

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
  • Loading branch information
ajnelson-nist committed Jun 5, 2024
1 parent 304fb10 commit 4379ca9
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 0 deletions.
8 changes: 8 additions & 0 deletions ontology/uco-gufo.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,10 @@ uco-identity:Person
;
.

uco-observable:AlternateDataStream
a gufo:Kind ;
.

uco-observable:BluetoothAddressFacet
a drafting:SpecificFacetType ;
.
Expand All @@ -216,6 +220,10 @@ uco-observable:Device
;
.

uco-observable:FileSystemObject
a gufo:Category ;
.

uco-observable:MACAddressFacet
a drafting:GeneralFacetType ;
.
Expand Down
9 changes: 9 additions & 0 deletions tests/exemplars.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,15 @@ kb:Action-13c91d40-9ca0-4558-81a1-4f7db888c371
gufo:hasEndPointInXSDDateTimeStamp "2021-02-03T04:05:06Z"^^xsd:dateTimeStamp ;
.

kb:AlternateDataStream-e6ceee40-5614-4740-b08c-d21ce9b2356d
a
uco-observable:AlternateDataStream ,
uco-observable:FileSystemObject
;
rdfs:comment "TODO - The assignment of FileSystemObject is only necessary until UCO Issue 590 is incorporated."@en ;
rdfs:seeAlso <https://github.com/ucoProject/UCO/issues/590> ;
.

kb:BluetoothAddress-53c6bc31-4f9c-4ca7-96cb-c9c61d7e4ca2
a uco-observable:BluetoothAddress ;
uco-core:hasFacet
Expand Down
18 changes: 18 additions & 0 deletions tests/test_exemplar_coverage.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
from typing import Optional, Set

from rdflib import RDF, RDFS, Graph, URIRef
from rdflib.query import ResultRow

NS_RDF = RDF
NS_RDFS = RDFS
Expand All @@ -34,6 +35,7 @@ def test_exemplar_coverage() -> None:
ontologies) designated a subclass of some C', and each property P
designated a subproperty of some P', C (/P) is used in the exemplars
graph.
For gUFO, instances of a gufo:Type are also included in the review.
"""
exemplar_graph = Graph()
profile_graph = Graph()
Expand Down Expand Up @@ -66,6 +68,22 @@ def test_exemplar_coverage() -> None:
assert isinstance(triple[0], URIRef)
classes_mapped.add(triple[0])

gufo_type_query = """\
PREFIX gufo: <http://purl.org/nemo/gufo#>
SELECT ?nClass
WHERE {
# owl:Class restriction is to not pick up Relators.
?nClass
a owl:Class ;
a/rdfs:subClassOf* gufo:Type ;
.
}
"""
for gufo_type_query_result in tbox_graph.query(gufo_type_query):
assert isinstance(gufo_type_query_result, ResultRow)
assert isinstance(gufo_type_query_result[0], URIRef)
classes_mapped.add(gufo_type_query_result[0])

result: Optional[bool]

class_query = """\
Expand Down

0 comments on commit 4379ca9

Please sign in to comment.