RE: [TF-PP] Questions on Property Paths



> -----Original Message-----
> From: public-rdf-dawg-request@w3.org [mailto:public-rdf-dawg-request@w3.org]
> On Behalf Of Steve Harris
> Sent: 08 October 2009 12:50
> To: public-rdf-dawg@w3.org Group
> Subject: [TF-PP] Questions on Property Paths
> 
> I've just read through the document Andy posted:
> http://www.w3.org/2009/sparql/wiki/Design:PropertyPaths

>   and I have a couple of questions:
> 
> Is the () construct particularly useful? Without have tried it it does
> seems like it might make the design much harder to implement that if
> it was absent. Though I'd welcome evidence to the contrary.

With foaf:knows, the foaf:Person is connected to another foaf:Person by a single property.  Sometimes, the link from one resource to the next is via two of more properties so 

?x (:p/:q)+ ?y

Captures the two step path.  () is also used to adjust the precedence if it's not what is required or it can make writing something ^(:p/:q) -- that would can be simply rewritten to plain triples.

My expectation is that an implementation may choose not to provide full paths in all situations (load, cost, ...).  I tried to indentify two subsets, simple and complex paths.  Simple are just rewrites to plain triples (actually, one complex one is too :p{N}). Service description helps; but any query request can be rejected anyway and there is your soft limit mechanism.

> "Cycles in paths are possible and are handled." in any particular way?

Rough wording. Cycles exist naturally so have to be handled but that's an implementation issues.  It might be by tracking visited nodes, or it might be just part of some algorithm. (e.g. Floyd-Walshall does not have special cases for cycles).

> 
> Note: there's a stray <td> in the Syntax Form table.

Fixed - I turned the HTML into wiki tables manually.  If there is a tool or service to help, that would be great.  It is a painful process.

> 
> - Steve

 Andy

Received on Friday, 9 October 2009 16:15:40 UTC