- From: Birte Glimm <birte.glimm@comlab.ox.ac.uk>
- Date: Wed, 3 Mar 2010 17:04:57 +0000
- To: Andy Seaborne <andy.seaborne@talis.com>
- Cc: Lee Feigenbaum <lee@thefigtrees.net>, SPARQL Working Group <public-rdf-dawg@w3.org>
On 3 March 2010 15:40, Andy Seaborne <andy.seaborne@talis.com> wrote: > > > On 03/03/2010 3:32 PM, Birte Glimm wrote: >> >> Thanks a lot Lee for the great summary! >> >> On 3 March 2010 06:16, Lee Feigenbaum<lee@thefigtrees.net> wrote: >> >> [snip] >> >>> > == The Proposals == >>> > >>> > I see only two realistic proposals emerging from this. >>> > >>> > 1/ We prohibit blank nodes in the DELETE template completely. >> >> This might work nicely for simple entailment, but will not work for >> OWL (maybe RIF too). E.g., if I have a statement that Peter has some >> parent who's a Lawyer, I can say that in OWL functional-style syntax >> with: >> ClassAssertion(ObjectSomeValuesFrom(ex:hasParent ex:Lawyer) ex:Peter) >> For this, the (normative) mapping to triples gives: >> ex:Peter a _:x. >> _:x a owl:restriction . >> _:x owl:onProperty ex:hasParent . >> _:x owl:someValuesFrom ex:Person . > > ex:Lawyer? Ups, yes. >> for a fresh bnode _:x. There is no way to represent this OWL statement >> without bnodes, but it is always possible to use a square bracker >> form. > > I think Lee is referring to syntactic use of bnodes in a delete template, > not bnodes that might be found by a query pattern and bound to a variable. > So _:x is a new bnode not the bnode with that label in the data. > > It would be deleted by: > > DELETE WHERE > { > ex:Peter a ?var. > ?var a owl:restriction . > ?var owl:onProperty ex:hasParent . > ?var owl:someValuesFrom ex:Lawyer . > } > > using variables with ?var binding to exactly the bnode that was syntactical > _:x in the data. Unfortunately not, because such a bnode binding will be filtered out from the results by the conditions on answers. If it were not filtered out, you could get infinite results because replacing _:x with :_xx or _:xxx or ... would equally be entailed. Since we use entailment, using the same sub-graph criterion that simple entailment uses to limit answers with just different bnode labels does not really work for entailments. For anonymous individuals in OWL (bnodes in individual positions) we use skolemisation, but the bnodes that are just used to represent some concepts are invisible to the reasoner and skolemising them is quite strange for Direct Semantics. Such a BGP would, actually not even be legal under Direct Semantics because it cannot really be turned into an OWL structural object. Birte > Andy > > -- Dr. Birte Glimm, Room 306 Computing Laboratory Parks Road Oxford OX1 3QD United Kingdom +44 (0)1865 283529
Received on Wednesday, 3 March 2010 17:05:29 UTC