-
Notifications
You must be signed in to change notification settings - Fork 81
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
Notation-3 and rule direction #1442
Comments
@dr-shorthair I understand in general what @giacomociti is trying to do, but the details are beyond me. Have you time to respond? I suspect it is just as he suggests, a balance between brevity and comprehensiveness. The |
Thank you @giacomociti for your interest in OWL-Time. And thanks a lot for introducing us to Notation-3 rules. This looks like a perfect application. Concerning your question: the textual expression of the key part of the rule says
Your Notation-3 implementation of that is
These appear to be fully consistent to me. Am I misunderstanding your concern? |
@dr-shorthair the N3 rule may be shortly paraphrased as: while the spec says: that's why it seems like one is the logical converse of the other instead of being equivalent |
OK - I think I see the issue you are raising here now. Since the logic is tied to the predicate ( |
we may re-cast the N3 rule as: {
?T1 a time:ProperInterval ; time:hasBeginning ?B1 ; time:hasEnd ?E1 .
?T2 a time:ProperInterval ; time:hasBeginning ?B2 ; time:hasEnd ?E2 .
?T1 time:intervalStarts ?T2 .
}
=>
{
?B1 time:equals ?B2 .
?E1 time:before ?E2 .
} . and maybe there are use cases in which such a rule would be useful. Still, it would be interesting to know whether the other rule is correct wrt the semantics of OWL-Time. I guess it is since it derives all the axioms in the test suite, but I'm asking here just to be sure |
Motivated by a blog post, I played with Notation-3 rules to derive OWL-Time relations (I see RIF and SWIRL are also mentioned in other issues of this repo).
The rules (available as gist), given
time-test-individuals.ttl
, generate all thexxx-true.ttl
andxxx-false.ttl
data in the test suite and helped spot the following missing triples:Also I notice test files for before and after do not include triples with instants as subjects.
But this may be on purpose to keep them small.
The rules look like the following:
where auxiliary predicates
:equal
and:before
compare date positions of instants.What looks strange to me is that the corresponding definition in the spec:
sounds more like the converse of what is implemented in the rule.
Is this meant to be a logical equivalence? Otherwise, I'm a bit confused.
The text was updated successfully, but these errors were encountered: