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

RE: action item "to send pointers to test cases to the list"

From: Jos De_Roo <jos.deroo@agfa.com>
Date: Thu, 8 Jul 2004 19:32:27 +0200
To: andy.seaborne@hp.com
Cc: public-rdf-dawg@w3.org
Message-ID: <OF2E56AC24.572721DB-ONC1256ECB.004913C1-C1256ECB.00604B3A@agfa.com>

Andy wrote:
> 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 } .
                         ^.
(I have some running code problem for the case of (?X ?Y) only graphs
but thanks for suggesting that possibility...)
for the case we discuss here, the ?Y in S1 is needed

> 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")

indeed

> 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.

that's right


> [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?] 

the meaning is the same as in
http://www.w3.org/DesignIssues/N3QL#Design3
i.e. in this case it is
{ :x :p ?X ; :x :q ?Y } => { q:result q:is (?X ?Y) }.
and the scope of ?X is that formula as explained in
http://www.w3.org/2003/Talks/0520-www-tf1-b3-rules/slide21-0.html

-- 
Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/
Received on Thursday, 8 July 2004 13:33:11 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:15:20 GMT