-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Roller Team,

As you might already know I'm involved with W3C working group for SPARQL
[1]. I met there Henry Story from Sun who is working on an OWL Ontology
for Atom [2]. He is very interested in seeing his work made an
specification, but before we support him on that endeavor I would like
to test it first. An idea we had with Dan Connolly was to add a SPARQL
endpoint to Roller and use Henry's ontology to model queries against the
Roller database.

Here's an example query: (return title and summary for all entries
written by John Doe).

PREFIX atom: <http://www.w3.org/2005/10/23/Atom#>
SELECT ?title ?summary
WHERE {
        ?feed   atom:entry ?entry ;
                atom:author [ atom:name "John Doe" ].
        ?entry  atom:title [ atom:value ?title ] ;
                atom:summary [ atom:value ?summary ] .
} LIMIT 20

For data that looks like this:

[] a :Feed, :Version;
    :title [ :value "Example Feed";
             :type "text/plain" ];
    :link  [ :href <http://example.org/>;
             :rel iana:alternate ];
    :updated "2003-12-13T18:30:02Z"^^xsd:dateTime;
    :author [ :name "John Doe" ];
    :id <urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6>;
    :entry [ a :Entry, :Version;
             :title [ :value "Atom-Powered Robots Run Amok";
                      :type "text/plain" ];
             :link [  :href <http://example.org/2003/12/13/atom03.html>;
                      :rel iana:alternate ];
             :id <urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a>;
             :updated "2003-12-13T18:30:02Z"^^xsd:dateTime;
             :summary [  :value "some text";
                         :type "text/plain" ]
           ] .

More examples [6]

SPARQL defines a protocol [3] that allows GET requests to be submitted
with queries. And it just gets better, I have spec'd out a JSON output
for the SPARQL results [4]. This means that we could have a very open
way to query the Roller database and output JSON for Web 2.0
applications. I can do all of this without making a single change to the
Roller code or database, except for adding a servlet and a few jars
(jena) [5]. Jena is BSD license (is that ok for Apache projects). It
would be very interesting to test both the Atom+OWL and the SPARQL query
language on a  very popular dataset (JRoller, blogs.sun, etc). I can do
this in the sandbox at first, but unless the /roller/sparql is being
hit, it should not be a big deal to the Roller codebase. However, I
wanted to get a feel for your thoughts on this one.

- -Elias

[1] http://www.w3.org/2001/sw/DataAccess/
[2] http://pragmatron.org/trac/file/pragmatron/atom-owl/AtomOwl.n3
[3] http://www.w3.org/2001/sw/DataAccess/proto-wd/
[4] http://www.mindswap.org/~kendall/sparql-results-json/
[5] http://jena.sourceforge.net/
[6] http://www.intertwingly.net/wiki/pie/PaceSparqlLink
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFEGKjHtsNTCOFcV0oRAsJ4AJ9EfLgq2O9gVW1S4l6g/un8W9YgjACeMMBi
1iGZfk7+3Wz6kUmmzE/vC9A=
=PVXi
-----END PGP SIGNATURE-----

Reply via email to