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


David M Johnson wrote:
> Comments inline...
> 
> On Mar 16, 2006, at 12:41 PM, Elias Torres wrote:
> 
>> 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
> 
> 
> I like the fact that you are querying against the Atom object model  and
> not the actual Roller table and column names.
> 

That is precisely one of the benefits from RDF+SPARQL. It provides you
with a very flexible data model.

> 
>> 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.
> 
> 
> Can you give  some examples of the types of applications that this  
> would enable?
> 

I thought you'd never ask. :-) The idea of enabling Roller + SPARQL
sparked from conversation with Dan Connolly while creating a Calendaring
Demo in Cannes.

http://esw.w3.org/topic/SparqlCalendarDemo

The demo is capable "merging" several different data sources and
displaying results from complex queries like: find any events from
upcoming.org that Lee and I can attend based on similar interests, same
location. This was all done by issuing SPARQL queries using AJAX and
only results were being displayed. All queries were executed by the
SPARQL Engine at http://sparql.org/query.html.

We are interested in creating web 2.0 mashups that navigate the maze of
blog entries, tags, blogrolls, etc but unfortunately there's no publicly
available cache of that information. We feel that if we were to enable
querying on blogging software we could easily create dynamic web
applications that could navigate the blogosphere based on dates, people,
tags, etc (at least within Roller installations for now).

> 
>> 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
> 
> 
> Yes, BSD is fine for Apache projects.
> 
> 
>> 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.
> 
> 
> I think the sandbox is the right place to start.
> 

I've begun the effort.

- -Elias
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFEGuYitsNTCOFcV0oRAnNhAJ4kII2dSz7n7q85mOWD+wX/4hW8PgCfSuUY
AW8JJvs0H2AGbnDiXC7DMlQ=
=MwnG
-----END PGP SIGNATURE-----

Reply via email to