W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > October to December 2009

Re: [TF-PP] Document now in CVS

From: Andy Seaborne <andy.seaborne@talis.com>
Date: Mon, 23 Nov 2009 21:59:44 +0000
Message-ID: <4B0B05D0.1030309@talis.com>
To: Ivan Herman <ivan@w3.org>
CC: SPARQL Working Group <public-rdf-dawg@w3.org>

On 23/11/2009 11:01, Ivan Herman wrote:
> Hi Andy,
> nobody reacted until now... But we should thank you in the first place!:-)


> There is still a pending issue in my mind on whether property paths can
> handle list elements properly or not. The issue I see is to be able to
> query list elements in their 'natural' order.

When we had the strawpoll[3], the results [4] didn't suggest much 
support for considering paths with lengths and much against.  I suppose 
the subcase of length of * matching might be easier (not sure) but we 
still have the case of multiple paths to the same RDF term if a list 
contains the same term twice which is a big difference in approaches.

[3] http://lists.w3.org/Archives/Public/public-rdf-dawg/2009JulSep/0439.html
[4] http://lists.w3.org/Archives/Public/public-rdf-dawg/2009OctDec/0055.html


The underlying issues are, as I see it:

1/ A significant amount of list use is for closed sets (c.f. OWL) where 
order does not matter.  Indeed, order gets in the way.

2/ To do it properly, structures (list, set, bag, map?, multimap - map 
less so as we have multiple property values) need to be 1st class 
objects, in SPARQL at least, if not RDF, and treated the structures as 
structures, not encoded in triples.  The triple encoding can be done 
wrong and also obscures the real intent, although that is partially 
because we only have lists (containers not being very popular).

Using property functions:


?list list:member ?member
?list list:index (?index ?member)
?list list:length ?length

puts lists closer to being 1st class.


> I have digged up some mails from early discussions[1][2]. You
> proposed[1] a scheme whereby
> SELECT ?paper ?author
>      ?paper ex:authors ?l .
>      ?l rdf:rest*{?len}/rdf:first ?author .
> }
> SORTED BY ?len
> (or something similar) would work to
> would work to give back the author's list in list order. Orri had a more
> complex scheme[2] in his mail...

If someone wants to work on that ...

> I believe something like that is really necessary for '*' and '+';
> handling lists is one of the big outstanding features in my view and not
> handling them via paths would be a real shame...

We can handle their use as closed sets which is a step forward.


> Ivan
> [1] http://lists.w3.org/Archives/Public/public-rdf-dawg/2009JanMar/0102.html
> [2] http://lists.w3.org/Archives/Public/public-rdf-dawg/2009JanMar/0116.html
> Andy Seaborne wrote:
>> I've moved the document from the wiki into CVS, and used xmlspec.
>> http://www.w3.org/2009/sparql/docs/property-paths/Overview.xml
>> It does not look very nice - we need to settle on a "house style"
>> (tables, examples, grammars) although I see something emerging in
>> sparql.xsl.
>>      Andy
Received on Monday, 23 November 2009 22:00:11 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:00:57 UTC