Closed ajnelson-nist closed 7 months ago
Yes. Action and Event are disjoint. No Action is ever an Event and no Event is ever an Action.
An Event can consist of one of more Actions potentially with temporal relationships between them. All such context (Actions, Relationships, etc.) for the Event would be contained in the eventContext property.
The specific question here is: What is the essential element that separates the Event from the Action, as in, essentially belongs to one but definitely doesn't belong to the other. Having answered that, is there yet another element that applies vice versa?
From the perdurant/endurant perspective, we consider both uco:Event
and uco:Action
subclasses perdurants. That implies that they both unfold over time. When we consider them disjoint, then their distinction should be sought in either two aspects: do they
Let's look at their definitions.
From this I'd conclude the following distinctions:
Action hasParticipant _some_ human/agent
uco-action:Action owl:subClassOf uco:Perdurant ,
[ rdf:type owl:Restriction ;
owl:onProperty uco:hasParticipant ;
owl:someValuesFrom uco:(Human/Agent) ;
] .
causally, an Action produces (uco-action:result
) a result of some sort, whereas an Event brings about a situation.
uco-action:result rdfs:subPropertyOf uco:hasParticipant ;
rdfs:domain uco-action:Action ;
rdfs:comment "Identifies a (uco:?)Result that is produced by the uco-action:Action"@en .
uco:bringsAbout rdfs:subPropertyOf uco:hasParticipant ;
rdfs:domain uco:Event
rdfs:comment "Identifies a (uco:?)Situation that is brought about by the uco:Event"@en .
Based on these constraints we now can declare Action and Event as being disjoint.
Note:
uco:bringsAbout
would be a new property.uco-action:result
requires verification against its current declarations.I'm not sufficiently involved to decide whether situation and result are required as UCO concepts. But that is beside the point of the question.
@plbt5 - uco-action:result
is already defined.
If you mean "Situation" as in the gUFO sense - UCO doesn't currently have that, and that will be a challenging discussion to have. I think it's worth having, because IIRC gufo:Situation
s are one way to handle role enactments, and I believe someone is brewing a UCO proposal to revise how uco-role:Role
currently behaves.
@ajnelson-nist - I've updated the examples with uco-action: result
, as well added two Notes. Regarding the "Situation", I do mean this to apply in the gUFO sense; however, neither "Situation" nor "Result" are required to be defined.
Thank you, @sbarnum and @plbt5 , this looks like enough to me to fast-track an additional change on top of #541 .
This question has been updated to become a fast-tracked proposal, with the implementation to be voted on in the November 28th OCs call.
During discussion on #541 , we had considered whether
Action
is strictly a subclass of the new classEvent
. A result of the discussion was, no,Action
does not specializeEvent
, because they have different annotative properties that would look out of place on one another.We did not take this further and ask the other side: Are they disjoint classes?
Do we have an example available of an
Action
that is also anEvent
? Or, should we supplement #541 before cutting UCO 1.3.0, that the two classes are disjoint?@plbt5 , I'm interested in your input especially with respect to the endurants-vs-perdurants proposal; and @sbarnum , I'm interested in your input w.r.t. the generally-spelled "context" property. If
Action
andEvent
are disjoint, what are examples of:If we don't decide this now, a disjointedness assertion would have to wait for a SEMVER-major UCO release.
Requirements
Requirement 1
Events and Actions are disjoint classes, and must be encoded as such.
Risk / Benefit analysis
Benefits
Risks
cron
jobs trigger.Competencies demonstrated
Competency 1
Competency Question 1.1
What events are also actions?
Result 1.1
This query will always return no results.
Competency Question 1.2
How do events and actions relate?
Result 1.2
This parthood (mereology) discussion is delegated to other issues, e.g. #544 and #565.
541 had suggested that one or more actions can be the context of an event using the
core:eventContext
property; though, note thateventContext
can be anyUcoObject
.541 also suggested that an event can be a result of an action. #565 is inspecting some details about that mechanism.
Solution suggestion
owl:disjointWith
statements betweenaction:Action
andcore:Event
.sh:not
to confirm that anyaction:Action
is not also acore:Event
.Note: The initial spelling of the SHACL constraint uses a wrapping, anonymous
sh:NodeShape
to mitigate an issue an application could run into if they imported UCO twice. The technical rationale for that design pattern is documented in this commit log.Coordination
develop
for the next releasedevelop
state with backwards-compatible implementation merged intodevelop-2.0.0
develop-2.0.0
(N/A)develop
branch updated to track UCO's updateddevelop
branchdevelop-2.0.0
branch updated to track UCO's updateddevelop-2.0.0
branch