It's all about the answers!

Ask a question

SPARQL Query Question

Stephen McCants (2676) | asked Nov 23 '09, 6:38 p.m.
Hi All,
I'm using SPARQL with JFS Query and Indexing and I have a question about forming a SPARQL query. I
want to have a query that reports results that not only match a criteria, but are also missing a
field. For example, I might have an index that generates something like this:


So my query would like (ignoring the PREFIX declarations) like this:

SELECT ?resource WHERE { ?resource j.2:poolId \"813f9e12-bbee-4013-a593-eeab8ccd08fc\" ;
j.2:commandLocator \"\" . }

However, that would not match, because there is no j.2:commandLocator in the index. I do want it to
match when the poolId is a certain value and there no entry for commandLocator in the index (because
there is no commandLocator). How can I do the second part?
Thanks in advance!


One answer

permanent link
Philippe Mulet (55112) | answered Nov 25 '09, 7:46 a.m.
Yes this is feasible using the bound Sparql function combined with OPTIONAL, see for full details, but roughly you could write your query like:

SELECT ?resource 

?resource j.2:poolId "813f9e12-bbee-4013-a593-eeab8ccd08fc" .
OPTIONAL { ?resource j.2:commandLocator ?loc } .
FILTER ( !bound(?loc) )

Your answer

Register or to post your answer.