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 563: Designate action:Action and core:Event disjoint #564

Merged
merged 2 commits into from
Nov 30, 2023

Conversation

ajnelson-nist
Copy link
Contributor

@ajnelson-nist ajnelson-nist commented Nov 20, 2023

This Pull Request resolves all requirements of Issue #563 .

Coordination

  • Pull Request is against correct branch
  • Pull Request is in, or reverted to, Draft status before Solutions Approval vote has passed
  • CI passes in UCO feature branch against develop
  • CI passes in UCO current unstable branch (06e5d9d)
  • CI passes in CASE current unstable branch tracking UCO's unstable as submodule (b27a539)
  • Impact on SHACL validation reviewed for CASE-Corpora
  • Impact on SHACL validation remediated for CASE-Corpora (N/A)
  • Impact on SHACL validation reviewed for CASE-Examples
  • Impact on SHACL validation remediated for CASE-Examples (N/A)
  • Impact on SHACL validation reviewed for casework.github.io
  • Impact on SHACL validation remediated for casework.github.io
  • Milestone linked
  • Solutions Approval vote logged on corresponding Issue (once logged, can be taken out of Draft PR status)

@ajnelson-nist ajnelson-nist added this to the UCO 1.3.0 milestone Nov 20, 2023
@ajnelson-nist ajnelson-nist linked an issue Nov 20, 2023 that may be closed by this pull request
13 tasks
In an OWL-only sense, the ontology portion of this patch could have been
accomplished by adding one triple to `action:Action`.

For the sake of symmetry and explicitness, `core:Event` also picked up
the `owl:disjointWith` statement.  To satisfy OWL syntactic
requirements, a stub reference to `action:Action` is added, as was done
for `types:Dictionary` for Issue 541 (discussed in PR 542).

To enforce disjointedness with SHACL, a new independent shape is added,
`action:Action-disjointWith-Event-shape`.

A follow-on patch will regenerate Make-managed files.

EDIT 2023-11-22: An initial version of this patch included an inlined
anonymous `sh:NodeShape`.  I now believe the scenario that shape
mitigates (multi-import of a shapes graph leading to SHACL-scoped syntax
errors) is unlikely, and I also saw that the noted rationale around
`sh:not` was confused with another predicate (`sh:inversePath`).

References:
* #563
* #542

Signed-off-by: Alex Nelson <[email protected]>
References:
* #563

Signed-off-by: Alex Nelson <[email protected]>
@ajnelson-nist
Copy link
Contributor Author

Note: I just force-pushed this branch to revise an incorrect description in the first commit's message.

@ajnelson-nist ajnelson-nist marked this pull request as ready for review November 28, 2023 19:10
@ajnelson-nist
Copy link
Contributor Author

This PR is ready for merge.

@ajnelson-nist ajnelson-nist requested a review from a team November 28, 2023 19:10
@ajnelson-nist
Copy link
Contributor Author

Anyone in @ucoProject/maintainers-uco may feel free to merge.

Copy link
Contributor

@plbt5 plbt5 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still a question: why defining an Action as

action:Action
 	a owl:Class ;
 	rdfs:isDefinedBy <https://ontology.unifiedcyberontology.org/uco/types> ;
 	.

in core.ttl??

@plbt5 plbt5 merged commit 429cfa7 into develop Nov 30, 2023
1 check passed
@plbt5 plbt5 deleted the Feature-Issue-563 branch November 30, 2023 22:55
@ajnelson-nist
Copy link
Contributor Author

Still a question: why defining an Action as

action:Action
 	a owl:Class ;
 	rdfs:isDefinedBy <https://ontology.unifiedcyberontology.org/uco/types> ;
 	.

in core.ttl??

This is due to Section 5.8.1 of the OWL 2 syntax, specifically the statement "If a class with an IRI I occurs in some axiom in Ax, then I is declared in Ax as a class."

Ax in UCO's core.ttl does not include the axioms from action.ttl, because action.ttl imports core.ttl, not the other way around.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Are the classes Event and Action disjoint?
2 participants