generalizing SOURCE in SPARQL for extended rdf stores

Hi,

I was wondering if DAWG considered extension possibilities
for quad, quintuple, 6-tuple, etc stores to make it
possible to offer support for special flags or triple
attributes without having to use a non-recommended query
language.

I know that RDF is a triple model, but I saw that SOURCE
is part of the current SPARQL draft. SOURCE is a nice (and
practial) extension, but reflects only one of the potential
needs of an RDF store. I'd for example like to use custo
triple stores tailored to the capabilities of my tools.
This may be stores which have "creatorId", "lastModified",
or "addedDate" attributes, or a "probablySpam" flag.
These extensions are clearly not worth to be part of a
standardized QL, but may be needed (or at least handy)
for specific applications. Wouldn't it make sense to
generalize the mechanism used for SOURCE to allow
implementors of extended rdf stores to still use SPARQL?

Hm, I could probably simply use FROM to implement this
functionality (e.g. by using "true (?s ?p ?o)" as a
parameter value:
[[[
...
FROM <http://foo.com/q?probablySpam=true%20%28%3Fs%20%3Fp%20%3Fo%29>
...
]]]
) but can the querying client be sure that NULL-bindings
will return an empty result? And a more standardized
solution for additional restrictions would be nicer, e.g.
something along
[[[
...
SELECT ?s  ?p  ?o
WHERE ( ?s rdf:type foaf:Person )
      ( ?s ex:ppd ?ppd )
      ( ?ppd rdf:type foaf:PersonalProfileDocument )
      ( ?ppd foaf:primaryTopic ?s )
RESTR SOURCE <http://trustMe.com/ppdDump> (?s ex:ppd ?ppd)
RESTR SOURCE ?ppd (?s ?p ?o)
RESTR addedDate "2004-01-13" ( ?s ?p ?o )
]]]
could allow me to find all personal information "added today"
of people whose personal profile documents were verified
by the trustMe.com service, e.g. in order to update a local
contact management tool on a daily basis. (sorry for wrong
use of sparql, only just started working with it)

(hm, the semweb idea would then probably lead to the
use of URIs for extended restrictions, such as dawg:SOURCE
or foo:addedDate..)


just some thoughts, don't want to hold you up...

regards,
benjamin

P.S.: In section "9: Querying the Origin of Statements"
in the SPARQL WD [1], the foaf:PersonalProfileDocument
class is used as a predicate. (A property equivalent to
the ex:ppd I'm using above does not exist in foaf (yet),
foaf currently uses the foaf:primaryTopic property to
link the PPD to the description of the person.)

[1] http://www.w3.org/TR/rdf-sparql-query

--
Benjamin Nowack

appmosphere web applications
Kruppstr. 100
45145 Essen, Germany

http://www.appmosphere.com/

Received on Thursday, 13 January 2005 18:40:24 UTC