You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by ij...@apache.org on 2011/12/19 10:23:04 UTC

svn commit: r800496 [2/3] - in /websites/production/jena: ./ content/jena/ content/jena/about_jena/ content/jena/documentation/ content/jena/documentation/assembler/ content/jena/documentation/inference/ content/jena/documentation/io/ content/jena/docu...

Modified: websites/production/jena/content/jena/documentation/query/support_request.html
==============================================================================
--- websites/production/jena/content/jena/documentation/query/support_request.html (original)
+++ websites/production/jena/content/jena/documentation/query/support_request.html Mon Dec 19 09:23:01 2011
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>

Modified: websites/production/jena/content/jena/documentation/query/update.html
==============================================================================
--- websites/production/jena/content/jena/documentation/query/update.html (original)
+++ websites/production/jena/content/jena/documentation/query/update.html Mon Dec 19 09:23:01 2011
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>

Modified: websites/production/jena/content/jena/documentation/query/writing_functions.html
==============================================================================
--- websites/production/jena/content/jena/documentation/query/writing_functions.html (original)
+++ websites/production/jena/content/jena/documentation/query/writing_functions.html Mon Dec 19 09:23:01 2011
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>

Modified: websites/production/jena/content/jena/documentation/rdf/index.html
==============================================================================
--- websites/production/jena/content/jena/documentation/rdf/index.html (original)
+++ websites/production/jena/content/jena/documentation/rdf/index.html Mon Dec 19 09:23:01 2011
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>
@@ -118,6 +119,7 @@
 </li>
 <li><a href="/jena/documentation/io/index.html">I/O</a><ul>
 <li><a href="/jena/documentation/io/iohowto.html">I/O how-to</a></li>
+<li><a href="/jena/documentation/io/riot.html">RIOT</a></li>
 </ul>
 </li>
 <li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
@@ -128,6 +130,7 @@
 <li><a href="/jena/documentation/notes/rdf-frames.html">RDF frames</a></li>
 <li><a href="/jena/documentation/notes/reification.html">Reification how-to</a></li>
 <li><a href="/jena/documentation/notes/typed-literals.html">Typed literals how-to</a></li>
+<li><a href="/jena/documentation/notes/iri.html">Support for IRI's</a></li>
 </ul>
 </li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
@@ -152,7 +155,218 @@
 
   <div id="content">
     <h1 class="title">The core RDF API</h1>
-    
+    <p>This section provides some basic reference notes on the core Jena RDF API.
+For a more tutorial introduction, please see <a href="/jena/tutorials">the tutorials</a>.</p>
+<h2 id="core_concepts">Core concepts</h2>
+<h3 id="graphs_models">Graphs, models</h3>
+<p>In Jena, all state information provided by a collection of RDF triples is
+contained in a data structure called a <code>Model</code>. The model denotes an
+<em>RDF graph</em>, so called because it contains a collection of <em>RDF nodes</em>,
+attached to each other by labelled relations. Each relationship goes
+only in one direction, so the triple:</p>
+<div class="codehilite"><pre><span class="err">example:ijd</span> <span class="err">foaf:name</span> <span class="err">&quot;Ian&quot;</span>
+</pre></div>
+
+
+<p>can be read as '<em>resource</em> <code>example:ijd</code> <em>has property</em> <code>foaf:name</code> <em>with value</em> <code>"Ian"</code>'.
+Clearly the reverse is not true. Mathematically, this makes the model an instance of a
+<a href="http://en.wikipedia.org/wiki/Directed_graph">directed graph</a>.</p>
+<p>In Java terms, we use the class <code>Model</code> as the primary container of RDF information
+contained in graph form. <code>Model</code> is designed to have a rich API, with many methods
+intended to make it easier to write RDF-based programs and applications. One of
+<code>Model</code>'s other roles is to provide an abstraction over different ways of storing
+the RDF nodes and relations: in-memory data structures, disk-based persistent stores
+and inference engines, for example, all provide <code>Model</code> as a core API.</p>
+<p>While this common abstraction is appealing to API users, it is less convenient when trying
+to create a new abstraction over a different storage medium. For example, suppose we
+wanted to present an RDF triples view of an LDAP store by wrapping it as a Jena <code>Model</code>.
+Internally, Jena uses a much simpler abstraction, <code>Graph</code> as the common interface to
+low-level RDF stores. <code>Graph</code> has a much simpler API, so is easier to re-implement
+for different store substrates.</p>
+<p>In summary there are three distinct concepts of RDF containers in Jena:</p>
+<ul>
+<li><em>graph</em>, a mathematical view of the directed relations between nodes in a connected structure</li>
+<li><code>Model</code>, a rich Java API with many convenience methods for Java application developers</li>
+<li><code>Graph</code>, a simpler Java API intended for extending Jena's functionality.</li>
+</ul>
+<p>As an application developer, you will mostly be concerned with <code>Model</code>.</p>
+<h3 id="nodes_resources_literals_and_blank_nodes">Nodes: resources, literals and blank nodes</h3>
+<p>So if RDF information is contained in a graph of connected nodes, what do the nodes themselves
+look like? There are two distinct types of nodes: URI references and literals. Essentially, these
+denote, respectively, some resource about which we wish to make some assertions, and concrete data values that
+appear in those assertions. In the example above, <code>example:ijd</code> is a resource, denoting a person,
+and <code>"Ian"</code> denotes the value of a property of that resource (that propertly being first name, in this case).
+The resource is denoted by a URI, shown in abbreviated form here (about which more below).</p>
+<p>What is the nature of the relationship between the resource node in the graph (<code>example:ijd</code>) and
+an actual person (the author of this document)? That turns out to be a surprisingly subtle and
+complex matter, which we won't dwell on here.
+See <a href="http://www.jenitennison.com/blog/node/159">this very good summary of the issues</a>
+by Jeni Tennison for a detailed analysis. Suffice to say here that <em>resources</em> - somehow - denote
+the things we want to describe in an RDF model.</p>
+<p>A resource represented as a URI denotes a named thing - it has an identity. We can use that identity
+to refer to directly the resource, as we will see below. Another kind of node in the graph is a <em>literal</em>,
+which just represents a data value such as the string <code>"ten"</code> or the number <code>10</code>. Literals representing
+values other than strings may have an attached <em>datatype</em>, which helps an RDF processor correctly
+convert the string representation of the literal into the correct value in the computer. By default,
+RDF assumes the <a href="http://www.w3.org/TR/xmlschema-2/">datatypes used XSD</a> are available, but in fact
+any datatype URI may be used.</p>
+<p>RDF allows one special case of resources, in which we don't actually know the identity (i.e. the URI)
+of the resource. Consider the sentence "I gave my friend five dollars". We know from this claim
+that I have friend, but we don't know who that friend is. We also know a property of the friend -
+namely that he or she is five dollars better off than before.  In RDF, we can model this situation by
+using a special type of resource called an <em>anonymous resource</em>. In the RDF semantics, an anonymous
+resource is represented as having an identity which is blank, so they are often referred to
+as nodes in the graph with blank identities, or <em>blank nodes</em>, typically shortened to <em>bNodes</em>.</p>
+<p>In Jena, the Java interface <code>Resource</code> represents both ordinary URI resources and bNodes (in the case
+of a bNode, the <code>getURI()</code> method returns <code>null</code>, and the <code>isAnon()</code> method returns true).
+The Java interface <code>Literal</code> represents literals. Since both resources and literals may appear
+as nodes in a graph, the common interface <code>RDFNode</code> is a super-class of both <code>Resource</code> and <code>Literal</code>.</p>
+<h3 id="triples">Triples</h3>
+<p>In an RDF graph, the relationships always connect one subject resource to one other resource or
+one literal. For example:</p>
+<div class="codehilite"><pre><span class="err">example:ijd</span> <span class="err">foaf:firstName</span> <span class="err">&quot;Ian&quot;.</span>
+<span class="err">example:ijd</span> <span class="err">foaf:knows</span> <span class="err">example:mary.</span>
+</pre></div>
+
+
+<p>The relationship, or <em>predicate</em>, always connects two nodes (formally, it has <em>arity</em> two). The first
+argument of the predicate is node we are linking <em>from</em>, and the second is the node we are linking
+<em>to</em>. We will often refer to these as the <em>subject</em> and <em>object</em> of the RDF statement, respectively.
+The pattern subject-predicate-object is sufficiently commonplace that we will sometimes use the
+abbreviation SPO. More commonly, we refer to a statement of one subject, predicate and object as a <em>triple</em>,
+leading naturally to the term <em>triplestore</em> to refer to a means of storing RDF information.</p>
+<p>In Jena, the Java class used to represent a single triple is <code>Statement</code>. According to the RDF
+specification, only resources can be the subject of an RDF triple, whereas the object can be a
+resource or a literal. The key methods for extracting the elements of a <code>Statement</code> are then:</p>
+<ul>
+<li><code>getSubject()</code> returning a <code>Resource</code></li>
+<li><code>getObject()</code> returning an <code>RDFNode</code></li>
+<li><code>getPredicate()</code> returning a <code>Property</code> (see below for more on Properties)</li>
+</ul>
+<p>The predicate of a triple corresponds to the label on an edge in the RDF graph. So in the figure
+below, the two representations are equivalent:</p>
+<p><img alt="Picture of two RDF triples in graphical and text form" src="rdf-graph-and-triples.png" title="RDF graph and triples" /></p>
+<p>Technically, an RDF graph corresponds to a set of RDF triples. This means that an RDF resource
+can only be the subject of at most one triple with the same predicate and object (because sets do
+not contain any duplicates).</p>
+<h3 id="properties">Properties</h3>
+<p>As mentioned above, the connection between two resources or a resource and a literal in an RDF graph
+is labelled with the identity of the property. Just as RDF itself uses URI's as names for resources,
+minimising the chances of accidental name collisions, so too are properties identified with URI's. In fact,
+RDF Properties are just a special case of RDF Resources. Properties are denoted in Jena by the <code>Property</code>
+object, which is a Java sub-class of <code>Resource</code> (itself a Java sub-class of <code>RDFNode</code>).</p>
+<p>One difference between properties and resources in general is that RDF does not permit anonymous
+properties, so you can't use a bNode in place of a <code>Property</code> in the graph.</p>
+<h3 id="namespaces">Namespaces</h3>
+<p>Suppose two companies, Acme Inc, and Emca Inc, decide to encode their product catalogues in RDF. A key
+piece of information to include in the graph is the price of the product, so both decide to use a <code>price</code>
+predicate to denote the relationship between a product and its current price. However, Acme wants the
+price to include applicable sales taxes, whereas Emca wants to exclude them. So the notion of price
+is slightly different in each case. However, using the name 'price' on its own risks losing this
+distinction.</p>
+<p>Fortunately, RDF specifies that a property is identified by a URI, and 'price' on its own is not a URI.
+A logical solution is for both Acme and Emca to use their own web spaces to provide different
+base URIs on which to construct the URI for the property:</p>
+<div class="codehilite"><pre><span class="n">http:</span><span class="sr">//</span><span class="n">acme</span><span class="o">.</span><span class="n">example</span><span class="sr">/schema/</span><span class="n">products</span><span class="c1">#price</span>
+<span class="n">http:</span><span class="sr">//</span><span class="n">emca</span><span class="o">.</span><span class="n">example</span><span class="sr">/ontology/c</span><span class="n">atalogue</span><span class="o">/</span><span class="n">price</span>
+</pre></div>
+
+
+<p>These are clearly now two distinct identities, and so each company can define the semantics of the
+price property without interfering with the other. Writing out such long strings each time, however,
+can be unwieldy and a source of error. A <em>compact URI</em> or <a href="http://www.w3.org/TR/curie/"><em>curie</em></a>
+is an abbreviated form in which a namespace and name are separated by a colon character:</p>
+<div class="codehilite"><pre><span class="n">acme</span><span class="o">-</span><span class="n">product:price</span>
+<span class="n">emca</span><span class="o">-</span><span class="n">catalogue:price</span>
+</pre></div>
+
+
+<p>where <code>acme-product</code> is defined to be <code>http://acme.example/schema/products#</code>. This can be defined,
+for example, in Turtle:</p>
+<div class="codehilite"><pre><span class="nv">@prefix</span> <span class="n">acme</span><span class="o">-</span><span class="n">product:</span> <span class="sr">&lt;http://acme.example/schema/products#&gt;</span><span class="o">.</span>
+
+<span class="n">acme</span><span class="o">-</span><span class="n">product:widget</span> <span class="n">acme</span><span class="o">-</span><span class="n">product:price</span> <span class="s">&quot;44.99&quot;</span><span class="o">^^</span><span class="n">xsd:decimal</span><span class="o">.</span>
+</pre></div>
+
+
+<p>The datatype <code>xsd:decimal</code> is another example of an abbreviated URI. Note that no <code>@prefix</code> rules
+are defined by RDF or Turtle: authors of RDF content should ensure that all prefixes used in curies
+are defined before use.</p>
+<p><strong>Note</strong></p>
+<p>Jena does not treat namespaces in a special way. A <code>Model</code> will remember any prefixes defined
+in the input RDF (see the <a href="http://incubator.apache.org/jena/documentation/javadoc/jena/com/hp/hpl/jena/shared/PrefixMapping.html"><code>PrexixMapping</code></a>
+interface; all Jena <code>Model</code> objects extend <code>PrefixMapping</code>), and the output writers which
+serialize a model to XML or Turtle will normally attempt to use prefixes to abbreviate URI's.
+However internally, a <code>Resource</code> URI is not separated into a namespace and local-name pair.
+The method <code>getLocalName()</code> on <code>Resource</code> will attempt to calculate what a reasonable local
+name might have been, but it may not always recover the pairing that was used in the
+input document.</p>
+<p>can be used as the <em>subject</em> of statements about the properties
+of that resource, as above, but also as the value of a statement. For example, the property
+<code>is-a-friend-of</code> might typically connect two resources denoting people</p>
+<h2 id="jena_packages">Jena packages</h2>
+<p>As a guide to the various features of Jena, here's a description of the main Java packages.
+For brevity, we shorten <code>com.hp.hpl</code> to <code>chh</code>.</p>
+<p><strong>Important note</strong> At some future point, now that Jena has become a project under the Apache
+Software Foundation, the package names beginning <code>com.hpl.hpl</code> will change to <code>org.apache</code>.
+Likewise <code>org.openjena</code>. We will provide transition packages to help Jena users adapt to this
+change when it occurs.</p>
+<table>
+<thead>
+<tr>
+<th>Package</th>
+<th>Description</th>
+<th>More information</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>chh.jena.rdf.model</td>
+<td>The Jena core. Creating and manipulating RDF graphs.</td>
+<td />
+</tr>
+<tr>
+<td>chh.jena.datatypes</td>
+<td>Provides the core interfaces through which datatypes are described to Jena.</td>
+<td><a href="http://incubator.apache.org/jena/documentation/notes/typed-literals.html">Typed literals</a></td>
+</tr>
+<tr>
+<td>chh.jena.ontology</td>
+<td>Abstractions and convenience classes for accessing and manipluating ontologies represented in RDF.</td>
+<td><a href="http://incubator.apache.org/jena/documentation/ontology/index.html">Ontology API</a></td>
+</tr>
+<tr>
+<td>chh.jena.rdf.arp</td>
+<td>A parser for RDF/XML.</td>
+<td />
+</tr>
+<tr>
+<td>chh.jena.rdf.listeners</td>
+<td>Listening for changes to the statements in a model</td>
+<td />
+</tr>
+<tr>
+<td>chh.jena.reasoner</td>
+<td>The reasoner subsystem is supports a range of inference engines which derive additional information from an RDF model</td>
+<td><a href="http://incubator.apache.org/jena/documentation/inference/index.html">Reasoner how-to</a></td>
+</tr>
+<tr>
+<td>chh.jena.shared</td>
+<td>Common utility classes</td>
+<td />
+</tr>
+<tr>
+<td>chh.jena.vocabulary</td>
+<td>A package containing constant classes with predefined constant objects for classes and properties defined in well known vocabularies.</td>
+<td />
+</tr>
+<tr>
+<td>chh.jena.xmloutput</td>
+<td>Writing RDF/XML.</td>
+<td><a href="http://incubator.apache.org/jena/documentation/io/index.html">I/O index</a></td>
+</tr>
+</tbody>
+</table>
   </div>
 
   <div id="footer">

Modified: websites/production/jena/content/jena/documentation/sdb/commands.html
==============================================================================
--- websites/production/jena/content/jena/documentation/sdb/commands.html (original)
+++ websites/production/jena/content/jena/documentation/sdb/commands.html Mon Dec 19 09:23:01 2011
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>

Modified: websites/production/jena/content/jena/documentation/sdb/configuration.html
==============================================================================
--- websites/production/jena/content/jena/documentation/sdb/configuration.html (original)
+++ websites/production/jena/content/jena/documentation/sdb/configuration.html Mon Dec 19 09:23:01 2011
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>

Modified: websites/production/jena/content/jena/documentation/sdb/database_layouts.html
==============================================================================
--- websites/production/jena/content/jena/documentation/sdb/database_layouts.html (original)
+++ websites/production/jena/content/jena/documentation/sdb/database_layouts.html Mon Dec 19 09:23:01 2011
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>

Modified: websites/production/jena/content/jena/documentation/sdb/databases_supported.html
==============================================================================
--- websites/production/jena/content/jena/documentation/sdb/databases_supported.html (original)
+++ websites/production/jena/content/jena/documentation/sdb/databases_supported.html Mon Dec 19 09:23:01 2011
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>

Modified: websites/production/jena/content/jena/documentation/sdb/dataset_description.html
==============================================================================
--- websites/production/jena/content/jena/documentation/sdb/dataset_description.html (original)
+++ websites/production/jena/content/jena/documentation/sdb/dataset_description.html Mon Dec 19 09:23:01 2011
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>

Modified: websites/production/jena/content/jena/documentation/sdb/db_notes.html
==============================================================================
--- websites/production/jena/content/jena/documentation/sdb/db_notes.html (original)
+++ websites/production/jena/content/jena/documentation/sdb/db_notes.html Mon Dec 19 09:23:01 2011
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>

Modified: websites/production/jena/content/jena/documentation/sdb/faq.html
==============================================================================
--- websites/production/jena/content/jena/documentation/sdb/faq.html (original)
+++ websites/production/jena/content/jena/documentation/sdb/faq.html Mon Dec 19 09:23:01 2011
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>

Modified: websites/production/jena/content/jena/documentation/sdb/index.html
==============================================================================
--- websites/production/jena/content/jena/documentation/sdb/index.html (original)
+++ websites/production/jena/content/jena/documentation/sdb/index.html Mon Dec 19 09:23:01 2011
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>
@@ -118,6 +119,7 @@
 </li>
 <li><a href="/jena/documentation/io/index.html">I/O</a><ul>
 <li><a href="/jena/documentation/io/iohowto.html">I/O how-to</a></li>
+<li><a href="/jena/documentation/io/riot.html">RIOT</a></li>
 </ul>
 </li>
 <li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
@@ -128,6 +130,7 @@
 <li><a href="/jena/documentation/notes/rdf-frames.html">RDF frames</a></li>
 <li><a href="/jena/documentation/notes/reification.html">Reification how-to</a></li>
 <li><a href="/jena/documentation/notes/typed-literals.html">Typed literals how-to</a></li>
+<li><a href="/jena/documentation/notes/iri.html">Support for IRI's</a></li>
 </ul>
 </li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
@@ -174,8 +177,8 @@ line scripts and via the Jena API.</p>
 <li><a href="databases_supported.html">Databases supported</a></li>
 </ul>
 <h2 id="downloads">Downloads</h2>
-<p>SDB is distributed from the Apache Jena project.</p>
-<p><em>TODO: identify download location</em></p>
+<p>SDB is distributed from the Apache Jena project. See the
+<a href="/jena/downloads/">downloads page</a> for details.</p>
 <h2 id="subversion">Subversion</h2>
 <p><a href="https://svn.apache.org/repos/asf/incubator/jena/Jena2/SDB/">SDB subversion repository</a>
 at Apache.</p>

Modified: websites/production/jena/content/jena/documentation/sdb/installation.html
==============================================================================
--- websites/production/jena/content/jena/documentation/sdb/installation.html (original)
+++ websites/production/jena/content/jena/documentation/sdb/installation.html Mon Dec 19 09:23:01 2011
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>

Modified: websites/production/jena/content/jena/documentation/sdb/javaapi.html
==============================================================================
--- websites/production/jena/content/jena/documentation/sdb/javaapi.html (original)
+++ websites/production/jena/content/jena/documentation/sdb/javaapi.html Mon Dec 19 09:23:01 2011
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>

Modified: websites/production/jena/content/jena/documentation/sdb/joseki_integration.html
==============================================================================
--- websites/production/jena/content/jena/documentation/sdb/joseki_integration.html (original)
+++ websites/production/jena/content/jena/documentation/sdb/joseki_integration.html Mon Dec 19 09:23:01 2011
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>

Modified: websites/production/jena/content/jena/documentation/sdb/loading_data.html
==============================================================================
--- websites/production/jena/content/jena/documentation/sdb/loading_data.html (original)
+++ websites/production/jena/content/jena/documentation/sdb/loading_data.html Mon Dec 19 09:23:01 2011
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>

Modified: websites/production/jena/content/jena/documentation/sdb/loading_performance.html
==============================================================================
--- websites/production/jena/content/jena/documentation/sdb/loading_performance.html (original)
+++ websites/production/jena/content/jena/documentation/sdb/loading_performance.html Mon Dec 19 09:23:01 2011
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>

Modified: websites/production/jena/content/jena/documentation/sdb/query_performance.html
==============================================================================
--- websites/production/jena/content/jena/documentation/sdb/query_performance.html (original)
+++ websites/production/jena/content/jena/documentation/sdb/query_performance.html Mon Dec 19 09:23:01 2011
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>

Modified: websites/production/jena/content/jena/documentation/sdb/quickstart.html
==============================================================================
--- websites/production/jena/content/jena/documentation/sdb/quickstart.html (original)
+++ websites/production/jena/content/jena/documentation/sdb/quickstart.html Mon Dec 19 09:23:01 2011
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>

Modified: websites/production/jena/content/jena/documentation/sdb/sdb.html
==============================================================================
--- websites/production/jena/content/jena/documentation/sdb/sdb.html (original)
+++ websites/production/jena/content/jena/documentation/sdb/sdb.html Mon Dec 19 09:23:01 2011
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>
@@ -118,6 +119,7 @@
 </li>
 <li><a href="/jena/documentation/io/index.html">I/O</a><ul>
 <li><a href="/jena/documentation/io/iohowto.html">I/O how-to</a></li>
+<li><a href="/jena/documentation/io/riot.html">RIOT</a></li>
 </ul>
 </li>
 <li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
@@ -128,6 +130,7 @@
 <li><a href="/jena/documentation/notes/rdf-frames.html">RDF frames</a></li>
 <li><a href="/jena/documentation/notes/reification.html">Reification how-to</a></li>
 <li><a href="/jena/documentation/notes/typed-literals.html">Typed literals how-to</a></li>
+<li><a href="/jena/documentation/notes/iri.html">Support for IRI's</a></li>
 </ul>
 </li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
@@ -169,8 +172,8 @@ line scripts and via the Jena API.</p>
 <li><a href="#database_Notes">Database Notes</a></li>
 </ul>
 <h2 id="downloads">Downloads</h2>
-<p>SDB is distributed from the Apache Jena project.</p>
-<p>TODO: identify download location</p>
+<p>SDB is distributed from the Apache Jena project.
+See the <a href="/jena/downloads">downloads page</a> for details.</p>
 <h2 id="documentation">Documentation</h2>
 <ul>
 <li><a href="installation.html">SDB Installation</a></li>

Modified: websites/production/jena/content/jena/documentation/sdb/store_description.html
==============================================================================
--- websites/production/jena/content/jena/documentation/sdb/store_description.html (original)
+++ websites/production/jena/content/jena/documentation/sdb/store_description.html Mon Dec 19 09:23:01 2011
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>

Modified: websites/production/jena/content/jena/documentation/serving_data/index.html
==============================================================================
--- websites/production/jena/content/jena/documentation/serving_data/index.html (original)
+++ websites/production/jena/content/jena/documentation/serving_data/index.html Mon Dec 19 09:23:01 2011
@@ -20,7 +20,7 @@
 -->
 
   <link href="/jena/css/jena.css" rel="stylesheet" type="text/css">
-  <title>Apache Jena - Serving RDF data with Fuseki</title>
+  <title>Apache Jena - Fuseki: serving RDF data over HTTP</title>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
   <script src="/jena/js/jquery-1.6.4.min.js" type="text/javascript"></script>
   <script src="/jena/js/jena-navigation.js" type="text/javascript"></script>
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>
@@ -118,6 +119,7 @@
 </li>
 <li><a href="/jena/documentation/io/index.html">I/O</a><ul>
 <li><a href="/jena/documentation/io/iohowto.html">I/O how-to</a></li>
+<li><a href="/jena/documentation/io/riot.html">RIOT</a></li>
 </ul>
 </li>
 <li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
@@ -128,6 +130,7 @@
 <li><a href="/jena/documentation/notes/rdf-frames.html">RDF frames</a></li>
 <li><a href="/jena/documentation/notes/reification.html">Reification how-to</a></li>
 <li><a href="/jena/documentation/notes/typed-literals.html">Typed literals how-to</a></li>
+<li><a href="/jena/documentation/notes/iri.html">Support for IRI's</a></li>
 </ul>
 </li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
@@ -151,56 +154,485 @@
   </div>
 
   <div id="content">
-    <h1 class="title">Serving RDF data with Fuseki</h1>
-    <h2 id="fuseki">Fuseki</h2>
-<p>Fuseki is a SPARQL server. It provides the REST-style SPARQL HTTP Update, and SPARQL Query and SPARQL Update using the SPARQL protocol over HTTP.</p>
+    <h1 class="title">Fuseki: serving RDF data over HTTP</h1>
+    <p>Fuseki is a SPARQL server. It provides the REST-style SPARQL HTTP
+Update, and SPARQL Query and SPARQL Update using the SPARQL
+protocol over HTTP.</p>
 <p>The relevant SPARQL standards are:</p>
 <ul>
-<li><a href="http://www.w3.org/TR/sparql11-query/">SPARQL 1.1 Query</a></li>
-<li><a href="http://www.w3.org/TR/sparql11-update/">SPARQL 1.1 Update</a></li>
-<li><a href="http://www.w3.org/TR/sparql11-protocol/">SPARQL 1.1 Protocol</a></li>
-<li><a href="http://www.w3.org/TR/sparql11-http-rdf-update/">SPARQL 1.1 Graph Store HTTP Protocol</a> </li>
-</ul>
-<p>These are work-in-progress by the SPARQL working group and while the general designs are stable, details may change. Fuseki will track the draft standards.</p>
+<li><a href="http://www.w3.org/TR/sparql11-query/" title="http://www.w3.org/TR/sparql11-query/">SPARQL 1.1 Query</a></li>
+<li><a href="http://www.w3.org/TR/sparql11-update/" title="http://www.w3.org/TR/sparql11-update/">SPARQL 1.1 Update</a></li>
+<li><a href="http://www.w3.org/TR/sparql11-protocol/" title="http://www.w3.org/TR/sparql11-protocol/">SPARQL 1.1 Protocol</a></li>
+<li><a href="http://www.w3.org/TR/sparql11-http-rdf-update/" title="http://www.w3.org/TR/sparql11-http-rdf-update/">SPARQL 1.1 Graph Store HTTP Protocol</a></li>
+</ul>
+<p>These are work-in-progress by the SPARQL working group and while
+the general designs are stable, details may change. Fuseki will
+track the draft standards.</p>
 <p>See also:</p>
 <ul>
-<li><a href="http://openjena.org/wiki/SOH">SPARQL Over HTTP</a> – command line tools for working with any SPARQL 1.1 system</li>
-<li><a href="http://openjena.org/wiki/TDB">TDB</a> – the RDF database used by Fuseki.</li>
-<li><a href="http://openjena.org/ARQ">ARQ</a> – the SPARQL query engine used by Fuseki. </li>
+<li><a href="soh.html" title="SOH">SPARQL Over HTTP</a> – command line tools for working with any SPARQL 1.1 system</li>
 </ul>
-<h2 id="getting_started_with_fuseki">Getting Started with Fuseki</h2>
+<h2 id="contents">Contents</h2>
+<ul>
+<li><a href="#download">Download</a></li>
+<li><a href="#getting_started">Getting Started</a></li>
+<li><a href="#security">Security</a></li>
+<li><a href="#logging">Logging</a></li>
+<li><a href="#server_uri_scheme">Server URI scheme</a></li>
+<li><a href="#fuseki_assumptions">Fuseki assumptions</a></li>
+<li><a href="#running_a_fuseki_server">Running a Fuseki Server</a></li>
+<li><a href="#sparql_over_http">SPARQL Over HTTP</a></li>
+<li><a href="#use_from_java">Use from Java</a></li>
+<li><a href="#development_system">Development System</a></li>
+</ul>
+<h2 id="download">Download</h2>
+<p><strong>Note</strong> builds will be migrating to the Apache infrastructure very soon. See the
+<a href="/jena/downloads">downloads page</a> for details.</p>
+<p>Builds are available from the
+<a href="http://openjena.org/repo/org/openjena/fuseki/">Jena Maven repository</a>
+and also the
+<a href="http://openjena.org/repo-dev/org/openjena/fuseki/">development repository</a>.</p>
+<p>Choose the version directory then look for the file
+fuseki-<em>VER</em>.zip. <em>VER</em> for a snapshot includes the timestamp and
+increment number as generated by maven.</p>
+<p>Fuseki download files</p>
+<p>Filename | Description
+fuseki-<em>VER</em>.zip | Fuseki download, includes everything.
+fuseki-<em>VER</em>-server.jar  |Fuseki server, as an executable jar.
+fuseki-<em>VER</em>-SOH.zip | <a href="soh.html" title="SOH">SOH (SPARQL Over HTTP)</a> scripts</p>
+<p>Fuseki requires Java6.</p>
+<h2 id="getting_started">Getting Started</h2>
+<p>This section provides a brief guide to getting up and running with
+a simple server installation. It uses the
+<a href="soh.html" title="SOH">SOH (SPARQL over HTTP)</a> scripts included in the
+download.</p>
 <ol>
-<li>Download the latest stable released of Fuseki from here: <a href="http://openjena.org/repo/org/openjena/fuseki/0.2.0/fuseki-0.2.0.zip">http://openjena.org/repo/org/openjena/fuseki/0.2.0/fuseki-0.2.0.zip</a></li>
+<li>Download (this includes the server and the SOH scripts)</li>
 <li>Unzip</li>
-<li>(Linux) <code>chmod +x fuseki-server s-*</code></li>
-<li>Run the server with: <code>fuseki-server --update --mem /dataset</code></li>
-<li><a href="http://127.0.0.1:3030">http://127.0.0.1:3030</a></li>
+<li>(Linux) chmod +x fuseki-server s-*</li>
+<li>
+<p>Run a server</p>
+<p>fuseki-server --update --mem /dataset</p>
+</li>
 </ol>
-<h2 id="want_more">Want more?</h2>
-<p>More documentation about Fuseki is available here:</p>
+<p>The server logging goes to the console:</p>
+<div class="codehilite"><pre><span class="err">09:25:41</span> <span class="err">INFO</span>  <span class="err">Fuseki</span>              <span class="err"> ::</span> <span class="err">Dataset:</span> <span class="err">in-memory</span>
+<span class="err">09:25:41</span> <span class="err">INFO</span>  <span class="err">Fuseki</span>              <span class="err"> ::</span> <span class="err">Update</span> <span class="err">enabled</span>
+<span class="err">09:25:41</span> <span class="err">INFO</span>  <span class="err">Fuseki</span>              <span class="err"> ::</span> <span class="err">Fuseki</span> <span class="err">development</span>
+<span class="err">09:25:41</span> <span class="err">INFO</span>  <span class="err">Fuseki</span>              <span class="err"> ::</span> <span class="err">Jetty</span> <span class="err">7.2.1.v20101111</span>
+<span class="err">09:25:41</span> <span class="err">INFO</span>  <span class="err">Fuseki</span>              <span class="err"> ::</span> <span class="err">Dataset</span> <span class="err">=</span> <span class="err">/ds</span>
+<span class="err">09:25:41</span> <span class="err">INFO</span>  <span class="err">Fuseki</span>              <span class="err"> ::</span> <span class="err">Started</span> <span class="err">2011/01/06</span> <span class="err">09:25:41</span> <span class="err">GMT</span> <span class="err">on</span> <span class="err">port</span> <span class="err">3030</span>
+</pre></div>
+
+
+<h2 id="user_interface">User Interface</h2>
+<p>The Fuseki download includes a number of services:</p>
 <ul>
-<li><a href="http://openjena.org/wiki/Fuseki">http://openjena.org/wiki/Fuseki</a></li>
+<li>SPARQL Query, SPARQL Update and file upload to a selected
+    dataset.</li>
+<li>Link to the documentation (here).</li>
+<li>Validators for SPARQL query and update and for non-RDF/XML
+    formats.</li>
 </ul>
+<p>For the control panel:</p>
+<ol>
+<li>In a browser, go to
+    <a href="http://localhost:3030/" title="http://localhost:3030/">http://localhost:3030/</a></li>
+<li>Click on "Control Panel</li>
+<li>Select the dataset (if set up above there is only one choice).</li>
+</ol>
+<p>The page offers SPARQL operations and file upload acting on the
+selected dataset.</p>
+<h2 id="script_control">Script Control</h2>
+<p>In a new window:</p>
+<p>Load some RDF data into the default graph of the server:</p>
+<div class="codehilite"><pre><span class="n">s</span><span class="o">-</span><span class="n">put</span> <span class="n">http:</span><span class="sr">//</span><span class="n">localhost:3030</span><span class="sr">/dataset/</span><span class="n">data</span> <span class="n">default</span> <span class="n">books</span><span class="o">.</span><span class="n">ttl</span>
+</pre></div>
+
+
+<p>Get it back:</p>
+<div class="codehilite"><pre><span class="n">s</span><span class="o">-</span><span class="n">get</span> <span class="n">http:</span><span class="sr">//</span><span class="n">localhost:3030</span><span class="sr">/dataset/</span><span class="n">data</span> <span class="n">default</span>
+</pre></div>
+
+
+<p>Query it with SPARQL using the .../query endpoint.</p>
+<div class="codehilite"><pre><span class="n">s</span><span class="o">-</span><span class="n">query</span> <span class="o">--</span><span class="n">service</span> <span class="n">http:</span><span class="sr">//</span><span class="n">localhost:3030</span><span class="sr">/dataset/</span><span class="n">query</span> <span class="s">&#39;SELECT * {?s ?p ?o}&#39;</span>
+</pre></div>
+
+
+<p>Update it with SPARQL using the .../update endpoint.</p>
+<div class="codehilite"><pre><span class="n">s</span><span class="o">-</span><span class="n">update</span> <span class="o">--</span><span class="n">service</span> <span class="n">http:</span><span class="sr">//</span><span class="n">localhost:3030</span><span class="sr">/dataset/</span><span class="n">update</span> <span class="s">&#39;CLEAR DEFAULT&#39;</span>
+</pre></div>
+
+
+<h2 id="security">Security</h2>
+<p>Fuseki does not have any security yet. This will change.</p>
+<p>Data can be updated without access control if the server is started
+with the --update argument. If started without that argument, data
+is read-only.</p>
+<h2 id="logging">Logging</h2>
+<p>Fuseki uses
+<a href="http://logging.apache.org/log4j/" title="http://logging.apache.org/log4j/">Log4J</a>
+for logging. There are two main logging channels:</p>
+<ol>
+<li>The general server messages : org.openjena.fuseki.Server</li>
+<li>A channel for all request messages: org.openjena.fuseki.Fuseki</li>
+</ol>
+<p>The default settings are (this is an extract of a log4j properties
+file):</p>
+<div class="codehilite"><pre><span class="c1"># Fuseki</span>
+<span class="c1"># Server log.</span>
+<span class="n">log4j</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">org</span><span class="o">.</span><span class="n">openjena</span><span class="o">.</span><span class="n">fuseki</span><span class="o">.</span><span class="n">Server</span><span class="o">=</span><span class="n">INFO</span>
+<span class="c1"># Request log.</span>
+<span class="n">log4j</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">org</span><span class="o">.</span><span class="n">openjena</span><span class="o">.</span><span class="n">fuseki</span><span class="o">.</span><span class="n">Fuseki</span><span class="o">=</span><span class="n">INFO</span>
+<span class="c1"># Internal logs</span>
+<span class="n">log4j</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">org</span><span class="o">.</span><span class="n">openjena</span><span class="o">.</span><span class="n">fuseki</span><span class="o">=</span><span class="n">INFO</span>
+</pre></div>
+
+
+<h2 id="server_uri_scheme">Server URI scheme</h2>
+<p>This details the service URIs for Fuseki:</p>
+<ul>
+<li>http://host/<em>dataset</em>/query -- the SPARQL query endpoint.</li>
+<li>http://host/<em>dataset</em>/update -- the SPARQL Update language
+    endpoint.</li>
+<li>http://host/<em>dataset</em>/data -- the SPARQL Graph Store Protocol
+    endpoint.</li>
+<li>http://host/<em>dataset</em>/upload -- the file upload endpoint.</li>
+</ul>
+<p>where <em>dataset</em> is a URI path. Note that Fuseki defaults to using
+port 3030 so <em>host</em> is often <em>localhost:3030</em>.</p>
+<p>The URI
+<a href="http://host/dataset/sparql" title="http://host/dataset/sparql">http://host/dataset/sparql</a>
+is currently mapped to /query but this may change to being a
+general purpose SPARQL query endpoint.</p>
+<h2 id="fuseki_assumptions">Fuseki assumptions</h2>
+<p>Where the standards allow variability or are not yet precisely
+defined, Fuseki makes certain assumptions.</p>
+<ol>
+<li>?default names the default graph for SPARQL HTTP Update.</li>
+<li>SPARQL Updates are sent by POSTing the SPARQL update request as
+    the body of the POST with content type application/sparql-update</li>
+<li>SPARQL Update over HTML Forms is supported with parameter
+    request=</li>
+</ol>
+<h2 id="running_a_fuseki_server">Running a Fuseki Server</h2>
+<p>The server can be run with the script <code>fuseki-server</code>. Common forms
+are:</p>
+<div class="codehilite"><pre><span class="n">fuseki</span><span class="o">-</span><span class="n">server</span> <span class="o">--</span><span class="n">mem</span>  <span class="o">/</span><span class="n">DatasetPathName</span>
+
+<span class="n">fuseki</span><span class="o">-</span><span class="n">server</span> <span class="o">--</span><span class="n">file</span><span class="o">=</span><span class="n">FILE</span> <span class="o">/</span><span class="n">DatasetPathName</span>
+
+<span class="n">fuseki</span><span class="o">-</span><span class="n">server</span> <span class="o">--</span><span class="n">loc</span><span class="o">=</span><span class="n">DB</span> <span class="o">/</span><span class="n">DatasetPathName</span>
+
+<span class="n">fuseki</span><span class="o">-</span><span class="n">server</span> <span class="o">--</span><span class="n">config</span><span class="o">=</span><span class="n">ConfigFile</span>
+</pre></div>
+
+
+<p>There is an option <code>--port=PORT</code> to set the port number. It
+defaults to 3030.</p>
+<p><code>/DatasetPathName</code> is the name under which the dataset will be
+accessible over HTTP.</p>
+<p>The server will service read requests only unless the --update
+argument is used.</p>
+<p>The full choice of dataset forms is:</p>
+<p>Fuseki Dataset Descriptions
+--mem
+Create an empty, in-memory (non-persistent) dataset.
+--file=FILE
+Create an empty, in-memory (non-persistent) dataset, then load FILE
+into it.
+--loc=DIR
+Use an existing TDB database. Create an empty one if it does not
+exist.
+--desc=assemblerFile
+Construct a dataset based on the general assembler description.
+--config=ConfigFile
+Construct one or more service endpoints based on the
+<a href="#Fuseki_Configuration_File">configuration description</a>.
+A copy of TDB is included in the standalone server. An example
+assembler file for TDB is in tdb.ttl.</p>
+<p>Fuseki Server Arguments
+--help
+Print help message.
+--port=<em>number</em>
+Run on port <em>number</em> - default is 3030.
+--host=<em>name</em>
+Listen only to a specific network interface.
+--update
+Allow update. Otherwise only read requests are served (ignored if a
+configuration file is given).</p>
+<h2 id="security_and_access_control">Security and Access Control</h2>
+<p>Fuseki does not offer any security and access control itself.
+Authentication and control of the number of concurrent request can
+be added using an Apache server and either blocking the Fuseki port
+to outside traffic (e.g. on Amazon's EC2) or by listening only the
+"localhost" network interface. This is especially import for update
+endpoints (SPARQL Update, SPARQL Graph Store protocol with
+PUR/POST/DELETE enabled).</p>
+<h2 id="fuseki_server_starting_with_an_empty_dataset">Fuseki Server starting with an empty dataset</h2>
+<div class="codehilite"><pre><span class="n">fuseki</span><span class="o">-</span><span class="n">server</span> <span class="o">--</span><span class="n">update</span> <span class="o">--</span><span class="n">mem</span> <span class="o">/</span><span class="n">dataset</span>
+</pre></div>
+
+
+<p>runs the server on port 3030 with an in-memory dataset. It can be
+accessed via the appropriate protocol at URLs:</p>
+<ul>
+<li>SPARQL query: http://localhost:3030/dataset/query</li>
+<li>SPARQL update: http://localhost:3030/dataset/update</li>
+<li>SPARQL HTTP update: http://localhost:3030/dataset/data</li>
+</ul>
+<p>The <a href="soh.html" title="SOH">SPARQL Over HTTP</a> scripts take care of naming
+and protocol details. For example, to load in a file data.rdf:</p>
+<div class="codehilite"><pre> <span class="n">s</span><span class="o">-</span><span class="n">put</span> <span class="n">http:</span><span class="sr">//</span><span class="n">localhost:3030</span><span class="sr">/dataset/</span><span class="n">data</span> <span class="n">default</span> <span class="n">data</span><span class="o">.</span><span class="n">rdf</span>
+</pre></div>
+
+
+<h2 id="fuseki_server_and_tdb">Fuseki Server and TDB</h2>
+<p>Fuseki include a built-in version of TDB. Run the server with the
+--desc argument</p>
+<div class="codehilite"><pre><span class="n">fuseki</span><span class="o">-</span><span class="n">server</span> <span class="o">--</span><span class="n">desc</span> <span class="n">tdb</span><span class="o">.</span><span class="n">ttl</span> <span class="o">/</span><span class="n">dataset</span>
+</pre></div>
+
+
+<p>and a database in the directory DB, an assembler description of:</p>
+<div class="codehilite"><pre><span class="nv">@prefix</span> <span class="n">rdf:</span>     <span class="sr">&lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;</span> <span class="o">.</span>
+<span class="nv">@prefix</span> <span class="n">rdfs:</span>    <span class="sr">&lt;http://www.w3.org/2000/01/rdf-schema#&gt;</span> <span class="o">.</span>
+<span class="nv">@prefix</span> <span class="n">ja:</span>      <span class="sr">&lt;http://jena.hpl.hp.com/2005/11/Assembler#&gt;</span> <span class="o">.</span>
+<span class="nv">@prefix</span> <span class="n">tdb:</span>     <span class="sr">&lt;http://jena.hpl.hp.com/2008/tdb#&gt;</span> <span class="o">.</span>
+
+<span class="o">[]</span> <span class="n">ja:loadClass</span> <span class="s">&quot;com.hp.hpl.jena.tdb.TDB&quot;</span> <span class="o">.</span>
+<span class="n">tdb:DatasetTDB</span>  <span class="n">rdfs:subClassOf</span>  <span class="n">ja:RDFDataset</span> <span class="o">.</span>
+<span class="n">tdb:GraphTDB</span>    <span class="n">rdfs:subClassOf</span>  <span class="n">ja:Model</span> <span class="o">.</span>
+
+<span class="sr">&lt;#dataset&gt;</span> <span class="n">rdf:type</span>      <span class="n">tdb:DatasetTDB</span><span class="err"> </span><span class="p">;</span>
+     <span class="n">tdb:location</span> <span class="s">&quot;DB&quot;</span><span class="err"> </span><span class="p">;</span>
+     <span class="o">.</span>
+</pre></div>
+
+
+<p>The form:</p>
+<div class="codehilite"><pre><span class="n">fuseki</span><span class="o">-</span><span class="n">server</span> <span class="o">--</span><span class="n">loc</span><span class="o">=</span><span class="n">DB</span> <span class="o">/</span><span class="n">dataset</span>
+</pre></div>
+
+
+<p>is a shorthand for such an assembler with location "DB".</p>
+<p>To make triples from all the named graphs appear as the default,
+unnamed graph, use:</p>
+<div class="codehilite"><pre><span class="sr">&lt;#dataset&gt;</span> <span class="n">rdf:type</span>      <span class="n">tdb:DatasetTDB</span><span class="err"> </span><span class="p">;</span>
+     <span class="n">tdb:location</span> <span class="s">&quot;DB&quot;</span><span class="err"> </span><span class="p">;</span>
+     <span class="n">tdb:unionDefaultGraph</span> <span class="n">true</span><span class="err"> </span><span class="p">;</span>
+    <span class="o">.</span>
+</pre></div>
+
+
+<h2 id="fuseki_server_and_general_dataset_descriptions">Fuseki Server and general dataset descriptions</h2>
+<p>The Fuseki server can be given an
+<a href="assembler.html" title="http://openjena.org/assembler/index.html">assembler description</a>
+to build a variety of model and datasets types.</p>
+<div class="codehilite"><pre><span class="n">fuseki</span><span class="o">-</span><span class="n">server</span> <span class="o">--</span><span class="n">desc</span> <span class="n">assembler</span><span class="o">.</span><span class="n">ttl</span> <span class="o">/</span><span class="n">dataset</span>
+</pre></div>
+
+
+<p>Full details of setting up models assembler is given in the
+<a href="assembler.html" title="http://openjena.org/assembler/index.html">assembler documentation</a>.</p>
+<p>A general dataset is described by:</p>
+<div class="codehilite"><pre><span class="c1"># Dataset of default graph and one named graph.</span>
+<span class="sr">&lt;#dataset&gt;</span> <span class="n">rdf:type</span> <span class="n">ja:RDFDataset</span><span class="err"> </span><span class="p">;</span>
+   <span class="n">ja:defaultGraph</span> <span class="sr">&lt;#modejDft&gt;</span><span class="err"> </span><span class="p">;</span>
+   <span class="n">ja:namedGraph</span>
+       <span class="p">[</span> <span class="n">ja:graphName</span>      <span class="sr">&lt;http://example.org/name1&gt;</span><span class="err"> </span><span class="p">;</span>
+         <span class="n">ja:graph</span>          <span class="sr">&lt;#model1&gt;</span> <span class="p">]</span><span class="err"> </span><span class="p">;</span>
+   <span class="o">.</span>
+
+<span class="sr">&lt;#modelDft&gt;</span> <span class="n">a</span> <span class="n">ja:MemoryModel</span><span class="err"> </span><span class="p">;</span>
+        <span class="n">ja:content</span> <span class="p">[</span> <span class="n">ja:externalContent</span> <span class="sr">&lt;file:Data.ttl&gt;</span> <span class="o">.</span>
+
+<span class="sr">&lt;#model1&gt;</span>  <span class="n">rdf:type</span> <span class="n">ja:MemoryModel</span><span class="err"> </span><span class="p">;</span>
+   <span class="n">ja:content</span> <span class="p">[</span> <span class="n">ja:externalContent</span> <span class="sr">&lt;file:FILE-1.ttl&gt;</span> <span class="p">]</span><span class="err"> </span><span class="p">;</span>
+   <span class="n">ja:content</span> <span class="p">[</span> <span class="n">ja:externalContent</span> <span class="sr">&lt;file:FILE-2.ttl&gt;</span> <span class="p">]</span><span class="err"> </span><span class="p">;</span>
+   <span class="o">.</span>
+</pre></div>
+
+
+<p>The models can be
+<a href="/jena/documentation/inference/">Jena inference models</a>.</p>
+<h2 id="fuseki_configuration_file">Fuseki Configuration File</h2>
+<p>A Fuseki server can be setup using a configuration file. The
+command line arguments for publishing a single dataset are a short
+cut that, internally, builds a default configuration based on the
+dataset name given.</p>
+<p>The configuration is an RDF graph. One graph consists of one server
+description, with a number of services, and each service offers a
+number of endpoints over a dataset.</p>
+<p>The example below is all one file (RDF graph in Turtle syntax)
+split to allow for commentary.</p>
+<h3 id="prefix_declarations">Prefix declarations</h3>
+<p>Some useful prefix declarations:</p>
+<div class="codehilite"><pre><span class="nv">@prefix</span> <span class="n">fuseki:</span>  <span class="sr">&lt;http://jena.apache.org/fuseki#&gt;</span> <span class="o">.</span>
+<span class="nv">@prefix</span> <span class="n">rdf:</span>     <span class="sr">&lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;</span> <span class="o">.</span>
+<span class="nv">@prefix</span> <span class="n">rdfs:</span>    <span class="sr">&lt;http://www.w3.org/2000/01/rdf-schema#&gt;</span> <span class="o">.</span>
+<span class="nv">@prefix</span> <span class="n">tdb:</span>     <span class="sr">&lt;http://jena.hpl.hp.com/2008/tdb#&gt;</span> <span class="o">.</span>
+<span class="nv">@prefix</span> <span class="n">ja:</span>      <span class="sr">&lt;http://jena.hpl.hp.com/2005/11/Assembler#&gt;</span> <span class="o">.</span>
+<span class="nv">@prefix</span><span class="err"> </span><span class="p">:</span>        <span class="sr">&lt;#&gt;</span> <span class="o">.</span>
+</pre></div>
+
+
+<h3 id="server_section">Server Section</h3>
+<p>Order of the file does not matter to the machine, but it's useful
+to start with the server description, then each of the services
+with it's datasets.</p>
+<div class="codehilite"><pre><span class="o">[]</span> <span class="n">rdf:type</span> <span class="n">fuseki:Server</span><span class="err"> </span><span class="p">;</span>
+   <span class="c1"># Server-wide context parameters can be given here.</span>
+   <span class="c1"># For example, to set query timeouts: on a server-wide basis:</span>
+   <span class="c1"># Format 1: &quot;1000&quot; -- 1 second timeout</span>
+   <span class="c1"># Format 2: &quot;10000,60000&quot; -- 10s timeout to first result, then 60s timeout to for rest of query.</span>
+   <span class="c1"># See java doc for ARQ.queryTimeout</span>
+   <span class="c1"># ja:context [ ja:cxtName &quot;arq:queryTimeout&quot; ;  ja:cxtValue &quot;10000&quot; ] ;</span>
+
+   <span class="c1"># Load custom code (rarely needed)</span>
+   <span class="c1"># ja:loadClass &quot;your.code.Class&quot; ;</span>
+
+   <span class="c1"># Services available.  Only explicitly listed services are configured.</span>
+   <span class="c1">#  If there is a service description not linked from this list, it is ignored.</span>
+   <span class="n">fuseki:services</span> <span class="p">(</span>
+     <span class="sr">&lt;#service1&gt;</span>
+     <span class="sr">&lt;#service2&gt;</span>
+   <span class="p">)</span> <span class="o">.</span>
+</pre></div>
+
+
+<h3 id="assembler_initialization">Assembler Initialization</h3>
+<p>All datasets are described by
+<a href="assembler.html" title="http://openjena.org/assembler/index.html">assembler descriptions</a>.
+Assemblers provide an extensible way of describing many kinds of
+objects. Set up any assembler extensions - here, the TDB assembler
+support.</p>
+<div class="codehilite"><pre><span class="c1"># Declaration additional assembler items.</span>
+<span class="o">[]</span> <span class="n">ja:loadClass</span> <span class="s">&quot;com.hp.hpl.jena.tdb.TDB&quot;</span> <span class="o">.</span>
+
+<span class="c1"># TDB</span>
+<span class="n">tdb:DatasetTDB</span>  <span class="n">rdfs:subClassOf</span>  <span class="n">ja:RDFDataset</span> <span class="o">.</span>
+<span class="n">tdb:GraphTDB</span>    <span class="n">rdfs:subClassOf</span>  <span class="n">ja:Model</span> <span class="o">.</span>
+</pre></div>
+
+
+<h3 id="service_1">Service 1</h3>
+<p>This service offers SPARQL Query, SPARQL Update and SPARQL Graph
+Store protocol, as well as file upload, on an in-memory dadaset.
+Initially, the dataset is empty.</p>
+<div class="codehilite"><pre><span class="c1">## ---------------------------------------------------------------</span>
+<span class="c1">## Updatable in-memory dataset.</span>
+
+<span class="sr">&lt;#service1&gt;</span> <span class="n">rdf:type</span> <span class="n">fuseki:Service</span><span class="err"> </span><span class="p">;</span>
+    <span class="n">fuseki:name</span>                       <span class="s">&quot;ds&quot;</span><span class="err"> </span><span class="p">;</span>       <span class="c1"># http://host:port/ds</span>
+    <span class="n">fuseki:serviceQuery</span>               <span class="s">&quot;query&quot;</span><span class="err"> </span><span class="p">;</span>    <span class="c1"># SPARQL query service</span>
+    <span class="n">fuseki:serviceQuery</span>               <span class="s">&quot;sparql&quot;</span><span class="err"> </span><span class="p">;</span>   <span class="c1"># SPARQL query service</span>
+    <span class="n">fuseki:serviceUpdate</span>              <span class="s">&quot;update&quot;</span><span class="err"> </span><span class="p">;</span>   <span class="c1"># SPARQL query service</span>
+    <span class="n">fuseki:serviceUpload</span>              <span class="s">&quot;upload&quot;</span><span class="err"> </span><span class="p">;</span>   <span class="c1"># Non-SPARQL upload service</span>
+    <span class="n">fuseki:serviceReadWriteGraphStore</span> <span class="s">&quot;data&quot;</span><span class="err"> </span><span class="p">;</span>     <span class="c1"># SPARQL Graph store protocol (read and write)</span>
+    <span class="c1"># A separate ead-only graph store endpoint:</span>
+    <span class="n">fuseki:serviceReadGraphStore</span>      <span class="s">&quot;get&quot;</span><span class="err"> </span><span class="p">;</span>      <span class="c1"># SPARQL Graph store protocol (read only)</span>
+    <span class="n">fuseki:dataset</span>                   <span class="sr">&lt;#dataset-mem&gt;</span><span class="err"> </span><span class="p">;</span>
+    <span class="o">.</span>
+
+<span class="sr">&lt;#dataset-mem&gt;</span> <span class="n">rdf:type</span> <span class="n">ja:RDFDataset</span> <span class="o">.</span>
+</pre></div>
+
+
+<h3 id="service_2">Service 2</h3>
+<p>This service offers a number endpoints. It is read-only, because
+only read-only endpoints are defined (SPARQL Query and HTTP GET
+SPARQl Graph Store protocol) The dataset is a single in-memory
+graph:</p>
+<p>This service offers read-only access to a dataset with a single
+graph of data.</p>
+<div class="codehilite"><pre><span class="sr">&lt;#service2&gt;</span> <span class="n">rdf:type</span> <span class="n">fuseki:Service</span><span class="err"> </span><span class="p">;</span>
+    <span class="n">fuseki:name</span>                     <span class="s">&quot;books&quot;</span><span class="err"> </span><span class="p">;</span>    <span class="c1"># http://host:port/books</span>
+    <span class="n">fuseki:serviceQuery</span>             <span class="s">&quot;query&quot;</span><span class="err"> </span><span class="p">;</span>    <span class="c1"># SPARQL query service</span>
+    <span class="n">fuseki:serviceReadGraphStore</span>    <span class="s">&quot;data&quot;</span><span class="err"> </span><span class="p">;</span>     <span class="c1"># SPARQL Graph store protocol (read only)</span>
+    <span class="n">fuseki:dataset</span>           <span class="sr">&lt;#books&gt;</span><span class="err"> </span><span class="p">;</span>
+    <span class="o">.</span>
+
+<span class="sr">&lt;#books&gt;</span>    <span class="n">rdf:type</span> <span class="n">ja:RDFDataset</span><span class="err"> </span><span class="p">;</span>
+    <span class="n">rdfs:label</span> <span class="s">&quot;Books&quot;</span><span class="err"> </span><span class="p">;</span>
+    <span class="n">ja:defaultGraph</span>
+      <span class="p">[</span> <span class="n">rdfs:label</span> <span class="s">&quot;books.ttl&quot;</span><span class="err"> </span><span class="p">;</span>
+        <span class="n">a</span> <span class="n">ja:MemoryModel</span><span class="err"> </span><span class="p">;</span>
+        <span class="n">ja:content</span> <span class="p">[</span><span class="n">ja:externalContent</span> <span class="sr">&lt;file:Data/books.ttl&gt;</span> <span class="p">]</span><span class="err"> </span><span class="p">;</span>
+      <span class="p">]</span><span class="err"> </span><span class="p">;</span>
+    <span class="o">.</span>
+</pre></div>
+
+
+<h3 id="service_3">Service 3</h3>
+<p>This service offers SPARQL query access only to a TDB database. The
+TDB database can have specific features set, such as query timeout
+or making the default graph the union of all named graphs.</p>
+<div class="codehilite"><pre><span class="sr">&lt;#service3&gt;</span>  <span class="n">rdf:type</span> <span class="n">fuseki:Service</span><span class="err"> </span><span class="p">;</span>
+    <span class="n">fuseki:name</span>              <span class="s">&quot;tdb&quot;</span><span class="err"> </span><span class="p">;</span>       <span class="c1"># http://host:port/tdb</span>
+    <span class="n">fuseki:serviceQuery</span>      <span class="s">&quot;sparql&quot;</span><span class="err"> </span><span class="p">;</span>    <span class="c1"># SPARQL query service</span>
+    <span class="n">fuseki:dataset</span>           <span class="sr">&lt;#dataset&gt;</span><span class="err"> </span><span class="p">;</span>
+    <span class="o">.</span>
+
+<span class="sr">&lt;#dataset&gt;</span> <span class="n">rdf:type</span>      <span class="n">tdb:DatasetTDB</span><span class="err"> </span><span class="p">;</span>
+    <span class="n">tdb:location</span> <span class="s">&quot;DB&quot;</span><span class="err"> </span><span class="p">;</span>
+    <span class="c1"># Query timeout on this dataset (1s, 1000 milliseconds)</span>
+    <span class="n">ja:context</span> <span class="p">[</span> <span class="n">ja:cxtName</span> <span class="s">&quot;arq:queryTimeout&quot;</span><span class="err"> </span><span class="p">;</span>  <span class="n">ja:cxtValue</span> <span class="s">&quot;1000&quot;</span> <span class="p">]</span><span class="err"> </span><span class="p">;</span>
+    <span class="c1"># Make the default graph be the union of all named graphs.</span>
+    <span class="c1">## tdb:unionDefaultGraph true ;</span>
+     <span class="o">.</span>
+</pre></div>
+
+
+<h2 id="sparql_over_http">SPARQL Over HTTP</h2>
+<p>"SOH" (SPARQL Over HTTP) is a set of command line scripts for
+working with SPARQL 1.1. It is server-independent and will work
+with any compliant SPARQL 1.1 system offering HTTP access.</p>
+<p>See the <a href="soh.html" title="SOH">SPARQL Over HTTP</a> page.</p>
+<h3 id="examples">Examples</h3>
+<div class="codehilite"><pre><span class="c1"># PUT a file</span>
+<span class="n">s</span><span class="o">-</span><span class="n">put</span> <span class="n">http:</span><span class="sr">//</span><span class="n">localhost:3030</span><span class="sr">/dataset/</span><span class="n">data</span> <span class="n">default</span> <span class="n">D</span><span class="o">.</span><span class="n">nt</span>
+
+<span class="c1"># GET a file</span>
+<span class="n">s</span><span class="o">-</span><span class="n">get</span> <span class="n">http:</span><span class="sr">//</span><span class="n">localhost:3030</span><span class="sr">/dataset/</span><span class="n">data</span> <span class="n">default</span>
+
+<span class="c1"># PUT a file to a named graph</span>
+<span class="n">s</span><span class="o">-</span><span class="n">put</span> <span class="n">http:</span><span class="sr">//</span><span class="n">localhost:3030</span><span class="sr">/dataset/</span><span class="n">data</span> <span class="n">http:</span><span class="sr">//</span><span class="n">example</span><span class="o">/</span><span class="n">graph</span> <span class="n">D</span><span class="o">.</span><span class="n">nt</span>
+
+<span class="c1"># Query</span>
+<span class="n">s</span><span class="o">-</span><span class="n">query</span> <span class="o">--</span><span class="n">service</span> <span class="n">http:</span><span class="sr">//</span><span class="n">localhost:3030</span><span class="sr">/dataset/</span><span class="n">query</span> <span class="s">&#39;SELECT * {?s ?p ?o}&#39;</span>
+
+<span class="c1"># Update</span>
+<span class="n">s</span><span class="o">-</span><span class="n">update</span> <span class="o">--</span><span class="n">service</span> <span class="n">http:</span><span class="sr">//</span><span class="n">localhost:3030</span><span class="sr">/dataset/</span><span class="n">update</span> <span class="o">--</span><span class="n">file</span><span class="o">=</span><span class="n">update</span><span class="o">.</span><span class="n">ru</span>
+</pre></div>
+
+
+<h2 id="use_from_java">Use from Java</h2>
+<h3 id="sparql_query">SPARQL Query</h3>
+<p>ARQ's <code>QueryExecutionFactory.sparqlService</code> can be used.</p>
+<h3 id="sparql_update">SPARQL Update</h3>
+<p>See <code>UpdateRemote.execute</code></p>
+<h3 id="sparql_http">SPARQL HTTP</h3>
+<p>See <code>DatasetAccessor</code></p>
 <h2 id="development_system">Development System</h2>
-<p>If you wish to pick the development codebase, check out the codebase from Apache:</p>
-<div class="codehilite"><pre><span class="n">svn</span> <span class="n">co</span> <span class="n">https:</span><span class="sr">//s</span><span class="n">vn</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="sr">/repos/</span><span class="n">asf</span><span class="sr">/incubator/</span><span class="n">jena</span><span class="sr">/Jena2/</span><span class="n">Fuseki</span><span class="o">/</span><span class="n">trunk</span>
+<p>If you wish to pick the development codebase, check out the
+codebase from Apache:</p>
+<div class="codehilite"><pre> <span class="n">svn</span> <span class="n">co</span> <span class="n">https:</span><span class="sr">//s</span><span class="n">vn</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="sr">/repos/</span><span class="n">asf</span><span class="sr">/incubator/</span><span class="n">jena</span><span class="sr">/Jena2/</span><span class="n">Fuseki</span><span class="o">/</span><span class="n">trunk</span>
 </pre></div>
 
 
 <p>Build:</p>
-<div class="codehilite"><pre><span class="n">mvn</span> <span class="n">clean</span> <span class="nb">package</span>
+<div class="codehilite"><pre> <span class="n">mvn</span> <span class="n">clean</span> <span class="nb">package</span>
 </pre></div>
 
 
-<p>This creates a standalone jar for the Fuseki server:</p>
-<div class="codehilite"><pre><span class="n">target</span><span class="o">/</span><span class="n">fuseki</span><span class="o">-</span><span class="n">version</span><span class="o">-</span><span class="n">server</span><span class="o">.</span><span class="n">jar</span>
+<p>This creates a standalone jar for the Fuseki server.</p>
+<div class="codehilite"><pre> <span class="n">target</span><span class="o">/</span><span class="n">fuseki</span><span class="o">-</span><span class="n">version</span><span class="o">-</span><span class="n">server</span><span class="o">.</span><span class="n">jar</span>
 </pre></div>
 
 
-<p>See the file SETUP.txt for working with Eclipse. </p>
-<h2 id="joseki">Joseki</h2>
-<p>Joseki is an HTTP engine that supports the <a href="http://www.w3.org/TR/rdf-sparql-protocol/">SPARQL Protocol</a> and the <a href="http://www.w3.org/TR/rdf-sparql-query/">SPARQL RDF Query language</a>. Fuseki has now superseded Joseki developement. </p>
-<p>Joseki documentation is still available at: <a href="http://joseki.org/">http://joseki.org/</a>.</p>
+<p>See the file SETUP.txt for working with Eclipse.</p>
   </div>
 
   <div id="footer">

Modified: websites/production/jena/content/jena/documentation/tdb/architecture.html
==============================================================================
--- websites/production/jena/content/jena/documentation/tdb/architecture.html (original)
+++ websites/production/jena/content/jena/documentation/tdb/architecture.html Mon Dec 19 09:23:01 2011
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>

Modified: websites/production/jena/content/jena/documentation/tdb/assembler.html
==============================================================================
--- websites/production/jena/content/jena/documentation/tdb/assembler.html (original)
+++ websites/production/jena/content/jena/documentation/tdb/assembler.html Mon Dec 19 09:23:01 2011
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>
@@ -118,6 +119,7 @@
 </li>
 <li><a href="/jena/documentation/io/index.html">I/O</a><ul>
 <li><a href="/jena/documentation/io/iohowto.html">I/O how-to</a></li>
+<li><a href="/jena/documentation/io/riot.html">RIOT</a></li>
 </ul>
 </li>
 <li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
@@ -128,6 +130,7 @@
 <li><a href="/jena/documentation/notes/rdf-frames.html">RDF frames</a></li>
 <li><a href="/jena/documentation/notes/reification.html">Reification how-to</a></li>
 <li><a href="/jena/documentation/notes/typed-literals.html">Typed literals how-to</a></li>
+<li><a href="/jena/documentation/notes/iri.html">Support for IRI's</a></li>
 </ul>
 </li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
@@ -152,7 +155,7 @@
 
   <div id="content">
     <h1 class="title">TDB Assembler</h1>
-    <p><a href="TODO">Assemblers</a>
+    <p><a href="/jena/documentation/assembler/">Assemblers</a>
 are a general mechanism in Jena to describe objects to be built,
 often these objects are models and datasets. Assemblers are used
 heavily in

Modified: websites/production/jena/content/jena/documentation/tdb/commands.html
==============================================================================
--- websites/production/jena/content/jena/documentation/tdb/commands.html (original)
+++ websites/production/jena/content/jena/documentation/tdb/commands.html Mon Dec 19 09:23:01 2011
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>

Modified: websites/production/jena/content/jena/documentation/tdb/configuration.html
==============================================================================
--- websites/production/jena/content/jena/documentation/tdb/configuration.html (original)
+++ websites/production/jena/content/jena/documentation/tdb/configuration.html Mon Dec 19 09:23:01 2011
@@ -64,6 +64,7 @@
 <li><a href="/jena/about_jena/architecture.html">Architecture</a></li>
 <li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
 <li><a href="/jena/about_jena/team.html">Project team</a></li>
+<li><a href="/jena/about_jena/contributions.html">Related projects</a></li>
 </ul>
 <h1 id="download">Download</h1>
 <ul>
@@ -108,7 +109,7 @@
 </ul>
 </li>
 <li><a href="/jena/documentation/larq/index.html">LARQ</a></li>
-<li><a href="/jena/documentation/serving_data/index.html">Serving Data</a></li>
+<li><a href="/jena/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
 <li><a href="/jena/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/jena/documentation/inference/index.html">Inference</a></li>
 <li><a href="/jena/documentation/assembler/index.html">Assembler</a><ul>