- From: Bob MacGregor <bob.macgregor@gmail.com>
- Date: Thu, 5 Mar 2009 08:39:56 -0800
- To: Toby Inkster <tai@g5n.co.uk>
- Cc: Orri Erling <erling@xs4all.nl>, Simon Gibbs <simon.gibbs@cantorva.com>, public-rdf-dawg-comments@w3.org
- Message-ID: <a0d0f8f70903050839h7e69a92et1b77356e123f2346@mail.gmail.com>
Hi Toby, I'm wondering how literally you mean the phrase but rather builds an rdf:List. One application I worked with had an IN operator that was implemented to reference arrays of integer encodings of URIs or Literals. The lists often had tens of thousands of values. A real rdf:List would not cut it. The point is, as Orri mentions, there are very powerful optimizations that can be done with the IN operator. It can be used as a way to compress the answers from one query, and then forward them into another. It can be used as a way to compress a computation done in procedural code (Java, Python) and then inject the results into a query. It would be a shame to downgrade it to something that only works well for tiny applications. Cheers, Bob On Thu, Mar 5, 2009 at 1:22 AM, Toby Inkster <tai@g5n.co.uk> wrote: > On Thu, 2009-03-05 at 10:10 +0100, Orri Erling wrote: > > > variable IN (<expression_list>) > > The way I suggested it would be > > variable1 IN variable2 > > Where variable2 is an rdf:List. In particular, this could be a list > specified as part of the SPARQL query as in my original example: > > > PREFIX foaf: <http://xmlns.com/foaf/0.1/> > > PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> > > SELECT ?thing ?name > > WHERE { > > ?thing ?p ?name . > > FILTER (?p IN (foaf:name foaf:nick rdfs:label)) > > } > > The inner set of brackets there is not part of the IN operator syntax, > but rather builds an rdf:List. > > So it can just refer to a list defined in the graph itself: > > SELECT ?header > WHERE { > ?thing a :httpHeader . > FILTER (?thing IN <#responseHeaders>) > } > > -- > Toby Inkster <tai@g5n.co.uk> > > -- ===================================== Robert MacGregor bob.macgregor@gmail.com Mobile: 310-469-2810 =====================================
Received on Thursday, 5 March 2009 16:40:32 UTC