Re: [TF-PP] Duplicates and simple property path expressions.

On 5 Mar 2010, at 08:02, Ivan Herman wrote:
>
> On 2010-3-4 15:53 , Andy Seaborne wrote:
>> In
>> http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2010Feb/0018.html
>>
>>
>> Rob Vesse observes that "no duplicates" is at odds with the  
>> expansion of
>> a simple path (a term we have already decided to remove) into a  
>> triple
>> pattern because there is an implicit projection going on.
>>
>>  {?x foaf:knows{2} ?y}
>> is not quite the same as
>>  { ?x foaf:knows ?z . ?z foaf:knows ?y }
>> when there are acylic components/
>> e.g.:
>>
>> :a foaf:knows :b .
>> :a foaf:knows :c .
>> :b foaf:knows :d .
>> :c foaf:knows :d .
>>
>> because ?z is projected away.
>>
>> We can specify either way:
>>
>> + emphasis that certain property paths are the same as the triple
>> expansion form, and not have the striuct no duplicates rule (this
>> reintroduces the simple property paths concept) or
>>
>> + note, and provide an example, that they are not exactly equivalent.
>>
>> I prefer the latter - keep the "no duplicates" situation.
>>
>
> So do I. As a user, who does not know about the algebra and such,  
> having
> ?x/:a and ?y/:d to the {?x foaf:knows{2} ?y} seems like the natural
> answer...

Actually, naively I'd expect {?x foaf:knows{2} ?y} to do the same as {? 
x foaf:knows ?tmp . ?tmp foaf:knows ?y}. On the other hand, I suppose  
people might not care about cardinality in the property path case? Not  
strong feelings I guess.

What does this do to list handling though? If you have
    :x :p (1 2 2 3) .
and
    { :x rdf:rest*/rdf:first ?y } [or whatever the right combo is]
won't you get
    ?y = 1, 2, 3
as a result?

- Steve

-- 
Steve Harris, Garlik Limited
2 Sheen Road, Richmond, TW9 1AE, UK
+44 20 8973 2465  http://www.garlik.com/
Registered in England and Wales 535 7233 VAT # 849 0517 11
Registered office: Thames House, Portsmouth Road, Esher, Surrey, KT10  
9AD

Received on Friday, 5 March 2010 10:57:20 UTC