Sparql advanced question on for all and at least assertion on property...

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


-- 
========================
Matteo Busanelli
Imola Informatica Srl.
Via Selice 66/a
40026 Imola (Bo)
Italy

Tel:  +39 0542 32640
Fax:  +39 0542 28023
Skype:  Busa78
e-mail: mbusanelli@imolinfo.it
web:    http://www.imolinfo.it
Linkedin: http://www.linkedin.com/in/matteobusanelli
Diigo: http://www.diigo.com/list/busa78

Received on Monday, 20 December 2010 21:46:53 UTC