Dave Beckett - Journalblog

Hacking the semantic linked data web

  • Recent posts

  • Follow me on twitter

Month: February, 2005

Rasqal 0.9.7 + Redland Bindings 1.0.0.2

Another weekend and I’ve got the chance to ship some software that’s been pending for a while. It turns out that most of the main changes that went into Rasqal RDF Query Library 0.9.7 and Redland RDF Language Bindings 1.0.0.2 were asked for by users who hang out on the Semantic Web Interest Group IRC channel (#swig on irc.freenode.net).

However, taking a wider Free Software / Open Source community view, it’s the user’s requirements that should drive development otherwise you can tend to wander off into the interesting development weeds or get into premature optimisation. Of course, user-submitted patches also gives a good direction kick, and I got some this time too for both of the these packages – thanks Steve H and Dave V.

SPARQL Query Language for RDF W3C Working Draft 2005-02-17

The SPARQL Query Language for RDF W3C Working Draft 2005-02-17 was just published by the RDF Data Access Working Group (DAWG). Lots of work went into this 2nd WD especially by the editors – congratulations. So what’s changed? Various things around syntax and some more core bits of the design were decided after our recent DAWG meeting in Helsinki. The dataset you query against now uses WITH instead of LOAD, SOURCE is now GRAPH in querying. The testing values section has several new RDF-specific builtins BOUND(), ISURI(), ISBLANK(), ISLITERAL(), STR(), LANG(), DATATYPE() and also describes the imported types and operations from XML Query Functions and Operators on string, double, float, decimal, integer and dateTime. There are of course, many other changes.

I’m not an editor so just cheered from the sidelines and did a little updating of my Rasqal RDF query demo to catch up with earlier work (using Redland’s Perl binding). It now does ASK and CONSTRUCT query results, can give you RDF/XML, XML variable bindings syntax results and I also added the SPARQL special builtins listed above.

Redland 1.0.0

I changed the version number of my main free software project Redland to 1.0.0 – it’s been a mature library for some time, the API creep slowing as the query interface has been bedded in. In some ways it’s just a bigger number than before, but the >1.0 seems to indicate a certain confidence in what’s being offered. We’ll see.

As part of this I released new versions of all the parts of Redland, the release announcements are:

  • Raptor 1.4.5 RDF parsing/serializing library – with RDF/XML abbreviated serializer, RSS 1.1 in, better RSS 1.0 out.
  • Rasqal 0.9.6 RDF query library – with RDF graph, boolean results; SPARQL new CONSTRUCT, ASK, 7 built-ins
  • Redland 1.0.0 RDF library incorporating the 2 libraries above – SQLite store
  • Redland Language Bindings 1.0.0.1 providing C#, Java, Perl, PHP, Python, Ruby, Tcl access for Redland 1.0.0 – Python and Ruby updates

This is certainly the most software I’ve tested, packaged and shipped in one day. There are even debian packages for Raptor making their way in to the archive in addition to the standard RPMs that are always released.

Becoming Debian and Cairo

Edd already mentioned this but in the flurry of last week’s activities, I forgot to record this event. It takes around a year to become a Debian developer at present for a variety of reasons, and I just completed that process. I’ve started cautiously updating some of my existing packages that needed new versions, beginning with libpixman 0.1.3 and libcairo 0.3.0 both part of the Cairo vector graphics libraries.

Cairo is some of the !RDF part of my interests which I think it is positioned as a key technology for advancing desktop open source graphics with X, GTK (Gnome), KDE, Mono and Mozilla as possibilities. Only this week I got a report that Mozilla 1.8 CVS HEAD has working SVG support using Cairo. Nice! Working with graphics is a refreshing change from what can be rather conceptual RDF (what does a triple look like?) plus, you get cool screenshots ;)

I’ve also got some additional Cairo packages done and working, the Glitz OpenGL image compositing library backend for Cairo is one I want to get into Debian soon, however just now the APIs between it and Cairo are out of sync. The other one I’d like to add is the Python interface to Cairo, pycairo. These packages are all available from the debian packages area of the main Cairo site where they aren’t already in Debian.

SPARQL interop

I ran the sample SPARQL queries made by Leigh Dodds on public RDF data sources using my Rasqal RDF query engine. Most of them seemed to work which is good, bugs were found and fixed, and a few more to go.

List all of the names, weblogs and encrypted emails of people defined in http://www.ldodds.com/ldodds-knows.rdf
Rasqal gets this right: Run Query

The amended query using an optional foaf:weblog property
Rasqal gives the wrong results here at this time: Run query
and the right results using re-ordered triples: Run Query

List the titles and publication dates of documents written by someone with the name “Leigh Dodds”
Run Query

List the state and city for all Australian airports
Dies with a bad RDF/XML error for the daml file, refusing to run: Run Query

List the name, mbox of all contributors to the 2003 Dublin Core conference, along with the title of the paper the (co-)authored
Rasqal gets this right: Run Query

Find all the European princesses and the date they got married
Rasqal gets this right: Run Query

List the names, symbols, atomic weights and numbers of all the Noble Gases
The original query works with a slight edit to use ^^xsd:string. I am not sure if this a bug yet: Run Query