Re: spruced up definitions

Pat Hayes wrote:
> See http://www.ihmc.us/users/phayes/TEMP/DEFS_pat-1.html  Not fully 
> complete, questions in red.
> 
> Pat
> 

Answers to some questions and some question from me:

 >let RDF-U be the set of all  RDF URIs [[SHOULD THAT BE URI REFERENCES??]]
 >let RDF-L be the set of all RDF Literals
 >let RDF-B be the set of all blank nodes

The language RFC 3986 means that "URI" includes absolute URIs with a #frag.  A 
URI reference is only need if it were relative URIs.

 > A triple pattern is a triple in (RDF-T union V)x (RDF-T union V)x (RDF-T 
union V).

That puts literals into the property position.
Is that intentional?

 > A Substitution is a partial mapping ...

I don't understand the distinction of substitution and solution.  It seems that 
a solution is a restriction of a substitution on the variables of a basic 
patetrn but later it seems to be redefined/extended to all the pattern cases. 
Therefore, why not just have "solution" -- substitution only gets used for basic 
patterns.

 >A SPARQL query is a 4-tuple consisting of a graph pattern, defined below; a 
 >dataset description, which is a set of URIs; a set of solution sequence 
 >modifiers, defined below [[Where are these defined??]], and a result form, 
also >defined below.

[[Where are these defined??]] => should now be in the document.

 > A pattern is one of:
 > a basic graph pattern;
 > a constrained pattern, which is a pattern plus a value constraint;

Is there a particular reason to make this a pair of (pattern, constraint)? 
Would it work to just define "value constaint" and have define it to "match" a 
solution if it evaulates to true?

This defines seems to exclude:

{ :x :p ?v } UNION { :y :q ?v } . FILTER ?v < 5

c.f. ?v math:lessThan 5

The doc currently tries to make contraints just a member of a group like 
everything else.

 > an optional pattern, which contains a pattern;
 > a group pattern, which is a finite set of patterns;
 > a union pattern, which is a finite set of patterns;

Is the "finite" significant?  I'm happy to include it - just want to know.

 > a dataset pattern, which is a pair of a graph identier and a pattern, where a 
graph identifier is an element of (V union RDF-U)

Will use the terminology "dataset pattern".

 > Note, queries are understood to be evaluated with respect to a dataset.

Yes - Dan spotted that - definitely need to say this!

 > If P is a basic graph pattern then a solution for P on D is any solution for 
P > on some G with G in D or <x, G> in D. [[is that right? Do we include the 
named > graphs even when the pattern does not mention datasets explicitly?]]

No - P matches the default graph but the GRAPH clause changes the graph matched.

There are two ways to do this I can see:

1/ Define the "active graph" as the one being matched - starts as the default 
graph and GRAPH changes it to one of named ones.

2/ Define the default graph to change to the named one in GRAPH.  GRAPH is anot 
a scope - once inside a GRAPH clause, application can't see the default graph 
but can change to another named GRAPH (a weird, if legal query).

My preference is 1.

 > If P is a constrained pattern containing a pattern P' and a value constraint 
V > then S is a solution for P when S is a solution for P' and S(V) evaluates to
 > true.

As a check here - shouldn't that be V(S(P)) evalutes to be true?
If so, then there seems no special need to tie a constraint to a basic pattern.

	Andy

Received on Wednesday, 25 May 2005 14:05:13 UTC