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

Transitive properties

From: Seaborne, Andy <andy.seaborne@hp.com>
Date: Tue, 08 Nov 2005 13:51:20 +0000
Message-ID: <4370AD58.5030606@hp.com>
To: RDF Data Access Working Group <public-rdf-dawg@w3.org>


> http://lists.w3.org/Archives/Public/public-swbp-wg/2005Nov/0036

Some thoughts:

David notes that support for transitive closure is an alternative approach for 
told bNodes.  Support for transitive closure isn't necessary if it is declared 
outside the query but I think the community expectation will be syntax in the 
query itself.

I tried generalizing this to property regular expressions (PRE's) with * + ? 
() {N,M} operators plus / for path traversal and | for alternative choicies. 
(These path expressions are different from cwm's which name nodes IIUC) This 
is not implemented completely yet but the syntax worked out (the one oddball 
case is a trailing "?" because it can start variables - greedy tokenization 
does the right thing because qnames must have a ":" in them and there is an 
explicit path traversal operator).

Examples:

Lists:
{ ?someList rdf:rest*/rdf:first ?item . }

Hierarchies:
{ ?A rdfs:subClassOf+ ?B }

{ ?x rdf:type/rdfs:subClassOf* ?t }

{ ?book dc10:title|dc11:title ?title }

I guess simple * is a bit odd but:

{ ?A :p* ?B }

would include the no-property path from ?A to ?B so always be true if ?A can 
be bound.

(Not proposing it for this WG.)

	Andy
Received on Tuesday, 8 November 2005 13:53:58 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:15:24 GMT