Jena Tutorial for Release 1.4.0
Brian McBride <brian_mcbride@hp.com>
Andy Seaborne <andy_seaborne@hp.com>
Jeremy Carroll <jeremy_carroll@hp.com>
April 2002
Introduction
Jena is a toolkit for developing applications within the semantic web.
This tutorial is an introduction as to how to use Jena.
It is intended primarily for the
Java programmer
with only a limited familiarity with semantic web concepts.
It can be used as a hands-on first course in semantic web technologies,
particularly RDF.
The student with both Java and semantic web experience should proceed
at an accelerated pace, skipping easier parts.
The primary version of the course is this web version. This is intended
for students working alone or in pairs.
An implementation of the Jena API used in this tutorial can be downloaded from
http://www.hpl.hp.com/semweb/.
This tutorial has been written against Jena 1.4.0.
Later and earlier versions of
Jena may diverge from the described system.
Prerequisites
The only prerequisite is knowledge of Java.
Knowledge of any of the following is helpful:
- RDF
- XML
- URIs
- DAML+OIL or description logic
Students with no knowledge of any of the above should take the course
quite slowly, and may need additional support on some of the topics.
Goals
After completing the course you will be able to:
- Understand RDF as a graph rather than an XML document.
- Load an RDF/XML file into Java using Jena.
- Write an RDF graph as an RDF/XML file using Jena.
- Navigate an RDF graph within Jena.
- Create complex queries in RDQL.
- Execute complex queries in RDQL.
- Navigate an RDF graph within Jena using RDQL.
- Load a DAML+OIL ontology into Java using Jena.
- Use Jena to create a new DAML+OIL ontology.
- Use an ontology to navigate instance data using Jena.
Course Contents
- The Jena API
- Introduction
- Statements
- Writing RDF
- Reading RDF
- Jena RDF Packages
- Navigating a Graph
- Querying a Graph
- Operations on Graphs
- Exceptions
- Containers
- More about Literals and
Datatypes
- Glossary
- RDQL - a query language for RDF
- RDQL Introduction
- RDQL-by-example
- Writing Queries
- Using RDQL from Java
- Reference
- DAML+OIL
- DAML API Introduction
- Getting Started
- Reading and Navigating an Ontology
- Instances
- Advanced DAML
- The Ontology Layer in Jena 2