- From: Fred Zemke <fred.zemke@oracle.com>
- Date: Sun, 03 Dec 2006 09:52:38 -0800
- To: axel@polleres.net
- CC: public-rdf-dawg-comments@w3.org, public-rdf-dawg@w3.org
Axel Polleres wrote: > * I'd like to suggest to the working group some straightforward > extensions of SPARQL such as adding the set difference operator MINUS, > and allowing nesting of ASK queries in FILTER expressions which come > basically for free in the approach. > > * Finally, I discuss an extension towards recursion by allowing > bNode-free-CONSTRUCT queries as part of the query dataset, which may > be viewed as a light-weight, recursive rule language on top of of RDF. I think the ASK and CONSTRUCT ideas are very natural. I proposed them when I first took a look at SPARQL, though my starting point was experience within SQL. SQL experience shows it is useful to be able to write subqueries. In SPARQL, two natural places to put subqueries are ASK inside of FILTER and CONSTRUCT inside of FROM. However, I don't follow you when you call CONSTRUCT inside of FROM "recursive". I don't see a way, for example, to construct triples with a verb "is_ancestor_of" from a graph containing the verb "is_parent_of", unless you have a priori information about the maximum number of generations in the graph. Rather, I would position CONSTRUCT inside of FROM as the ability to create what SQL folks call an in-line view. One benefit of in-line views would be that one developer could design an in-line view that other developers (or self, later in time) would simply cut-and-paste into their work. This spares the need to re-invent a wheel. Anyway, at the time I proposed these ideas, they were acknowledged as good but to be saved for an r2 version of SPARQL. Fred
Received on Sunday, 3 December 2006 17:54:21 UTC