- From: Seaborne, Andy <andy.seaborne@hp.com>
- Date: Thu, 8 Jul 2004 14:03:34 +0100
- To: Jos De_Roo <jos.deroo@agfa.com>
- Cc: public-rdf-dawg@w3.org
Jos, Thanks for the explanation - I'd missed the effect of merging the two :select a queries together. Let me try and rephrase to make sure I understand / for you to point out where I have missed the point: We have queries: # S1 - must we have the ?Y here? [] q:select { (?X ?Y) } ; q:where { :x :p ?X } . # S2 [] q:select { (?X ?Y) } ; q:where { :x :p ?X ; :x :q ?Y } . data: :x :p "v-p" . :x :q "v-q" . then S1 gives graph ("v-p" ?Y) S2 gives graph ("v-p" "v-q") merging gives: ("v-p", "v-q") because ?Y unifes with "v-q", so because there is at least match, the original ("v-p" ?Y) can be removed. This is the merge rule for universal variables. [Aside: in [] q:select { q:result q:is (?X ?Y) } ; q:where { :x :p ?X ; :x :q ?Y } . why is the ?X in the q:select formula connected to the ?X in the q:where formula. What are the scoping rules on ?-named variables? Is it the document?] Andy
Received on Thursday, 8 July 2004 09:04:11 UTC