- From: Steve Harris <steve.harris@garlik.com>
- Date: Wed, 3 Mar 2010 14:02:49 +0000
- To: Ivan Herman <ivan@w3.org>
- Cc: Lee Feigenbaum <lee@thefigtrees.net>, SPARQL Working Group <public-rdf-dawg@w3.org>
On 3 Mar 2010, at 12:26, Ivan Herman wrote: ... >> == My Opinion == >> >> While I'm sympathetic to Sandro's use case, I'm frightened of the >> fact >> that: >> >> DELETE { _:b1 :p :o } WHERE { } >> and >> DELETE { ?b1 :p :o } WHERE { } >> >> do dramatically different things. Because of this, I'd rather we go >> with >> the first proposal and prohibit blank nodes in the DELETE template >> entirely. > > I think Sandro's use case is important. Eg, this is the only way we > can > manipulate, via SPARQL UPDATE, RDF graphs encoding OWL constructs > or, if > Sandro's RIF-in-RDF encoding is done, RIF rules. With entailment > regimes > around the corner, I think this is important. (And yes, as you say, > the > restriction on non-named blank nodes is difficult to justify.) One possibility, which I shied away from mentioning before because it's probably a hornets nest, is to change the definition of (0 1 2) to produce non-*-projected variables, instead of bNodes. I think this will be compatible with the semantics of SPARQL 1.0, but wouldn't swear to it. This means that DELETE WHERE { :x :p (0 1 2) } would expand to something like: DELETE { :x :p ?tmp3 . ?tmp1 rdf:first 2 . ?tmp1 rdf:rest rdf:nil . ?tmp2 rdf:first 1 . ?tmp2 rdf:rest ?tmp1 . ?tmp3 rdf:first 0 . ?tmp3 rdf:rest ?tmp2 . } WHERE { :x :p ?tmp3 . ?tmp1 rdf:first 2 . ?tmp1 rdf:rest rdf:nil . ?tmp2 rdf:first 1 . ?tmp2 rdf:rest ?tmp1 . ?tmp3 rdf:first 0 . ?tmp3 rdf:rest ?tmp2 . } Which I believe would delete the list. More complex things like: DELETE { :x :p (0 1 2) . } WHERE { :x :q (3 4 5) . } Aren't going to work, you'd have to write them in full, but I don't see any way round that. - Steve -- Steve Harris, Garlik Limited 2 Sheen Road, Richmond, TW9 1AE, UK +44 20 8973 2465 http://www.garlik.com/ Registered in England and Wales 535 7233 VAT # 849 0517 11 Registered office: Thames House, Portsmouth Road, Esher, Surrey, KT10 9AD
Received on Wednesday, 3 March 2010 14:03:39 UTC