W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > April to June 2010

Re: Negation decision : unexpected effects

From: Steve Harris <steve.harris@garlik.com>
Date: Mon, 5 Apr 2010 22:51:44 +0100
Cc: Lee Feigenbaum <lee@thefigtrees.net>, SPARQL Working Group <public-rdf-dawg@w3.org>
Message-Id: <CB8CCDA0-2C7A-4C26-9FC0-0AECEA9B0E76@garlik.com>
To: Andy Seaborne <andy.seaborne@talis.com>
On 2010-04-05, at 22:14, Andy Seaborne wrote:
>> 
>> I believe that most of the user world would simply accept that the words
>> used for negation as a graph pattern and negation in a filter are
>> different. I don't think any such easy explanation can be given when
>> both can be used as graph pattern keywords.
> 
> I think this stikes to the heart of the issue here: MINUS isn't negation of the pattern, it's remove of compatible, related bindings.
> 
> The section headings I've put in so far for this are:
> 
> [[
> 8.1 Testing for the absence of a pattern
> 
> 8.2 Removing bindings
> ]]
> and the choice of 8.2 wording was based on Steve's wording in:
> http://lists.w3.org/Archives/Public/public-rdf-dawg/2010JanMar/0663.html

There I was mostly checking to make sure I understood the current thinking. I wasn't writing precisely.

> For example:
> 
> { ?s ?p ?o MINUS { SELECT (:s AS ?s){} } }
> 
> removes the ?s=:s binding rows regardless of the contents of the graph.
> 
> { ?s ?p ?o MINUS { ?x ?y ?z } }
> 
> where the contents of the graph don't matter for the MINUS (if it's empty ?s ?p ?o is zero rows)

Right, this illustrates the desired behaviour when the LHS and RHS don't intersect.

I still have no strong feeling about what this should do.

- Steve

-- 
Steve Harris, Garlik Limited
1-3 Halford Road, Richmond, TW10 6AW, UK
+44 20 8439 8203  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 Monday, 5 April 2010 21:52:13 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:15:42 GMT