flexible SPARQL reification construct instead of hard-wired SOURCE keyword

hi again,

an adjusted version of my comment from yesterday[1] as
just some extended food for thought. The idea is to
introduce a reification shortcut that could be used for
the SOURCE use cases and also for any other custom rdf
store extension:

SELECT ?s  ?p  ?o
WHERE ( ?s rdf:type foaf:Person )
      ( ?s ex:ppd ?ppd )
      ( ?ppd rdf:type foaf:PersonalProfileDocument )
      ( ?ppd foaf:primaryTopic ?s )
REIF  (?s ex:ppd ?ppd) sparql:source <http://trustMe.com/ppdDump>
      (?s ?p ?o) sparql:source ?ppd
      (?s ?p ?o) ex:addedDate "2004-01-13"

The reification constraint pattern 
 ([s] [p] [o]) [prop] [value]
would mean that there had to be an rdf:Statement with [s],[p],[o]
as rdf:subject,rdf:predicate,rdf:object, and that there's also
a matching ([statement] [prop] [value]) triple. store developers
could freely decide how to implement this extended functionality
(explicit reification or with quads etc.) but the query syntax
could be generic. and using URIrefs for the [prop]s instead of
a single built-in SOURCE keyword for n-tuple stores would
keep SPARQL extensible. 

regards and apologies for the (probably too) late comments,


Benjamin Nowack

appmosphere web applications
Kruppstr. 100
45145 Essen, Germany


Received on Friday, 14 January 2005 18:39:56 UTC