Re: Negation section text updated.

Some remarks on negation.

8 Negation

"one based filtering results"
one based on filtering results

8.1 Filtering Using Graph Patterns

"Filering of query solutions"

Note that there are two syntax for negation :

filter(not exists PAT)

filter(! exists PAT)

8.1.2 Testing For the Presence of a Pattern

EXISTS { ?person foaf:name ?name }
FILTER EXISTS { ?person foaf:name ?name }

8.2 Removing bindings

"then to calculates"
then calculates

8.3 Relationship and difference between NOT EXISTS and MINUS


"Note: NOT EXISTS as a graph pattern is translated into an
algebra filter and positioned exactly where it occurs in the graph pattern,
unlike a FILTER expression which is applied over the whole group it occurs
in, as done during algebra translation. See below."

Isn't this note obsolete as NOT EXISTS is proposed to be a filter ?

8.3 Relationship and difference between NOT EXISTS and MINUS

Introduction to Negation :
"The SPARQL query language incoporates two styles of negation, [one ...] 
and one based on removing solutions related to another pattern."

PREFIX : <http://example/>
?s ?p ?o
MINUS { :a :b :c }

evaluates to result set with one query solution:

<http://example/a> <http://example/b> <http://example/c>

So I write a MINUS to remove solution :a :b :c and I get solution :a :b :c

I wonder how I will explain this to users ...

8.4.1 Algebra: EXISTS

"We define a expression"
define an

8.4.2 Algebra: MINUS

"The additional restriction on dom(μ) and dom(μ') is added so that if 
any solution mapping
has no variables in common with solution mappings of Ω1 then
Minus(Ω1, Ω2) is empty, regardless of the rest of Ω2"

I don't understand this sentence.


Received on Thursday, 20 May 2010 07:27:50 UTC