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

Disjointedness already denoted in UCO should be enforced #586

Closed
15 tasks done
ajnelson-nist opened this issue Feb 1, 2024 · 1 comment · Fixed by #587, #588 or #609
Closed
15 tasks done

Disjointedness already denoted in UCO should be enforced #586

ajnelson-nist opened this issue Feb 1, 2024 · 1 comment · Fixed by #587, #588 or #609

Comments

@ajnelson-nist
Copy link
Contributor

ajnelson-nist commented Feb 1, 2024

Disclaimer

Participation by NIST in the creation of the documentation of mentioned software is not intended to imply a recommendation or endorsement by the National Institute of Standards and Technology, nor is it intended to imply that any specific software is necessarily the best available for the purpose.

Background

UCO Issue 430 introduced core:UcoInherentCharacterizationThing, a top-level abstract class to denote some classes within UCO as disjoint with core:UcoObject. For instance, no object should be both a observable:File and observable:FileFacet. Introducing that class was the first use of OWL disjointedness in UCO. A few other uses of disjointedness are in UCO as well, found by scanning the ontology directory tree for the word "disjoint":

I specifically noticed core:UcoObject and core:UcoInherentCharacterizationThing when I was testing a new class under proposal (Qualities, in Issue 535) and how it interacts with the proposed endurant/perdurant divide (Issue 544). Details aside (they'll be discussed on at least the Qualities proposal), I'd ended up instantiating a node that was an eventual subclass of core:UcoObject and core:UcoInherentCharacterizationThing, and got no SHACL errors.

UCO should add new shapes, in the style of the current disjointedness-enforcement shapes, to enforce the expectations already encoded in its OWL. The reason for continuing the current disjointedness-enforcement shapes style is that those shapes are independent of the class IRI, and are singly devoted to use of sh:not, for the sake of controlling the SHACL violation message. (Message reporting doesn't quite work as would be desired from embedding sh:message in the node linked by sh:not.)

Requirements

Requirement 1

UCO must enforce the already-encoded disjointedness for core:UcoObject and core:UcoInherentCharacterizationThing.

Requirement 2

UCO must enforce the already-encoded disjointedness for types:Thread and co:List.

Risk / Benefit analysis

Benefits

  • Continues the pattern of use of SHACL to align with OWL encodings in certain set-separations.
  • Prevents downstream modeling issues, as uncovered in reviewing Qualities versus Endurants.

Risks

  • Because this introduces potentially new sh:Violations on existing data, the shapes will need to be introduced with a sh:Warning severity for UCO 1.x.0, and can be escalated to sh:Violation severity for UCO 2.0.0. This is as with the observable:File vs. observable:URL proposal.

Competencies demonstrated

Competency 1

The Quality class design that triggered this proposal basically followed this subclass structure, which came together across a few different test spaces:

drafting:Endurant
	rdfs:subClassOf uco-core:UcoOjbect ;
	.

drafting:Quality
	rdfs:subClassOf
		drafting:Endurant ,
		uco-core:UcoInherentCharacterizationThing
		;
	.

Competency Question 1.1

Should this trigger a SHACL violation?

kb:Quality-328166c0-cc7d-4a96-9fd1-25eb3b7bf5b0
	a drafting:Quality ;
	.

Result 1.1

Yes.

Solution suggestion

Add the following shapes:

################################
# For core.ttl

core:UcoInherentCharacterizationThing-disjointWith-UcoObject-shape
	a sh:NodeShape ;
	sh:message "observable:UcoInherentCharacterizationThing and observable:UcoObject are disjoint classes.  Assigning both types to a single node will be an error in UCO 2.0.0."@en ;
	sh:not [
		a sh:NodeShape ;
		sh:class core:UcoObject ;
	] ;
	sh:severity sh:Warning ;
	sh:targetClass core:UcoInherentCharacterizationThing ;
	.

################################
# For types.ttl

types:Thread-disjointWith-co-List-shape
	a sh:NodeShape ;
	sh:message "types:Thread and co:List are disjoint classes.  Assigning both types to a single node will be an error in UCO 2.0.0."@en ;
	sh:not [
		a sh:NodeShape ;
		sh:class co:List ;
	] ;
	sh:severity sh:Warning ;
	sh:targetClass types:Thread ;
	.

types:ThreadItem-disjointWith-co-ListItem-shape
	a sh:NodeShape ;
	sh:message "types:ThreadItem and co:ListItem are disjoint classes.  Assigning both types to a single node will be an error in UCO 2.0.0."@en ;
	sh:not [
		a sh:NodeShape ;
		sh:class co:ListItem ;
	] ;
	sh:severity sh:Warning ;
	sh:targetClass types:ThreadItem ;
	.

In UCO 2.0.0, remove the sh:severity and future-tense remarks in the sh:messages.

Coordination

  • Tracking in Jira ticket OCUCO-305
  • Administrative review completed, proposal announced to Ontology Committees (OCs) on 2024-02-01
  • Requirements to be discussed in OC meeting, 2024-02-15
  • Requirements Review vote occurred, passing, on 2024-02-15
  • Requirements development phase completed.
  • Solution announced to OCs on 2024-04-29
  • Solutions Approval to be discussed in OC meeting, 2024-05-30
  • Solutions Approval vote occurred, passing, on 2024-05-30
  • Solutions development phase completed.
  • Backwards-compatible implementation merged into develop for the next release
  • develop state with backwards-compatible implementation merged into develop-2.0.0
  • Backwards-incompatible implementation merged into develop-2.0.0
  • Milestone linked
  • Documentation logged in pending release pages
  • Prerelease publication: CASE develop branch updated to track UCO's updated develop branch
  • Prerelease publication: CASE develop-2.0.0 branch updated to track UCO's updated develop-2.0.0 branch
ajnelson-nist added a commit that referenced this issue Feb 1, 2024
A follow-on patch will regenerate Make-managed files.

References:
* #586

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit that referenced this issue Feb 1, 2024
References:
* #586

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit that referenced this issue Feb 1, 2024
A follow-on patch will regenerate Make-managed files.

References:
* #586

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit that referenced this issue Feb 1, 2024
References:
* #586

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
@ajnelson-nist ajnelson-nist added this to the UCO 1.4.0 milestone Feb 1, 2024
ajnelson-nist added a commit to casework/CASE-Archive that referenced this issue Feb 2, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#586

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/CASE-Archive that referenced this issue Feb 2, 2024
References:
* ucoProject/UCO#586

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/casework.github.io that referenced this issue Feb 2, 2024
A follow-on patch will regenerate Make-managed files.

References:
* ucoProject/UCO#586

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/casework.github.io that referenced this issue Feb 2, 2024
References:
* ucoProject/UCO#586

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/CASE-Corpora that referenced this issue Feb 2, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#586

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/CASE-Examples that referenced this issue Feb 2, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#586

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
@ajnelson-nist
Copy link
Contributor Author

The Gist I mentioned in the Issue is here.

ajnelson-nist added a commit to casework/CASE that referenced this issue Jun 10, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#586
* ucoProject/UCO#590

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit that referenced this issue Jun 14, 2024
A follow-on patch will regenerate Make-managed files.

References:
* #586

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit that referenced this issue Jun 14, 2024
References:
* #586

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/CASE-Corpora that referenced this issue Jun 14, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#586
* ucoProject/UCO#590

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/CASE-Examples that referenced this issue Jun 14, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#586
* ucoProject/UCO#590

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/CASE-Archive that referenced this issue Jun 17, 2024
References:
* ucoProject/UCO#586

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/CASE-Archive that referenced this issue Jun 17, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#586

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/CASE-Archive that referenced this issue Jun 17, 2024
References:
* ucoProject/UCO#586

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/CASE-Archive that referenced this issue Jun 17, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#586

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to ucoProject/ucoproject.github.io that referenced this issue Jun 17, 2024
References:
* ucoProject/UCO#586

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/CASE-Archive that referenced this issue Jun 17, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#586
* ucoProject/UCO#590

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/CASE that referenced this issue Jun 17, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#586
* ucoProject/UCO#609

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/CASE that referenced this issue Jun 18, 2024
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#562
* ucoProject/UCO#586
* ucoProject/UCO#590

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
@ajnelson-nist ajnelson-nist linked a pull request Jun 18, 2024 that will close this issue
ajnelson-nist added a commit to casework/casework.github.io that referenced this issue Jun 18, 2024
A follow-on patch will regenerate Make-managed files.

References:
* ucoProject/UCO#586
* ucoProject/UCO#590
* casework/CASE#153

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/casework.github.io that referenced this issue Jun 18, 2024
References:
* ucoProject/UCO#586
* ucoProject/UCO#590
* casework/CASE#153

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/casework.github.io that referenced this issue Jun 18, 2024
A follow-on patch will regenerate Make-managed files.

References:
* ucoProject/UCO#586
* casework/CASE#154

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/casework.github.io that referenced this issue Jun 18, 2024
References:
* ucoProject/UCO#586
* casework/CASE#154

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/casework.github.io that referenced this issue Jun 18, 2024
A follow-on patch will regenerate Make-managed files.

References:
* ucoProject/UCO#586
* ucoProject/UCO#609

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/casework.github.io that referenced this issue Jun 18, 2024
References:
* ucoProject/UCO#586
* ucoProject/UCO#609

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/casework.github.io that referenced this issue Jun 18, 2024
A follow-on patch will regenerate Make-managed files.

References:
* ucoProject/UCO#586
* ucoProject/UCO#609

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/casework.github.io that referenced this issue Jun 18, 2024
References:
* ucoProject/UCO#586
* ucoProject/UCO#609

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/casework.github.io that referenced this issue Jun 18, 2024
A follow-on patch will regenerate Make-managed files.

References:
* ucoProject/UCO#562
* ucoProject/UCO#586
* ucoProject/UCO#590

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/casework.github.io that referenced this issue Jun 18, 2024
References:
* ucoProject/UCO#562
* ucoProject/UCO#586
* ucoProject/UCO#590

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment