Hey Guys, I am a former IBMer working with Elias and long time lurker on this list. I would really like to see JSON coming out of Roller. I am not too familiar with SPARQL, but I would be interested in helping out with the development. At first glance the syntax of SPARQL looks a little ugle compared to SQL. Are you guys thinking about using the latest 2.1 as the code base?
Joe On 3/17/06, Elias Torres <[EMAIL PROTECTED]> wrote: > > -----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----- >