Jena 2
A Semantic Web Framework

http://openjena.org/

Hewlett Packard Laboratories, Bristol

Overview

Jena is a Java framework for writing Semantic Web applications.  It features:

An RDF API
 
ARP - Jena's RDF/XML Parser
ARP aims to be fully compliant with the latest decisions of the RDF Core WG. The Jena2 version is compliant with the RDF Core recommendations. ARP is typically invoked using Jena's read operations, but can also be used standalone.
 
SPARQL query language
SPARQL is an RDF query language and protocol developed within W3C.  Jena provides the ARQ query engine which is a complete implementation of the SPARQL query language. See SPARQL Tutorial and the ARQ documentation. In addition there is Joseki, an implementation of the SPARQL protocol.
 
Persistence
There are two persistence subsystem for Jena - SDB, which employs a custom SQL schema on a wide variety of databases, both open source and proprietary; and TDB, which is a high-performance system using custom storage. Both provide full SPARQL support through ARQ integration.
 
Reasoning Subsystem
The Jena2 reasoner subsystem includes a generic rule based inference engine together with configured rule sets for RDFS and for the OWL/Lite subset of OWL Full. These reasoners can be used to construct inference models which show the RDF statements entailed by the data being reasoned over. The subsystem is designed to be extensible so that it should be possible to plug a range of external reasoners into Jena, though worked examples of doing so are left to a future release. See the reasoner documentation for more details.
Of these components, the underlying rule engine and the RDFS configuration should be reasonably stable. The OWL configuration is preliminary and still under development.
 
Ontology Subsystem
The Jena2 ontology API is intended to support programmers working with ontology data based on RDF. Specifically, this means support for OWL, DAML+OIL and RDFS. A set of Java abstractions extend the generic RDF Resource and Property classes to model more directly the class and property expressions found in ontologies using these languages, and the relationships between these classes and properties, and the individuals created from them. The ontology API works closely with the reasoning subsystem to derive additional information that can be inferred from a particular ontology source. Given that ontologists typically modularise ontologies into individual, re-usable components, and publish these on the web, the Jena2 ontology subsystem also includes a document manager that assists with process of managing imported ontology documents. See the ontology documentation for more details.
 

Documentation

Documentation is to be found in the doc/ directory of the Jena download.

The latest documentation is available at http://openjena.org/.

Installation

Applications

The Jena distribution includes some convenience applications. These are described in the tools documentation.

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>
 

License

Jena is distributed under a BSD-style open source license.

Details of other licenses, together with version number information, are available.

It includes software developed by the Apache Software Foundation (http://www.apache.org/), both in the form of jar files and source code.

Acknowledgements

Jena is built on top of other sub-systems which we gratefully acknowledge:

Some of the developers use Eclipse.

Details of sub-system versions