- From: Matthew Perry <matthew.perry@oracle.com>
- Date: Mon, 21 Feb 2011 14:41:15 -0500
- To: Andy Seaborne <andy.seaborne@epimorphics.com>
- CC: W3C SPARQL Working Group <public-rdf-dawg@w3.org>
Hi Andy, I went through the property path sections of the query doc. Overall, the textual descriptions of each property path operator sound good. Some more detailed comments are below. Section 9.3 Evaluation of [a property path expressions => property path expressions] can lead to duplicates in the results. Where the query matches on arbitrary length paths, each cycle is considered at most once by stopping if [a triple => an RDF term] in the data would be a matched again in the evaluation of the + property path operator. Section 18.4 The arbitrary length path operators are described in Section 18.4 as allowing the start node of a path to also be the end node of the path (i.e. a cycle back to the starting point is allowed). From my understanding of the evaluation semantics in Section 18.5, the ALP Function will not allow this loop back to the starting point because the starting node is added to V in the first step, so ALP will return without adding the starting point when it is encountered at the end of a loop. I don't understand the (term, path, term) definitions: { { } } if (v,y:var) in eval(D(G), ZeroOrMore(x, path, y); card[{ }] = 1 Thanks, Matt
Received on Monday, 21 February 2011 19:43:49 UTC