- From: Matthew Pocock <matthew.pocock@ncl.ac.uk>
- Date: Mon, 2 Aug 2010 17:43:05 +0100
- To: public-owl-dev@w3.org
- Message-ID: <AANLkTinV9yB9ZEnbgzatjfbO-LsE8LD0Bf0VaTrAn26e@mail.gmail.com>
Hi,
Sorry in advance if this is not the right forum for this question. I didn't
know where else to send it.
I am trying to write a sparql query (sparql 1.0) that pulls back things
where a triple is *not* asserted between two resources. So far, I've not
been able to achieve this. I've seen the OPTIONAL/FILTER/!BOUND
pattern<http://www.w3.org/TR/rdf-sparql-query/#func-bound>but I can
only make this work for asserting that a resource does not exist,
not for asserting that a triple is unsaid. The pattern I'm trying to encode
is:
select * where {
?a <r> ?b .
?b <s> ?c .
filter(unsaid { ?a <s> ?c })
}
where unsaid is true if the child expression doesn't match the graph.
However, in sparql 1.0 there is no 'unsaid' function. I've tried a whole
heap of optional/filter/!bound variations but simply can not get this
expressed. I feel that this must be either a well-known unexpressible, or
have a well-known kludge.
Thanks,
Matthew
Received on Monday, 2 August 2010 16:43:47 UTC