-
Notifications
You must be signed in to change notification settings - Fork 34
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
action:subaction
and related actions' times
#557
Comments
As far as I can determine from the Action ontology, there are no constraints that limit a subaction to start before or end after its parent action. This is in conflict with the definition for the subaction: "[a subaction] References to other actions that make up part of a larger more complex action." that suggests that the parent (larger more complex) action cannot start after the first, nor end before the last, subaction. In conclusion: whether or not it is the intention for the parts to be proper subparts of the whole, the intention of the textual definition of the parts do not match the logical construction of the whole by its parts. If anything, this conflict should be resolved one way or another. A solution could be to move the time constraints from the whole to its parts. Since the former is constructed by its parts, it will automatically inherit the time constraints from them. |
Indeed it seems to look that way. We need to assure, though, that by introducing this we do not imply that At least, that is what I conclude from the supplemental principles in mereology. |
@plbt5 The concern on I just did a test1 with Protege and Robot, which both provide access to some Java-based reasoners. I confirmed my understanding with the following ontology. Protege complains of inconsistency when a reasoner is turned on, appropriately, until the commented lines are adjusted like suggested. The inconsistency is that ROBOT (1.9.5) complains appropriately2 with either of the following commands: java -jar robot.jar \
reason \
--input asserted.ttl \
--output reasoned-hermit.ttl \
--reasoner HermiT
java -jar robot.jar \
reason \
--input asserted.ttl \
--output reasoned-jfact.ttl \
--reasoner JFact @prefix ex: <http://example.org/ontology/> .
@prefix kb: <http://example.org/kb/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
ex:ThingWithOneName
a owl:Class ;
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty ex:name ;
owl:cardinality "1"^^xsd:nonNegativeInteger ;
] ;
.
ex:name
a owl:DatatypeProperty ;
rdfs:range xsd:string ;
.
ex:op1
a owl:ObjectProperty ;
rdfs:domain ex:ThingWithOneName ;
rdfs:range ex:ThingWithOneName ;
.
ex:op2
a owl:ObjectProperty ;
rdfs:subPropertyOf ex:op1 ;
.
ex:op3
a
owl:ObjectProperty ,
owl:FunctionalProperty
;
rdfs:subPropertyOf ex:op1 ;
.
ex:op4
a
owl:ObjectProperty ,
owl:InverseFunctionalProperty
;
rdfs:subPropertyOf ex:op1 ;
.
kb:Thing-1
a owl:Thing ;
.
kb:Thing-2
a owl:Thing ;
ex:name "2" ;
.
kb:Thing-3
a owl:Thing ;
ex:name "3" ;
.
kb:Thing-4
a owl:Thing ;
.
kb:Thing-5
a owl:Thing ;
ex:name "5" ;
.
kb:Thing-6
a owl:Thing ;
ex:name "6" ;
.
########################################################################
# Below this line, if the ex:op3 and ex:op4 predicates are replaced with
# ex:op2, the ontology is consistent.
########################################################################
kb:Thing-1
ex:op3
kb:Thing-2 ,
kb:Thing-3
;
.
kb:Thing-5
ex:op4 kb:Thing-4 ;
.
kb:Thing-6
ex:op4 kb:Thing-4 ;
.
#kb:Thing-1
# ex:op2
# kb:Thing-2 ,
# kb:Thing-3
# ;
# .
#
#kb:Thing-5
# ex:op2 kb:Thing-4 ;
# .
#
#kb:Thing-6
# ex:op2 kb:Thing-4 ;
# . Protege provides the following explanation dialogue: Footnotes
|
I'd be comfortable proposing (separately) that Meanwhile, there is still the original question on this Issue, of subaction times relative to the superaction. For now, I'm interested in a yes or no response on whether the superaction's and subaction's times behave in a manner analagous to, or exactly like, |
Yes, I would assert that the intent of the design of Action and subaction is that the time bounds of any sub Action would fall within the time bounds of the super Action. |
Thank you, @sbarnum . This Issue will remain open while awaiting an implementation that can encode that constraint. At the present time, it is not possible to encode, because of some un-constrainable details on There are other ways to test the superaction-subaction time bounding, but they would require reified time instants. Any of the following could work, but each would be predicated on another not-yet-filed proposal: # Assuming adoption of OWL-Time: https://www.w3.org/TR/owl-time/
action:subaction rdfs:subPropertyOf time:intervalIn . # Assuming an outcome of Issue 544.
action:subaction rdfs:subPropertyOf core:isPerdurantProperPartOf . (Issue 544.) |
Let's say we have the following graph, depicting an action that starts at 3AM (UTC) and ends at 4AM UTC, and has a recorded sub-action:
Do we know the following about
kb:Action-2
:2020-01-02T03:00:00Z
.2020-01-02T04:00:00Z
.Generally speaking, would a subaction always be time-bounded?
(Edited to fix JSON-LD typos, and clarify sentence 1.)
The text was updated successfully, but these errors were encountered: