From SPARQL Working Group
Revision as of 21:45, 7 October 2009 by Aseaborne (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Property Paths Task Force


Straw poll summary: 2009JulSep/0469.

Text Design:PropertyPaths

Telecon Availability

Current candidate: Wednesday: 14:00 UTC (16:00, Amsterdam, 15:00 UK, 10:00 Boston)

Andy: Monday, Wednesday or Friday any time up to early evening UK time.

Luke: Monday, Wednesday, or Friday any time between 09:30 until early evening UK time. Also, Thursday morning (UK time).

Lee: Of the above times, Monday and Wednesday US mornings are best for me.

Ivan: Friday would be difficult. Wednesday early afternoon (Amsterdam time, early morning Boston time) is the best. Monday: before 16:00 my time (15:00 UK, 10:00 Boston); I have a regular call at 16:00 that I cannot miss.

Alex: Monday, Tuesday, Wednesday from 15 UK Time, Thursday


This is the list of people who have expressed an interest. Please add your self if interested in attending telecons or contributing text. Discussions via email will be on the SPARQL-WG mailing list for everyone to contribute to.



Use Cases

In SELECT queries

Walk Two Properties

Get the names of people Alice knows.

PREFIX  foaf: <http://xmlns.com/foaf/0.1/>
SELECT  ?name
  { ?x foaf:mbox <mailto:alice@example> .
    ?x foaf:knows/foaf:name ?name
Follow a Property

Follow foaf:knows links (path of length 1 or more), returning the name if found.

SELECT ?x ?name
  ?x foaf:knows+ ?y .
  OPTIONAL { ?y foaf:name ?name }
SELECT ?x ?t 
{ ?x rdf:type/rdfs:subClassOf* ?t }
SELECT ?x ?t 
{ ?x ?p ?v . ?p rdfs:subPropertyOf* :property }
List members

Get me all of the members of an RDF list.

SELECT ?member
  ?list rdf:rest*/rdf:first ?member

Get me all the people that are my ancestors, given a graph with ex:mother and ex:father predicates.

SELECT ?ancestor
   ?ancestor (ex:motherOf|ex:fatherOf)+ <#me>

In CONSTRUCT queries

In the template of a CONSTRUCT to mean any path:

       ?home contact:address ?address .
       ?address .+ ?x
WHERE { ... }