- From: Ivan Herman <ivan@w3.org>
- Date: Mon, 08 Sep 2008 22:29:23 +0200
- To: Ian Horrocks <ian.horrocks@comlab.ox.ac.uk>
- CC: Sandro Hawke <sandro@w3.org>, W3C OWL Working Group <public-owl-wg@w3.org>
- Message-ID: <48C58B23.9090107@w3.org>
Ian Horrocks wrote: > [snip] >> >> To go back to the original issue and Ian's proposal: I actually do not >> have a problem with the current formulation for entailement checkers. >> Yes, implementation may simply say that they return UNKNOWN if they do >> not want to go down the path of the theorem 1 checking, and that is fine >> with me. >> >> Unless we go along with the extra stuff above, I'm still not fully sure >> what this whole thing means for the implementation pattern where a, say, >> forward chaining engine like Oracle's expands the graph (that include >> the ontology) and then SPARQL queries are issued on the result. After >> all, SPARQL queries do not usually return True or False, they either >> bindings to patterns or they do not return any binding. My rough reading >> is that applications should interpret an empty binding return as >> 'unknown', and that is it; the underlying OWL-RL implementation does not >> necessarily have anything else to do. (I know implementation may >> implement more rules than those listed in our document, but that is >> another issue.) >> >> Is that correct? It does not feel 100% right, but I cannot put my finger >> on it... > > I don't think that this is correct -- an empty answer might be the > correct answer. > > Answering a query amounts, in theory, to checking for every possible > answer tuple if that tuple is entailed by the ontology. E.g., if the > query simply asks for C(?x) (i.e., for all the instances of C), then we > can think of this as checking for every URI name u in an ontology O if O > entails C(u). Thus, we can guarantee that the answer is sound and > complete only if we can guarantee that checking such entailments will > never return Unknown. Theorem 1 indicates when this is the case for > implementations based on the RL/RDF rules -- i.e., when the ontology and > query satisfy the relevant conditions. If these conditions are not > satisfied, or if the conditions have not been checked, then only > returning answers for which the relevant entailment check returns "True" > will ensure that query answers are still sound, but completeness cannot > be guaranteed. > Is it really different from what I said for an implementation that does not check Theorem 1? Your note in the document says that such implementation should return Unknown if the entailement True is not possible. Ie, if no match is found for, say, C(?x), the correct answer for such an implementation is, formally, Unknown... Ivan > Ian > > > >> >> Ivan >> >>> >>> -- Sandro >>> >> >> -- >> >> Ivan Herman, W3C Semantic Web Activity Lead >> Home: http://www.w3.org/People/Ivan/ >> PGP Key: http://www.ivan-herman.net/pgpkey.html >> FOAF: http://www.ivan-herman.net/foaf.rdf > -- Ivan Herman, W3C Semantic Web Activity Lead Home: http://www.w3.org/People/Ivan/ PGP Key: http://www.ivan-herman.net/pgpkey.html FOAF: http://www.ivan-herman.net/foaf.rdf
Received on Monday, 8 September 2008 20:29:56 UTC