W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > July to September 2006

Re: Constructive mapping semantics for SPARQL

From: Fred Zemke <fred.zemke@oracle.com>
Date: Mon, 21 Aug 2006 10:33:24 -0700
Message-ID: <44E9EE64.7010401@oracle.com>
To: andy.seaborne@hp.com
CC: public-rdf-dawg@w3.org

Seaborne, Andy wrote:

> Fred Zemke wrote:
>> For your consideration,
>> the attached paper presents a formal semantics for SPARQL
>> that is based on mapping rather than entailment.
>> Fred
> I was a bit confused by the 'bindable' terminology - am I right in 
> reading you your document as saying that blank nodes, in queries, are 
> not be bound to a graph term, as their existential.

Yes and no.  I was trying to flesh out the semantics in [SPARQL CR]  2.5.2
"SPARQL basic graph pattern matching" which says (last para) that "...it is
possible to proceed by finding a mapping from blank nodes and variables...
a pattern solution is then a mapping restricted to just the variables."
In this model, there are (at least) two stages: first, one in which 
blank node
identifiers are mapped; second, one in which the mappings are restricted to
just variables.

So to flesh this out, I thought it would be useful to have two sets of 
one for the first stage and one for the second stage.  In the first 
stage, both
variables and blank node identifiers are bindable, hence the terms
"bindable" for the things that are bindable and "mapping" for the functions.
In the second stage, we already have "variable" for the things that are 
and w need "variable mapping" for the functions.

> Test case:
> Data:
> :x :p 1 .
> :y :p 1 .
> Query:
> SELECT ?x { [] :p ?x }
> has one solution ?x/1 doesn't it

Following the outline of my paper, this query could be solved as follows:

Replace [] by an implementation-dependent unique blank node identifier _:a
(not mentioned explicitly in my paper; my previous papers have all said
that we begin by removing all abbreviations.)

Tree: there is a single TRIPLE node with three children, _:a :p ?x

Path: there is a single path, the entire tree.

Construction: the default graph at each node of the tree must be the
default graph of the query, so CD is clear.

Mapping construction: there are two, as follows:

_:a -> :x, ?x -> 1
_:a -> :y, ?x -> 1

Restricted construction: the default graph construction is never changed
at this step. 

The restricted mapping construction is formed by restricting the preceding
two mapping constructions.  They restrict to the same thing, ?x -> 1.

 Thus there is only one restricted construction.

Solution: the restricted construction at the root node of the tree is ?x 
-> 1

Solution sequence: the only possible sequence of one element.

And that's all I have time to respond to in this message at this time.
I will come back to the rest of Andy's message.

Received on Monday, 21 August 2006 17:34:27 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:00:51 UTC