Re: “Default” vs “unnamed” graph

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