- From: Seaborne, Andy <andy.seaborne@hp.com>
- Date: Wed, 02 May 2007 15:22:08 +0100
- To: Dan Connolly <connolly@w3.org>, Sandro Hawke <sandro@w3.org>
- CC: timbl@w3.org, public-cwm-talk@w3.org
A SPARQL CONSTRUCT behaves like cwm - the label scope is the individual template instantiation. This is by design. Andy Dan Connolly wrote: > On Mon, 2007-04-30 at 20:17 -0400, Sandro Hawke wrote: >> Here's a test (motivated by a current discussion in RIF-WG): >> >> <a> <b> <c>. >> <a> <b> <d>. >> { <a> <b> ?x } => { _:x <b_inferred> ?x. }. >> _:x <b_given> <c>. >> _:x <b_given> <d>. >> >> The (relevant) output I get from cwm is: >> >> [ <b_given> <c>, <d> ]. >> [ <b_inferred> <c> ]. >> [ <b_inferred> <d> ]. >> >> which makes it clear that the "_:x" inside the rule conclusion does not >> name the same thing as the other "_:x"'s in the file do. In other >> words, b-nodes in rule conclusions get an implicit existential >> quantifier inserted. They don't just use the implicit one around the >> file. >> >> Two questions: (1) is that as it should be? > > yes, I'm pretty sure that's by design. > I'm pretty sure we captured that design decision in tests. > >> (2) how strongly do you feel that way? (would it >> be reasonable to do it the other way, perhaps?) > > It might be reasonable to say "don't do that" in response > to using _:x in different scopes, but I don't > think it's reasonable to use the syntax above to mean something else. > -- Hewlett-Packard Limited Registered Office: Cain Road, Bracknell, Berks RG12 1HN Registered No: 690597 England
Received on Wednesday, 2 May 2007 14:22:22 UTC