- From: Andy Seaborne <andy.seaborne@epimorphics.com>
- Date: Thu, 10 Feb 2011 16:08:40 +0000
- To: SPARQL Working Group <public-rdf-dawg@w3.org>
Summary: 1/ Proposal to have an explicit :p* operator instead of :p* = :p{0} UNION :p+ 2/ path-* would return only one node for a possible path That does not path-* duplicate free if there are multiple ways to the same end. c.f. literals and aggregation example c.f. BGPs and projection. Details still to be worked on. Currently, :p* = :p{0} UNION :p+ This is a source of duplicates because :p{0} may include a node and then :p+ will also include it if the path loops back to the start. Defining :p+ = :p/:p* would also lead to duplicates because of the hidden projection in the "/" so two operators are needed. Example 1: :a :p :b . :b :p :c . :c :p :a . which is: :c / \ / \ :a --> :b Paths: P1) :a :p* ?X P2) :a :p+ ?Y we want: P1) => ?X = :a :b :c P2) => ?Y = :a :b :c Example 2: :a :p :b . :b :p :c . :c :p :b . :c / \ \ / :a --> :b we want P1) => ?X = :a :b :c P2) => ?Y = :b :c It should be possible to have the same algorithm, with different starting conditions, for :p+ and :p*. Andy
Received on Thursday, 10 February 2011 16:09:23 UTC