CASE's Investigation class has, to date, been encoded as a uco-core:ContextualCompilation. (This class design predates my own involvement in CASE, so I can only guess to motives for this.)
ContextualCompilation provides a "Set" construct that lets arbitrary items be grouped together, using uco-core:object.
Requirements
Requirement 1
Investigation should exercise Event.
Requirement 2
Investigations must maintain the ability to link InvestigativeActions, ProvenanceRecords, and other CASE classes that tie to investigative contexts.
This proposal does not impose a requirement they need to be linked with the same predicate as today, but other developments in UCO might mean they would no longer be linked the same way.
Risk / Benefit analysis
Benefits
This appears, to the proposer, to align investigations with a more concrete experience than an abstract "Compilation of objections that share a context." As currently modeled, Investigation is more a representation of the set of things pertaining to an investigation, rather than the investigation itself.
Risks
An in-flight proposal on the UCO tracker affects how Events could be required to behave differently from ContextualCompilations, so this might not be a backwards-compatible proposal. UCO Issue 544 introduces a disjoint pair of classes, endurants and perdurants. Under that proposal, Event would fall under Perdurant. While not written in the current proposal's state, it is likely that Compilation would be interpreted as an Endurant. If all that is accepted, an Investigation would not be able to be a ContextualCompilationandEvent, as the classes would be disjoint.
The endurant/perdurant proposal also introduces a relating predicate, participatesIn, domain endurant, range perdurant; and perdurantProperPartOf, domain perdurant, range perdurant. This would possibly change how InvestigativeActions relate to Investigations, as they may need to use perdurantProperPartOf (or some subproperty), while anything else (e.g. ProvenanceRecords) would need to use participatesIn.
uco-core:object is a vaguely-described linking predicate with no RDFS domain specified and a nearly-maximally general UcoObject range, so it is not clear if existing data would need to be changed.
Competencies demonstrated
(Competencies deferred for discussion.)
Competency 1
Competency Question 1.1
Result 1.1
Competency Question 1.2
Result 1.2
Solution suggestion
For CASE 1.x.0, BEFORE merging of UCO Issue 544, add to Investigation's definition:
uco-core:object can retain its usage on Investigation, but I suggest this is thanks to a lack of specification, which does not feel future-proofed. This SHACL shape can be added to maintain current data behavior, but Issue 544 could also obviate the property:
Note: That shape also omits the minimum-1 constraint on uco-core:object. I am not sure if that constraint was purposefully intended to fail SHACL validation on an investigation containing no objects, or if it was an overzealous translation of an owl:someValuesFrom restriction.
By the time of UCO 2.0.0's release and CASE 2.0.0's release, I think Investigation should no longer be a ContextualCompilation.
Background
UCO Issue 541 introduced general
uco-core:Event
s.CASE's
Investigation
class has, to date, been encoded as auco-core:ContextualCompilation
. (This class design predates my own involvement in CASE, so I can only guess to motives for this.)ContextualCompilation
provides a "Set" construct that lets arbitrary items be grouped together, usinguco-core:object
.Requirements
Requirement 1
Investigation
should exerciseEvent
.Requirement 2
Investigations
must maintain the ability to linkInvestigativeAction
s,ProvenanceRecord
s, and other CASE classes that tie to investigative contexts.This proposal does not impose a requirement they need to be linked with the same predicate as today, but other developments in UCO might mean they would no longer be linked the same way.
Risk / Benefit analysis
Benefits
Investigation
is more a representation of the set of things pertaining to an investigation, rather than the investigation itself.Risks
Event
s could be required to behave differently fromContextualCompilation
s, so this might not be a backwards-compatible proposal. UCO Issue 544 introduces a disjoint pair of classes, endurants and perdurants. Under that proposal,Event
would fall underPerdurant
. While not written in the current proposal's state, it is likely thatCompilation
would be interpreted as anEndurant
. If all that is accepted, anInvestigation
would not be able to be aContextualCompilation
andEvent
, as the classes would be disjoint.participatesIn
, domain endurant, range perdurant; andperdurantProperPartOf
, domain perdurant, range perdurant. This would possibly change howInvestigativeAction
s relate toInvestigation
s, as they may need to useperdurantProperPartOf
(or some subproperty), while anything else (e.g.ProvenanceRecord
s) would need to useparticipatesIn
.uco-core:object
is a vaguely-described linking predicate with no RDFS domain specified and a nearly-maximally generalUcoObject
range, so it is not clear if existing data would need to be changed.Competencies demonstrated
(Competencies deferred for discussion.)
Competency 1
Competency Question 1.1
Result 1.1
Competency Question 1.2
Result 1.2
Solution suggestion
For CASE 1.x.0, BEFORE merging of UCO Issue 544, add to
Investigation
's definition:AFTER merging of Issue 544 (assuming UCO Ontology Committee votes so), subtract this subclassing:
uco-core:object
can retain its usage onInvestigation
, but I suggest this is thanks to a lack of specification, which does not feel future-proofed. This SHACL shape can be added to maintain current data behavior, but Issue 544 could also obviate the property:Note: That shape also omits the minimum-1 constraint on
uco-core:object
. I am not sure if that constraint was purposefully intended to fail SHACL validation on an investigation containing no objects, or if it was an overzealous translation of anowl:someValuesFrom
restriction.By the time of UCO 2.0.0's release and CASE 2.0.0's release, I think
Investigation
should no longer be aContextualCompilation
.Coordination