- From: Birte Glimm <birte.glimm@comlab.ox.ac.uk>
- Date: Wed, 17 Feb 2010 14:48:09 +0000
- To: Ivan Herman <ivan@w3.org>
- Cc: SPARQL Working Group <public-rdf-dawg@w3.org>, Chimezie Ogbuji <ogbujic@ccf.org>
Wow, thanks for the quick read :-) On 17 February 2010 12:30, Ivan Herman <ivan@w3.org> wrote: > Mini editorial issues: > > - "query answer: in:" (section 2.2., right before the table for the > simple results Done. > - Better use the same formulation everywhere. In, say, RDFS, (C2) is > > [[[ > (C2) For each variable x in V(BGP), sk(μ(x)) occurs in sk(SG). > ]]] > > whereas, for OWL2/RDF it says > > [[[ > (C2) Each variable x that occurs in a triple in BGP is such that > sk(μ(x)) occurs in sk(SG). > ]]] > > meaning, I believe, the same, but let us use the same terms:-) Agreed and unified the formulation (meaning was the same). > - "ontolgy" -> "ontology" in the section referreing to scm-eqc2 Done. > More substantial comment: > > I must admit I am a bit bothered by 5.2.1. I understand what is > happening but I am bothered anyway:-( I am afraid that it will become > fairly difficult for an average OWL RL user to follow what is happening > (and an average OWL RL user may not understand all the details and > intricacies of all this). Eg, if I look at > > SELECT ?r WHERE { ex:a ?r ex:a } > > for the data > > [[ > ex:a ex:b ex:c . > ex:w ex:ww 123 . > ex:z ex:zz 123 . > ]] > > then ?r/owl:sameAs will be the result. This is because the dt-eq will > bring owl:sameAs into the picture through the back door of the rule set. > As a consequence, eq-ref will produce the (ex:a owl:sameAs ex:a) triple > and due to dt-eq (C2) will not apply. I agree with the not nice/counterintuitive side effect, but I don't think you'll get ?r/owl:sameAs as answer because the variable binding owl:sameAs does not occur in the input/the scoping graph and also does not occur in the implicitly present axioms that are assumed to be any OWL 2 ontology. However, if you add ex:somethingelse owl:sameAs ex:somethingelse, which is not really related to any of the previous triples and not saying much, then you will get owl:sameAs as solution for the same query. I think you assume that we look at the saturation, i.e., I take the input, then I run all the rules exhaustively, and whatever I find there I take to be the "allowed" values. This means that in order to get systems have the guaranteed same results on a query, we are fixed to that rule set, which is not so nice. I see two possibilities to reduce the number of counterintuitive side effect. We need something to prevent infinite answers, which dome from axioms containing rdf:_1, rdf:_2,... and from datatypes (in particular for OWL Full with owl:topDataPropery or numberRestrictions), and from inconsistencies. In order to handle all these cases, it would be nice if we can always assume that query results are always taken from a finite signature/vocabulary. This signature/vocabulary at the moment contains only the input, but one possibility would be to also add, for example, the reserved vocabulary of the language minus rdf:_1, rdf:_2, ... In that case, owl:sameAs would always be assumed to be present because it is part of the reserved vocabulary, while you still have a guarantee of finite answers. In the RDF(S) case, that will give you always lots of axiomatic triples, but not those of the form rdf:_1 rdf:type rdf:Property. We might still want to exclude axiomatic triples unless they occur in the input because they potentially add lots of answers that you don't really want. Another possibility would be to apply C2 only to variables in subject and object position and allow anything in the predicate position. That still can cause counterintuitive side effects, but many more cases are covered. In that case, inconsistencies need extra care because in principle this would still allow infinite answers if the given graph is inconsistent and we just assume the scoping graph to be equivalent to the queried graph no matter what. > On the other hand, with the data > > [[ > ex:a ex:b ex:c . > ]] > > (C2) will apply, and the result set will be empty. This is true > mathematically, but very counter-intuitive for a user:-( Yes. > I am not sure how to solve that, I must admit. One solution would be to > say that the axiomatic triples listed in[1] are implicitly part of the > graph, beyond your reference to[2]. In contrast to the RDFS axiomatic > triples [1] is finite triple set and therefore does not produce infinite > results. On the other hand, it takes away the peculiarities of the > consequences of (C2) because it will list essentially all OWL terms. > However, [1] is marked as informative in the RDF based semantics text:-( > (I remember having had long discussions on that in the OWL 2 WG...). > Also, this may bring in a sh...load of extra results that one would not > want to see... > > Sigh. Sigh too. Birte > > Ivan > > [1] > http://www.w3.org/TR/2009/REC-owl2-rdf-based-semantics-20091027/#Appendix:_Axiomatic_Triples_.28Informative.29 > [2] > http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#Entity_Declarations_and_Typing > > > > On 2010-2-16 18:42 , Birte Glimm wrote: >> Hi all, >> I have committed a new version of the entailment regimes document: >> http://www.w3.org/2009/sparql/docs/entailment/xmlspec.xml >> >> There is now a description of the OWL RDF-Based Semantics incl. the >> OWL 2 RL profile. The OWL 2 RL profile can also be used with Direct >> Semantics, so I have added that there too. Further I have added a >> section about aggregates with RDF(S) entailment, addressing at least >> parts of Axel's comments (no owl:sameAs discussion yet for >> aggregation). I also defined the behaviour for inconsistent graphs >> more clearly because the previous spec didn't define the scoping graph >> in the case of inconsistencies. It was rather assumed that the scoping >> graph is still equivalent to the active graph, so that systems can >> just use the graph as is modulo bnode renaming, but that allowed >> infinite answers for inconsistent graphs. I now use Axel's suggestion >> for condition C2 and require not only bindings for variables inn >> subject position to occur in the input, but require this for all >> variables. This also solves the OWL RDF-Based semantics problem where >> you can have infinite answers from owl:topDataProperty, which relates >> an individual to all data values. Now all RDF-Based regimes (RDF, >> RDFS, OWL 2 RDF-Based (for OWL Full and OWL RL)) use the same >> definitions, which is nice IMO. >> >> Birte >> >> > > -- > > Ivan Herman, W3C Semantic Web Activity Lead > Home: http://www.w3.org/People/Ivan/ > mobile: +31-641044153 > PGP Key: http://www.ivan-herman.net/pgpkey.html > FOAF : http://www.ivan-herman.net/foaf.rdf > vCard : http://www.ivan-herman.net/HermanIvan.vcf > > -- Dr. Birte Glimm, Room 306 Computing Laboratory Parks Road Oxford OX1 3QD United Kingdom +44 (0)1865 283529
Received on Wednesday, 17 February 2010 14:55:11 UTC