Hewlett Packard Laboratories, Bristol
Jena is a java API for manipulating RDF models. Its features include:
The jena toolkit includes a number of components:
The current release, 1.4 adds a tutorial but leaves the code largely unchanged from the previous version. In the future, we would like to make various changes, such as cleaning up some features of the API and shortening the package names, which will require changes to existing code. Ideally, we'd to make all such changes in one go to minimise the number of times people have to tweak their client code.
More recent versions may be available from the Jena web site - http://www.hpl.hp.com/semweb.
JENAROOT/lib/jena.jar JENAROOT/lib/xerces.jar JENAROOT/lib/concurrent-1.3.0.jar // if using RDQL query support JENAROOT/lib/jakarta-oro-2.0.5.jar // if using RDQL query support JENAROOT/lib/rdffilter.jar // not need if using ARP parser JENAROOT/lib/db3-3-11.jar // if using Berkeley DB interface
Test the distribution by running one of the sample applications:
java com.hp.hpl.mesa.rdf.jena.sample.Sample5
For windows systems there are two .bat files in the JENAROOT/modules/rdf directory, test.bat and regression.bat which will run a test application and the regression tests respectively.
For the core java API the key package to look at is com.hp.hpl.mesa.rdf.jena.model. This package defines all of the key interfaces which the different implementations (jena.mem, jena.bdb, jena.common) conform to.
The easiest way to get started is to work through the tutorial. Start at JenaTutorial.html. Semantic Web expertise is not assumed.
Note that it is possible to switch to other RDF parsers by setting a java property. For example to use Dave Megginson's RDFFilter parser (included in this distribution) use the java command line switch:
-Dcom.hp.hpl.mesa.rdf.jena.reader.RDF/XML=com.hp.hpl.mesa.rdf.jena.common.RDFXMLReader
Jena is distributed under a BSD style open source license.
It includes software developed by the Apache Software Foundation (http://www.apache.org/), both in the form of jar files and source code.
Jena is built on top of other sub-systems which we gratefully acknowledge:
The Jena distribution includes three convenience applications.
jena.rdfcopy will read an RDF file in either RDF/XML or n-triple format and write it to standard out in either RDF/XML or n-triple format. It can be used to translate between different RDF serialization formats.
jena.rdfcompare will read two RDF files, in either RDF/XML or n-triple format and test whether they are equal.
jena.rdfquery will execute an RDQL query on an RDF data file, in either RDF/XML or n-triple format and print the table of results in text or HTML. It can also be used to query a Jena model held in a BerkeleyDB persistent store.
These programs can be set use use a proxy to traverse a firewall by setting system properties. To use a socks proxy include the following in the command line:
-DsocksProxyHost=<your-proxy-domain-name-or-ip-address>
To use an http proxy include the following on the command line:
-DproxySet=true -DproxyHost=<your-proxy> -DproxyPort=<your-proxy-port-number>