Navigation

Thursday, November 17, 2005

Elmo 0.2: Ontology Beans

Peter Mika announced the release of Elmo 0.2 today:

We are proud to announce the second major public release of Elmo: a toolkit for developing Semantic Web applications using the popular Sesame storage, query and inference facility.

Elmo provides a set of JavaBeans for a number of well known web ontologies including RDF(S), OWL, Dublin Core, RSS and FOAF. The dedicated API makes it easier to work with RDF data for the supported ontologies. The API is extensible and is expected to cover a larger set of existing web ontologies in future releases. Elmo also offers a set of tools related to the supported ontologies, including an RDF crawler, a FOAF smusher and a FOAF validator.

This release features significant improvements to the core of Elmo, increasing the scalability and efficiency of Elmo applications. Elmo is now also compatible with the Apache Commons BeanUtils package and the Spring Framework. Please see the changelog for more details and on information about migrating from previous versions.

Elmo is open source software and is distributed under the LGPL license. Download pointers and support for Elmo are available at: http://www.openrdf.org

Tuesday, November 08, 2005

A new job

(warning: ramble mode engaged) I've finally started in my new job at the Technical University Eindhoven. I've taken up a position as assistant professor in the Information Systems Group. Before you ask: no, I haven't left Aduna, but I've split myself down the middle - half-time at the TU/e, half-time at Aduna.

I'm expecting great things from this. The group has some fine minds working on combinations of database technology, hypermedia, and semantic web, and my own interests seem to combine very well with that. Even better, I expect that the interests of Aduna and the work at the TU/e will complement each other quite nicely. Everybody wins :)

There are a number of interesting projects running here. Too much to list in detail right now, so I'll just drop a few names. The Passepartout project deals with the notion of ambient intelligence in home media centers. The use of ontologies and semantic web technology will be very relevant in this project for doing things like user modeling, syndication, etc. Then there is Hera, which is an ongoing research program about modeling and specifying Web-based Information Systems, or more specifically, generating Hypermedia presentations from content metadata through use of ontologies. The current prototype HPG 2 tool uses SeRQL queries to do model transformations in a layered process where content is transformed according to application and presentation constraints to a presentation that fits the needs of a particular user or device. That last sentence needs either more punctuation or less buzzwords, but you get the drift, hopefully.

Saturday, November 05, 2005

Querying Sesame 2

I've put together a simple web client for Sesame 2 that allows querying on a demonstration RDF store, containing some FOAF data harvested from the Web. It's nothing fancy (its error handling is virtually non-existent, for one), but it allows you to play around a bit with SeRQL and context, and also with the new SPARQL engine (note that the SPARQL engine, in contrast to the SeRQL engine, does not put the entire contents of the store in the default graph, so you'll have to used named graphs in your SPARQL queries to get some results).

Also, of course the Sesame demo store is available online itself and can be accessed directly through SPARQL procotol or more specifically, the Sesame HTTP API (which is a superset of the SPARQL protocol).

For example, the following URI retrieves a single foaf-profile (Libby Miller's in this case) directly from the store:

http://demo.openrdf.org/sesame2/repositories/mem-rdf?context=http://swordfish.rdfweb.org/people/libby/rdfweb/webwho.xrdf.

Another example: this does a SeRQL query on the store for all foaf:name properties of things of type foaf:Person in the store:

http://demo.openrdf.org/sesame2/repositories/mem-rdf?query=select%20Name%20from%20%7B%7D%20rdf:type%20%7B%3Chttp://xmlns.com/foaf/0.1/Person%3E%7D;%20%3Chttp://xmlns.com/foaf/0.1/name%3E%20%7BName%7D&queryLn=SeRQL

Useful to get a feel of what the Sesame context mechanism and the REST api can do, I hope.