- From: Geoff Chappell <geoff@sover.net>
- Date: Fri, 17 Jun 2005 08:53:45 -0400
- To: <andy.seaborne@hp.com>
- Cc: <public-rdf-dawg-comments@w3.org>
> -----Original Message----- > From: Seaborne, Andy [mailto:andy.seaborne@hp.com] > Sent: Friday, June 17, 2005 4:19 AM > To: Geoff Chappell > Cc: public-rdf-dawg-comments@w3.org > Subject: Re: Test cases > > Geoff Chappell wrote: > > > >>-----Original Message----- > >>From: Seaborne, Andy [mailto:andy.seaborne@hp.com] > >>Sent: Wednesday, June 15, 2005 11:32 AM > >>To: Geoff Chappell > >>Cc: public-rdf-dawg-comments@w3.org > >>Subject: Re: Test cases [...] > Geoff, > > This does seem to suggest an approach though. > > The definitions could require that any binding is tracable to a basic > pattern > match from some part of the overall query pattern. This restricts the > graph > terms to those that can arise anywhere in the query from a basic pattern - > and > it's only basic patterns that connect the query pattern to the target RDF > graph. My guess is that to define "traceable" you'll have to introduce equivalence preserving transformations/re-writes that result in an equivalent query as a matrix of purely conjunctive queries. Those might look something like: optional (a) -> a union !a !(a union b) -> !a !b !(a b) -> !a union !b a (b union c) -> a b union a c ... One approach then would be to require that for all conjunctive queries in the matrix, any variable that occurs in each must occur at least once in a positive basic pattern in that same query (i.e. all vars are range-restricted so the query is safe). I think this is what you're suggesting above? The downside of that is that it pretty much eliminates optionals which seems a bit baby-out-with-the-bath-water-ish. Another approach would be to say that for each of the conjunctive queries, if a variable occurs in a positive basic pattern it is range-restricted to the terms that occur in the dataset (plus graph names to allow for vars in graph name positions), otherwise it has some special value (null or unbound or ...). This preserves the intended meaning of optional and provides a clear set of rules to determine when unbound vars are introduced. > > Andy Geoff
Received on Friday, 17 June 2005 12:54:16 UTC