On 06/05/11 21:33, Damian Steer wrote:
Hi Tim,
Sorry, still on my phone so this is from memory: your MINUS doesn't bind
anything, so nothing will be removed. You could FILTER out that result?
Spot on.
FILTER NOT EXISTS might be what you want.
although still you need to binding something in right hand side.
or simply
FILTER(?n0 !=
<http://www.Department0.University0.edu/AssistantProfessor0> && ?n1 !=
<http://www.Department0.University0.edu/Course38> )
MINUS removes rows on the left depending on whether they they are
compatible and share a common variable with rows on the right.
...
MINUS
{ BIND(<http://www.Department0.University0.edu/AssistantProfessor0> AS ?n0
BIND(<http://www.Department0.University0.edu/Course38> AS ?n1)
}
is a quite bizarre way of doing it.
Andy
Damian
Sent from my iPhone
On 6 May 2011, at 20:42, Tim Harsch<[email protected]> wrote:
oops should have looked closer. The DISTINCT is not violated. Question
remains about MINUS.
________________________________
From: Tim Harsch<[email protected]>
To: JENA-USERS<[email protected]>
Sent: Fri, May 6, 2011 12:31:11 PM
Subject: query where distinct and minus have no effect
Hi,
Using the LUBM0 dataset I tried the following query in Fuseki-0.1.0.
PREFIX ub:<http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#>
SELECT DISTINCT *
WHERE {
?n0 ub:teacherOf ?n1.
MINUS {<http://www.Department0.University0.edu/AssistantProfessor0>
ub:teacherOf<http://www.Department0.University0.edu/Course38> }
} ORDER BY ?n0 ?n1
The first three results are below. Notice the first result contains
AssistantProfessor0, Course38 (violating the MINUS) and the next two results are
redundant (shouldn't happen with DISTINCT). Any ideas? The NT file can be
found in this Zip archive I packed up for other reasons ( http://bit.ly/k8adNJ
).
<result>
<binding name="n0">
http://www.Department0.University0.edu/AssistantProfessor0
</binding>
<binding name="n1">
http://www.Department0.University0.edu/Course38
</binding>
</result>
<result>
<binding name="n0">
http://www.Department0.University0.edu/AssistantProfessor0
</binding>
<binding name="n1">
http://www.Department0.University0.edu/Course39
</binding>
</result>
<result>
<binding name="n0">
http://www.Department0.University0.edu/AssistantProfessor0
</binding>
<binding name="n1">
http://www.Department0.University0.edu/GraduateCourse39
</binding>
</result>