In SPARQL 1.1, there is grouping and MAX:

SELECT ?person
WHERE {
  ?person :has_number ?number .
}
GROUP BY ?person
HAVING (MAX(?number) < 10)

        Andy

On 20/12/10 14:53, Matteo Busanelli wrote:
I everyone sparql people,
i need support on a query that is giving me trouble.

I want to select all instances of a class witch have ALL the value of
the property P1 matching a condition.
My problem is to express the ALL assertion. I'm able of selecting all
the triple in witch an instance verify the condition for the property P1
but I can't assert that this istance doesen't have also a valorization
of the property that doesn't verify my condition.

EXAMPLE
Having:

Matteo has_number 12
Matteo has_number 3
Matteo has_number 8

Lee has_number 9
Lee has_number 2
Lee has_number 4

I want to find the persons that HAS ONLY number less than 10.

This doesn't work because return also Matteo:

SELECT DISTINCT ?person
WHERE {
?person :has_number ?number .
FILTER (?number < 10)
}

Result:

Matteo
Lee

Wanted result:
Lee

Can you suggest me the way I can do that?

Thank you for your time,
Matteo



Reply via email to