- From: Robert Scanlon <rscanlon@revelytix.com>
- Date: Tue, 15 Mar 2011 17:36:23 -0500
- To: Richard Cyganiak <richard@cyganiak.de>
- Cc: RDB2RDF WG <public-rdb2rdf-wg@w3.org>
- Message-ID: <AANLkTimn9D+v4cC4DxQaQLP_nDwV9rGxDF7DHtmdQU_=@mail.gmail.com>
Hi Richard, I'll throw in how we look at things at Revelytix, which I think is basically aligned with what you've suggested. Referring to the R2RML-generated 'unnamed' graph as the 'default graph' is entirely in keeping with SPARQL query services. (Although we can definitely understand wanting a different term, as given the ambiguities in the SPARQL spec relative to graphs and datasets, we've actually tossed around similar ideas on our side). When talking about it in conversation, to disambiguate the overloaded uses of the term 'default graph', we sometimes call the default graph exposed by the query service the 'default' default graph; in other words, it is the default graph which is served up 'by default', if a query does not explicitly call our a default graph using FROM. I think that for our own query services that use R2RML, we may treat what the mapping specifies as the graphs (named and default) as a 'starting point' for a deployer to configure the actual service graphs. We tend to separate out 'modeling' (where R2RML is used) from deployment/configuration (administrative fcns) from runtime operations. As an admin function, a deployer of the service might elect to hide some named graphs, merge some others, and totally re-define the default default graph exposed by the service. The UI screen she'd use to do all this would show her the graphs (named and default) exposed by the R2RML-enabled service, from which she'd select and modify things until the service's graphs (default and named) were exposed. So the bottom line is, what's specified in the R2RML mappings will not necessarily be what's exposed out our query service. As a semi-related aside, we are using the new SPARQL 1.1 Service Description<http://www.w3.org/TR/sparql11-service-description/>standard to expose graph information for our services. That spec actually actually introduces the notion of a 'defaultDatasetDescription' which points to a Dataset that encapsulates both the 'default' default graph as well as a set of named graphs to be used for binding to variable Graph graph patterns if no FROM NAMED are specified. As far as I can tell, this is the first spec to refer to 'datasets' in the context of the service, rather than the query; SPARQL datasets are completely in the context of the query (informed by the service) as far as I can tell. [Service Description also has a separate set of availableGraphDescriptions, which are presumably what can be called out in FROM NAMED clauses.] Anyways, that's some background from the (ever-evolving) Revelytix perspective... Bob Scanlon Revelytix On Tue, Mar 15, 2011 at 4:18 PM, Richard Cyganiak <richard@cyganiak.de>wrote: > I'd like to re-iterate my position from this call that we should define the > output of an R2RML mapping as an RDF Dataset in the SPARQL sense, as it > already says in the introduction, and consistently use the SPARQL's > terminology. > > This would imply using the terms “named graph” and “default graph”. The > term “unnamed graph” would be removed from the spec. > > The objection raised in the call was that the default graph used in a > SPARQL query can actually be constructed on the fly, on a query-by-query > basis, by using the FROM keyword or SPARQL protocol parameters. > > This is a valid observation. But I argue that this doesn't conflict at all > with the use of the RDF Dataset concept and the term “default graph”. > > To quote from the SPARQL spec [1]: > > > A SPARQL query may specify the dataset to be used for matching by using > the FROM clause and the FROM NAMED clause to describe the RDF dataset. If a > query provides such a dataset description, then it is used in place of any > dataset that the query service would use if no dataset description is > provided in a query. > > This makes clear that if FROM/FROM NAMED are used, then one queries a > *different* dataset from the one that the query service offers *by default* > if FROM/FROM NAMED were not used. > > I'm proposing that we think of the R2RML-generated dataset as the dataset > which a query service would use by default in absence of a specific dataset > description. This doesn't preclude the possibility of overriding the default > graph or any other graph with FROM/FROM NAMED and the SPARQL protocol. > > This would be a simple change in terms of spec text (s/unnamed > graph/default graph/ and check the early sections for anyplace that should > say “RDF dataset” instead of “RDF graph”). So I propose that we do this > before the WD release. > > If there are no objections (on- or off-list), I'll go ahead and do this. > > Best, > Richard > > [1] http://www.w3.org/TR/rdf-sparql-query/#unnamedGraphp >
Received on Tuesday, 15 March 2011 22:36:56 UTC