- From: Seaborne, Andy <andy.seaborne@hp.com>
- Date: Wed, 25 May 2005 15:04:57 +0100
- To: Pat Hayes <phayes@ihmc.us>
- CC: Dan Connolly <connolly@w3.org>, www-archive@w3.org, Eric Prud'hommeaux <eric@w3.org>, Bijan Parsia <bparsia@isr.umd.edu>
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