- From: Geoff Chappell <geoff@sover.net>
- Date: Wed, 23 Feb 2005 12:12:07 -0500
- To: <andy.seaborne@hp.com>
- Cc: <public-rdf-dawg-comments@w3.org>
> -----Original Message----- > From: Seaborne, Andy [mailto:andy.seaborne@hp.com] > Sent: Wednesday, February 23, 2005 9:59 AM > To: Geoff Chappell > Cc: public-rdf-dawg-comments@w3.org > Subject: Re: Question/Comment on FROM and WITH > > Geoff Chappell wrote: > > Are graph labels lost when assembling a background graph with WITH > clause? > > Yes, they are. > > > E.g. what would I get for this query? > > > > > > SELECT ?src > > WITH <http://example.org/foaf/aliceFoaf> > <http://example.org/foaf/bobFoaf> > > WHERE > > GRAPH ?src > > { > > ( ?x ?y ?z ) > > } > > > > and what about this one - will it return any results? > > > > SELECT ?x > > FROM <http://example.org/foaf/aliceFoaf> > > WHERE > > ( ?x ?y ?z ) > > There are no solutions to either query. And, yes, it's potentially > confusing. > As in the message to Bob MacGregor, suggestions for better names most > welcome - I'll predict that people are going to get pretty confused about FROM/WITH if they remain as they are. I wonder if a slightly different model would make more sense to people - e.g. something like this: SELECT ?src FROM <http://example.org/foaf/aliceFoaf> <http://example.org/foaf/bobFoaf> AS <http://example.org/foaf/allFoaf> ... I.e. use AS to rename one or more graphs; if no AS is specified each graph is known by its own uri/name. You'd need to come up with a well-known name for the default/background/nameless graph - e.g: SELECT ?src FROM <http://example.org/foaf/aliceFoaf> <http://example.org/foaf/bobFoaf> AS <http://example.org/foaf/allFoaf>, <http://example.org/otherData> AS <http://www.sparql.org/DefaultGraph> ... would have one named graph (allFoaf - containing bob and alice's foaf data) and one background graph (DefaultGraph containing otherData). Then: WHERE ( ?x ?y ?z ) would match all triples in the default (<http://www.sparql.org/DefaultGraph>) graph. Or Alternatively, have no name for the background graph and say that if no AS is specified, the graph(s) are in the background graph - e.g: SELECT ?src FROM <http://example.org/foaf/aliceFoaf> <http://example.org/foaf/bobFoaf> AS <http://example.org/foaf/allFoaf>, <http://example.org/otherData> ... would have one named graph (allFoaf - containing bob and alice's foaf data) and one background graph (containing otherData). I don't think the slight benefit you get from the FROM/WITH shorthand outweighs the confusion it will likely cause. -Geoff
Received on Wednesday, 23 February 2005 17:13:05 UTC