ucoProject / UCO

This repository is for development of the Unified Cyber Ontology.
Apache License 2.0
76 stars 34 forks source link

Owl 2 DL Vocabulary #427

Closed frederich-stine closed 2 years ago

frederich-stine commented 2 years ago

Issue

This Pull Request resolves all requirements of Issue #435 . (Edited by AJN. Originally referenced #406, which needed to be used as a baseline development state.)

Requirement 1

Datatype 2/3s incompletion resolved with owl:equivalentClass for all relevent vocabulary members.

Requirement 2

Redundant definition subClass of removed for all relevent vocabulary members.

Review steps taken:

frederich-stine commented 2 years ago

@ajelson-nist Up to date with Feature-Branch-435, which is up to date with 406. Failure on make check due to placeholder test for OWL SHACL compatibility.

Should be good to merge, set target to 'develop'.

frederich-stine commented 2 years ago

@ajelson-nist Up to date with Feature-Branch-435, which is up to date with 406. Failure on make check due to placeholder test for OWL SHACL compatibility.

Should be good to merge, set target to 'develop'.

Have fixed testing failure, good to merge now.

ajnelson-nist commented 2 years ago

@eoghanscasey and @plbt5 - CASE PRs 99 through 103 catch CASE up with some of the practices adopted in UCO 0.8.0 through recent OCs' Solution Approvals. Whomever sees them first, can you please merge them?

I realized CASE had fallen behind when I started reviewing the CASE Examples for this PR, and the new OWL SHACL check for owl:oneOf being in a blank node triggered on CASE's investigation-form vocabulary in every SHACL validation file.

This actually ends up being a behavior similar to pyshacl's --metashacl flag, which reviews the SHACL graph with SHACL-SHACL before reviewing data. pyshacl reviews the "Ontology" graph as well as reviewing the data graph, which is a tool behavior nuance (acknowledged every few months on the pySHACL tracker) I'd either missed or forgotten. Thus, if there's an error in the OWL or RDFS passed in to pyshacl's --ont-graph, it will be reported alongside data errors. This isn't necessarily something we have control over, except possibly adding a "Disable-OWL-review" switch to case_validate that turns off the OWL shapes by adding sh:deactivated true triples.

Paul, would you be interested in reviewing UCO's owl.ttl for shapes that would probably be appropriate to disable when using SHACL on the "ABox" side of a knowledge graph? We can talk in more detail about this Monday.

ajnelson-nist commented 2 years ago

This was merged prematurely.

@eoghanscasey , please do not revert, that makes a tricky Git situation. We will revert if the vote does not pass on Thursday.