- From: Axel Polleres <axel.polleres@deri.org>
- Date: Thu, 13 Nov 2008 00:43:12 +0000
- To: Jaroslav Pullmann <jaroslav.pullmann@fit.fraunhofer.de>
- CC: public-sparql-dev@w3.org
Jaroslav Pullmann wrote: > > Hello, > to check for property cardinalities within an RDF document I used > following queries: > > - for cardinality 0-1: NOT(Q2) > - for cardinality 1: Q1 AND NOT(Q2) > - for cardinality 1-n : Q1 > > > # Q1 > ASK > WHERE > { > ?s rdf:type pfx:Foo; pfx:bar ?b . > } you want to check cardinality 1-n of the bar propery on class Foo, I assume... looks fine, could syntactically be abbreviated a bit using turtle shortcuts: ASK WHERE { [a pfx:Foo] pfx:bar ?b .} > # Q2 - no solutions, no duplicates > ASK > WHERE > { > ?s rdf:type pfx:Foo; > pfx:bar ?b; > pfx:bar ?b1 > FILTER(?b != ?b1) > } also looks reasonable to me, you could do a positive version, by "hifing the NOT in an OPTIONAL as usual: ASK WHERE { OPTIONAL{ [a pfx:Foo ] pfx:bar ?b, ?b1 . FILTER(?b != ?b1) } FILTER( ! bound (?b ) ) } > Could these queries be formulated in a simpler, more elegant way ? > > Many thanks for your suggestions > Jaro > > > -- Dr. Axel Polleres Digital Enterprise Research Institute, National University of Ireland, Galway email: axel.polleres@deri.org url: http://www.polleres.net/
Received on Thursday, 13 November 2008 00:43:55 UTC