Re: b-nodes in rule conclusions

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