Getting started with Apache Jena
Apache Jena (or Jena in short) is a free and open source Java
framework for building semantic web and
Linked Data applications.
The framework is composed of different APIs interacting together to process RDF data. If you are new here, you might want to
get started by following one of the tutorials. You can also browse the documentation if you are interested in a particular topic.
Tutorials
- RDF API tutorial - you will learn
the essence of the semantic web and the graph representation
behind RDF.
- SPARQL tutorial - will guide you
into formulate expressive queries over RDF data.
- Ontology API - illustrates the
usage of advanced semantic web features such as reasoning over your data using OWL.
- Finally, some of the tutorials are also available in Traditional Chinese, Portuguese and French.
Documentation
The following topics are covered in the documentation:
- The RDF API - the core RDF API in Jena
- SPARQL - querying and updating RDF models using the SPARQL standards
- Fuseki - SPARQL server which can present RDF data and answer SPARQL queries over HTTP
- Assembler - describing recipes for constructing Jena models declaratively using RDF
- Inference - using the Jena rules engine and other inference algorithms to derive consequences from RDF models
- Javadoc - JavaDoc generated from the Jena source
- Text Search - enhanced indexes using Lucene or Solr for more efficient searching of text literals in Jena models and datasets.
- I/O - notes on input and output of triples to and from Jena models
- How-To's - various topic-specific how-to documents
- Ontology - support for handling OWL models in Jena
- TDB - a fast persistent triple store that stores directly to disk
- SQL DB - constructing persistent Jena models using SQL databases as the storage layer
- Tools - various command-line tools and utilities to help developers manage RDF data and other aspects of Jena
Framework Architecture
The interaction between the different APIs:

Other resources
Finally, Jena committer Paolo Castagna has listed some example programs
using Jena on his GitHub site.