- 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