jena-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r795655 [4/4] - in /websites/staging/jena/trunk/content/jena: ./ about_jena/ documentation/ documentation/assembler/ documentation/inference/ documentation/larq/ documentation/notes/ documentation/ontology/ documentation/query/ documentatio...
Date Mon, 12 Sep 2011 23:39:52 GMT
Added: websites/staging/jena/trunk/content/jena/documentation/notes/typed-literals.html
==============================================================================
--- websites/staging/jena/trunk/content/jena/documentation/notes/typed-literals.html (added)
+++ websites/staging/jena/trunk/content/jena/documentation/notes/typed-literals.html Mon Sep 12 23:39:50 2011
@@ -0,0 +1,512 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE- 2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+  <link href="/jena/css/jena.css" rel="stylesheet" type="text/css">
+  <title>Apache Jena - </title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  <script src="/jena/js/jquery-1.6.1.min.js" type="text/javascript"></script>
+  <script src="/jena/js/jena-navigation.js" type="text/javascript"></script>
+</head>
+
+<body>
+  <div id="header">
+    <div id="logoblock">
+    <img alt="Apache Jena" src="/jena/images/jena-logo/jena-logo-small.png"/>
+    </div>
+
+    <div id="titleblock">
+      <h1 class="title">Apache Jena</h1>
+      <div id="topmenu" class="tabbar round-10">
+        <ul>
+        <li class="round-top-8"><a class="round-top-8" href="/jena/index.html" id="home_menu">Home</a></li>
+        <li class="round-top-8"><a class="round-top-8" href="/jena/help_and_support/index.html">Support</a></li>
+        <li class="round-top-8"><a class="round-top-8" href="/jena/getting_started/index.html">Getting started</a></li>
+        <li class="round-top-8"><a class="round-top-8" href="/jena/tutorials/index.html">Tutorials</a></li>
+        <li class="round-top-8"><a class="round-top-8" href="/jena/documentation/index.html">Documentation</a></li>
+        </ul>
+      </div>
+    </div>
+  </div>
+
+  <div id="navigation" class="clear">
+  <h1 id="quick_links">Quick links</h1>
+<ul>
+<li><a href="/jena/index.html">Home</a></li>
+<li><a href="/jena/download/index.html">Downloads</a></li>
+<li><a href="/jena/help_and_support/index.html">Help and support</a></li>
+<li><a href="/jena/help_and_support/bugs_and_suggestions.html">Report a bug</a></li>
+<li><a href="/jena/about_jena/roadmap.html">Roadmap</a></li>
+<li><a href="/jena/getting_involved/index.html">Getting involved</a></li>
+</ul>
+<h1 id="about_jena">About Jena</h1>
+<ul>
+<li><a href="/jena/index.html">Home</a></li>
+<li><a href="/jena/about_jena/about.html">About Jena</a></li>
+<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>
+</ul>
+<h1 id="download">Download</h1>
+<ul>
+<li><a href="/jena/download/index.html">Downloading Jena</a></li>
+<li><a href="/jena/download/maven.html">Using Maven</a></li>
+<li><a href="/jena/download/osgi.html">Using OSGi</a></li>
+</ul>
+<h1 id="help_and_support">Help and support</h1>
+<ul>
+<li><a href="/jena/help_and_support/index.html">Getting help</a></li>
+<li><a href="/jena/help_and_support/bugs_and_suggestions.html">Bugs and suggestions</a></li>
+</ul>
+<h1 id="getting_started">Getting Started</h1>
+<ul>
+<li><a href="/jena/getting_started/index.html">A first Jena project</a></li>
+<li><a href="/jena/getting_started/rdf_api.html">RDF API overview</a></li>
+<li><a href="/jena/getting_started/sparql.html">Querying RDF with SPARQL</a></li>
+<li><a href="/jena/getting_started/fuseki.html">Serving RDF over HTTP</a></li>
+<li><a href="/jena/getting_started/tell_me_how.html">Tell me how to ...</a></li>
+</ul>
+<h1 id="tutorials">Tutorials</h1>
+<ul>
+<li><a href="/jena/tutorials/index.html">RDF tutorial</a></li>
+<li><a href="/jena/tutorials/sparql.html">SPARQL queries</a></li>
+<li><a href="/jena/tutorials/usingklzzwxh:0025jenaklzzwxh:0026withklzzwxh:0027eclipse.html">Using Jena with Eclipse</a></li>
+</ul>
+<h1 id="documentation">Documentation</h1>
+<ul>
+<li><a href="/jena/documentation/index.html">Overview</a></li>
+<li><a href="/jena/documentation/javadoc">Javadoc</a></li>
+<li><a href="/jena/documentation/rdf/index.html">RDF</a></li>
+<li><a href="/jena/documentation/query/index.html">Query</a></li>
+<li><a href="/jena/documentation/tdb/index.html">TDB</a></li>
+<li><a href="/jena/documentation/sdb/index.html">SDB</a></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/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>
+<li><a href="/jena/documentation/assembler/assembler-howto.html">Assembler how-to</a></li>
+<li><a href="/jena/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
+</ul>
+</li>
+<li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/jena/documentation/assembler/concurrency-howto.html">Concurrency how-to</a></li>
+</ul>
+</li>
+<li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
+<li><a href="/jena/documentation/tools/schemagen.html">schemagen</a></li>
+</ul>
+</li>
+</ul>
+<h1 id="getting_involved">Getting Involved</h1>
+<ul>
+<li><a href="/jena/getting_involved/index.html">Contributing to Jena</a></li>
+</ul>
+<h1 id="asf_links">ASF links</h1>
+<ul>
+<li><a href="http://www.apache.org">Apache Software Foundation</a></li>
+<li><a href="http://www.apache.org/licenses/LICENSE-2.0">License</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li>
+<li><a href="http://www.apache.org/security/">Security</a></li>
+</ul>
+  </div>
+
+  <div id="content">
+    <h1 class="title"></h1>
+    <p>Title:Typed literals how-to</p>
+<h2 id="what_are_typed_literals">What are typed literals?</h2>
+<p>In the original RDF specifications there were two types of literal
+values defined - plain literals (which are basically strings with
+an optional language tag) and XML literals (which are more or less
+plain literals plus a "well-formed-xml" flag).</p>
+<p>Part of the remit for the current
+<a href="http://www.w3.org/2001/sw/RDFCore/">RDF Core</a> working group was to
+add to RDF support for typed values, i.e. things like numbers. At
+the time of writing the core specification for these has been
+published in the last call documents though some modifications to
+the way xml:Lang tags are treated have been proposed in response to
+last call comments.</p>
+<p>These notes describe the support for typed literals built into
+Jena2 at present. Some of the details have been changed recently in
+response to the recent working group decisions. We will now attempt
+to keep the API as stable as we can, unless some major shifting in
+the specifications occurs.</p>
+<p>Before going into the Jena details here are some informal reminders
+of how typed literals work in RDF. We refer readers to the RDF core
+<a href="http://www.w3.org/TR/rdf-mt/">semantics</a>,
+<a href="http://www.w3.org/TR/rdf-syntax-grammar">syntax</a> and
+<a href="http://www.w3.org/TR/rdf-concepts/">concepts</a> documents for more
+precise details.</p>
+<p>In RDF, typed literal values comprise a string (the lexical form of
+the literal) and a datatype (identified by a URI). The datatype is
+supposed to denote a mapping from lexical forms to some space of
+values. The pair comprising the literal then denotes an element of
+the value space of the datatype. For example, a typed literal
+comprising ("true", xsd:boolean) would denote the abstract true
+value T.</p>
+<p>In the RDF/XML syntax typed literals are notated with syntax such
+as:</p>
+<div class="codehilite"><pre><span class="nt">&lt;age</span> <span class="na">rdf:datatype=</span><span class="s">&quot;http://www.w3.org/2001/XMLSchema#int&quot;</span><span class="nt">&gt;</span>13<span class="nt">&lt;/age&gt;</span>
+</pre></div>
+
+
+<p>In NTriple syntax the notation is:</p>
+<div class="codehilite"><pre><span class="s">&quot;13&quot;</span><span class="o">^^</span><span class="sr">&lt;http://www.w3.org/2001/XMLSchema#int&gt;</span>
+</pre></div>
+
+
+<p>and this <code>^^</code> notation will appear in literals printed by Jena.</p>
+<p>Note that a literal is either typed or plain (an old style literal)
+and which it is can be determined statically. There is no way to
+define a literal as having a lexical value of, say "13" but leave
+its datatype open and then infer the datatype from some schema or
+ontology definition.</p>
+<p>In the new scheme of things well-formed XML literals are treated as
+typed literals whose datatype is the special type
+"rdf:XMLLiteral".</p>
+<h2 id="basic_api_operations">Basic API operations</h2>
+<p>Jena2 will correctly parse typed literals within RDF/XML, NTriple
+and N3 source files. The same Java object,
+<code>&lt;a href="../javadoc/com/hp/hpl/jena/rdf/model/Literal.html"&gt;Literal&lt;/a&gt;</code>,
+will represent "plain" and "typed" literals. Literal now supports
+some new methods:</p>
+<p><code>getDatatype()</code>
+Returns null for a plain literal or a Java object which represents
+the datatype of a typed Literal.
+<code>getDatatypeURI()</code>
+Returns null for a plain literal or the URI of the datatype of a
+typed Literal.
+<code>getValue()</code>
+Returns a Java object representing the value of the literal, for
+example for an xsd:int this will be a java.lang.Integer, for plain
+literals it will be a String.
+The converse operation of creating a Java object to represent a
+typed literal in a model can be achieved using:</p>
+<blockquote>
+<p><code>model.createTypedLiteral</code>(value, datatype)</p>
+</blockquote>
+<p>This allows the <code>value</code> to be specified by a lexical form (i.e. a
+String) or by a Java object representing the typed value; the
+<code>datatype</code> can be specified by a URI string or a Java object
+representing the datatype.</p>
+<p>In addition there is a built in mapping from standard Java wrapper
+objects to XSD datatypes (see later) so that the simpler call:</p>
+<blockquote>
+<p><code>model.createTypedLiteral(Object)</code></p>
+</blockquote>
+<p>will create a typed literal with the datatype appropriate for
+representing that java object. For example,</p>
+<div class="codehilite"><pre><span class="n">Literal</span> <span class="n">l</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">createTypedLiteral</span><span class="p">(</span><span class="k">new</span> <span class="n">Integer</span><span class="p">(</span><span class="mi">25</span><span class="p">));</span>
+</pre></div>
+
+
+<p>will create a typed literal with the lexical value "25", of type
+xsd:int.</p>
+<p>Note that there are also functions which look similar but do not
+use typed literals. For example::</p>
+<div class="codehilite"><pre><span class="n">Literal</span> <span class="n">l</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">createLiteral</span><span class="p">(</span><span class="mi">25</span><span class="p">);</span>
+<span class="nb">int</span> <span class="n">age</span> <span class="o">=</span> <span class="n">l</span><span class="o">.</span><span class="n">getInt</span><span class="p">();</span>
+</pre></div>
+
+
+<p>These worked by converting the primitive to a string and storing
+the resulting string as a plain literal. The inverse operation then
+attempts to parse the string of the plain literal (as an int in
+this example). These are for backward compability with earlier
+versions of Jena and older datasets. In normal circumstances
+<code>createTypedLiteral</code> is preferable.</p>
+<h3 id="equality_issues">Equality issues</h3>
+<p>There is a well defined notion of when two typed literals should be
+equal, based on the equality defined for the datatype in question.
+Jena2 implements this equality function by using the method
+<code>sameValueAs</code>. Thus two literals ("13", xsd:int) and ("13",
+xsd:decimal) will test as sameValueAs each other but neither will
+test sameValueAs ("13", xsd:string).</p>
+<p>Note that this is a different function from the Java <code>equals</code>
+method. Had we changed the equals method to test for semantic
+equality problems would have arisen because the two objects are not
+substitutable in the Java sense (for example they return different
+values from a getDatatype() call). This would, for example, have
+made it impossible to cache literals in a hash table.</p>
+<h2 id="how_datatypes_are_represented">How datatypes are represented</h2>
+<p>Datatypes for typed literals are represented by instances of the
+interface
+<a href="../javadoc/com/hp/hpl/jena/datatypes/RDFDatatype.html"><code>com.hp.hpl.jena.datatypes.RDFDatatype</code></a>.
+Instances of this interface can be used to parse and serialized
+typed data, test for equality and test if a typed or lexical value
+is a legal value for this datatype.</p>
+<p>Prebuilt instances of this interface are included for all the main
+XSD datatypes (see <a href="#xsd">below</a>).</p>
+<p>In addition, it is possible for an application to define new
+datatypes and register them against some URI (see
+<a href="#userdef">below</a>).</p>
+<h3 id="error_detection">Error detection</h3>
+<p>When Jena parses a datatype whose lexical value is not legal for
+the declared datatype is does not immediately throw an error. This
+is because the RDFCore working group has defined that illegal
+datatype values are errors but are not syntactic errors so we try
+to avoid have parsers break at this point. Instead a literal is
+created which is marked internally as ill-formed and the first time
+an application attempts to access its value (with <code>getValue()</code>) an
+error will be thrown.</p>
+<p>When Jena is reading a file there is also the issue of what to do
+when it encounters a typed value whose datatype URI is not one that
+is knows about. The default behaviour is to create a new datatype
+object (whose value space is the same as its lexical space). Again
+this behaviour seems in keeping with the working group preference
+that illegal datatypes are semantic but not syntactic errors.</p>
+<p>However, both of these behaviours can mean that simple common
+errors (such as mis-spelling the xsd namespace) may go unnoticed
+untill very late on. To overcome this we have hidden some global
+switches that allow you to force Jena to report such syntactic
+errors earlier. These are static Boolean parameters:</p>
+<div class="codehilite"><pre><span class="n">com</span><span class="o">.</span><span class="n">hp</span><span class="o">.</span><span class="n">hpl</span><span class="o">.</span><span class="n">jena</span><span class="o">.</span><span class="n">shared</span><span class="o">.</span><span class="n">impl</span><span class="o">.</span><span class="n">JenaParameters</span><span class="o">.</span><span class="n">enableEagerLiteralValidation</span>
+<span class="n">com</span><span class="o">.</span><span class="n">hp</span><span class="o">.</span><span class="n">hpl</span><span class="o">.</span><span class="n">jena</span><span class="o">.</span><span class="n">shared</span><span class="o">.</span><span class="n">impl</span><span class="o">.</span><span class="n">JenaParameters</span><span class="o">.</span><span class="n">enableSilentAcceptanceOfUnknownDatatypes</span>
+</pre></div>
+
+
+<p>They are placed here in an impl package (and thus only visible in
+the full javadoc, not the API javadoc) because they should not be
+regarded as stable. We plan to develop a cleaner way of setting
+mode switches for Jena and these switches will migrate there in due
+course, if they prove to be useful.</p>
+<h2 id="xsd_data_types">XSD data types</h2>
+<p>Jena includes prebuilt, and pre-registered, instances of
+<code>RDFDatatype</code> for all of the relevant XSD types:</p>
+<blockquote>
+<p>float double int long short byte unsignedByte unsignedShort
+unsignedInt unsignedLong decimal integer nonPositiveInteger
+nonNegativeInteger positiveInteger negativeInteger Boolean string
+normalizedString anyURI token Name QName language NMTOKEN ENTITIES
+NMTOKENS ENTITY ID NCName IDREF IDREFS NOTATION hexBinary
+base64Binary date time dateTime duration gDay gMonth gYear
+gYearMonth gMonthDay</p>
+</blockquote>
+<p>These are all available as static member variables from
+<a href="../javadoc/com/hp/hpl/jena/datatypes/xsd/XSDDatatype.html"><code>com.hp.hpl.jena.datatypes.xsd.XSDDatatype</code></a>.</p>
+<p>Of these types, the following are registered as the default type to
+use to represent certain Java classes:</p>
+<p>Java class
+xsd type
+Float
+float
+Double
+double
+Integer
+int
+Long
+long
+Short
+short
+Byte
+byte
+BigInteger
+integer
+BigDecimal
+decimal
+Boolean
+Boolean
+String
+string
+Thus when creating a typed literal from a Java <code>BigInteger</code> then
+<code>xsd:integer</code> will be used. The converse mapping is more adaptive.
+When parsing an xsd:integer the Java value object used will be an
+Integer, Long or BigInteger depending on the size of the specific
+value being represented.</p>
+<h2 id="user_defined_xsd_data_types">User defined XSD data types</h2>
+<p>XML schema allows derived types to be defined in which a base type
+is modified through some facet restriction such as limiting the
+min/max of an integer or restricting a string to a regular
+expression. It also allows new types to be created by unioning
+other types or by constructing lists of other types.</p>
+<p>Jena provides support for derived and union types but not for list
+types.</p>
+<p>These are supported through the <code>XSDDatatype.loadUserDefined</code>
+method which allows an XML schema datatype file to be loaded. This
+registers a new <code>RDFDatatype</code> that can be used to create, parse,
+serialize, test instances of that datatype.</p>
+<p>There is one difficult issue in here, what URI to give to the user
+defined datatype? This is not defined by XML Schema, nor RDF nor
+OWL. Jena2 adopts the position taken by DAML that the defined
+datatype should have the base URI of the schema file with a
+fragment identifier given by the datatype name.</p>
+<p>Thus the DAML example
+file<code>http://www.daml.org/2001/03/daml+oil-ex-dt</code> (a corrected copy
+of which is stored in <code>$JENA/testing/xsd/daml+oil-ex-dt.xsd</code>, where
+<code>$JENA</code> is your Jena install directory) defines several types such
+as "over12". The following code fragment will load this file and
+register the newly defined types:</p>
+<div class="codehilite"><pre><span class="n">String</span> <span class="n">uri</span> <span class="o">=</span> <span class="s">&quot;http://www.daml.org/2001/03/daml+oil-ex-DT&quot;</span><span class="p">;</span>
+<span class="n">String</span> <span class="n">filename</span> <span class="o">=</span> <span class="s">&quot;../jena2/testing/xsd/daml+oil-ex-dt.xsd&quot;</span><span class="p">;</span>
+<span class="n">TypeMapper</span> <span class="n">tm</span> <span class="o">=</span> <span class="n">TypeMapper</span><span class="o">.</span><span class="n">getInstance</span><span class="p">();</span>
+<span class="n">List</span> <span class="n">typenames</span> <span class="o">=</span> <span class="n">XSDDatatype</span><span class="o">.</span><span class="n">loadUserDefined</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="k">new</span> <span class="n">FileReader</span><span class="p">(</span><span class="n">filename</span><span class="p">),</span> <span class="n">null</span><span class="p">,</span> <span class="n">TM</span><span class="p">);</span>
+<span class="n">System</span><span class="o">.</span><span class="n">out</span><span class="o">.</span><span class="n">println</span><span class="p">(</span><span class="s">&quot;Defined types are:&quot;</span><span class="p">);</span>
+<span class="k">for</span> <span class="p">(</span><span class="n">Iterator</span> <span class="n">i</span> <span class="o">=</span> <span class="n">typenames</span><span class="o">.</span><span class="n">iterator</span><span class="p">();</span> <span class="n">i</span><span class="o">.</span><span class="n">hasNext</span><span class="p">();</span> <span class="p">)</span> <span class="p">{</span>
+    <span class="n">System</span><span class="o">.</span><span class="n">out</span><span class="o">.</span><span class="n">println</span><span class="p">(</span><span class="s">&quot; - &quot;</span> <span class="o">+</span> <span class="n">i</span><span class="o">.</span><span class="k">next</span><span class="p">());</span>
+<span class="p">}</span>
+</pre></div>
+
+
+<p>it produces the following output:</p>
+<div class="codehilite"><pre><span class="n">Defined</span> <span class="n">types</span> <span class="n">are:</span>
+ <span class="o">-</span> <span class="n">http:</span><span class="sr">//</span><span class="n">www</span><span class="o">.</span><span class="n">daml</span><span class="o">.</span><span class="n">org</span><span class="sr">/2001/</span><span class="mo">03</span><span class="o">/</span><span class="n">daml</span><span class="o">+</span><span class="n">oil</span><span class="o">-</span><span class="n">ex</span><span class="o">-</span><span class="n">DT</span><span class="c1">#XSDEnumerationHeight</span>
+ <span class="o">-</span> <span class="n">http:</span><span class="sr">//</span><span class="n">www</span><span class="o">.</span><span class="n">daml</span><span class="o">.</span><span class="n">org</span><span class="sr">/2001/</span><span class="mo">03</span><span class="o">/</span><span class="n">daml</span><span class="o">+</span><span class="n">oil</span><span class="o">-</span><span class="n">ex</span><span class="o">-</span><span class="n">DT</span><span class="c1">#over12</span>
+ <span class="o">-</span> <span class="n">http:</span><span class="sr">//</span><span class="n">www</span><span class="o">.</span><span class="n">daml</span><span class="o">.</span><span class="n">org</span><span class="sr">/2001/</span><span class="mo">03</span><span class="o">/</span><span class="n">daml</span><span class="o">+</span><span class="n">oil</span><span class="o">-</span><span class="n">ex</span><span class="o">-</span><span class="n">DT</span><span class="c1">#over17</span>
+ <span class="o">-</span> <span class="n">http:</span><span class="sr">//</span><span class="n">www</span><span class="o">.</span><span class="n">daml</span><span class="o">.</span><span class="n">org</span><span class="sr">/2001/</span><span class="mo">03</span><span class="o">/</span><span class="n">daml</span><span class="o">+</span><span class="n">oil</span><span class="o">-</span><span class="n">ex</span><span class="o">-</span><span class="n">DT</span><span class="c1">#over59</span>
+ <span class="o">-</span> <span class="n">http:</span><span class="sr">//</span><span class="n">www</span><span class="o">.</span><span class="n">daml</span><span class="o">.</span><span class="n">org</span><span class="sr">/2001/</span><span class="mo">03</span><span class="o">/</span><span class="n">daml</span><span class="o">+</span><span class="n">oil</span><span class="o">-</span><span class="n">ex</span><span class="o">-</span><span class="n">DT</span><span class="c1">#clothingsize</span>
+</pre></div>
+
+
+<p>To illustrate working with the defined types, the following code
+then tries to create and use two instances of the over 12 type:</p>
+<div class="codehilite"><pre><span class="n">Model</span> <span class="n">m</span> <span class="o">=</span> <span class="n">ModelFactory</span><span class="o">.</span><span class="n">createDefaultModel</span><span class="p">();</span>
+<span class="n">RDFDatatype</span> <span class="n">over12Type</span> <span class="o">=</span> <span class="n">tm</span><span class="o">.</span><span class="n">getSafeTypeByName</span><span class="p">(</span><span class="n">uri</span> <span class="o">+</span> <span class="s">&quot;#over12&quot;</span><span class="p">);</span>
+<span class="n">Object</span> <span class="n">value</span> <span class="o">=</span> <span class="n">null</span><span class="p">;</span>
+<span class="n">try</span> <span class="p">{</span>
+    <span class="n">value</span> <span class="o">=</span> <span class="s">&quot;15&quot;</span><span class="p">;</span>
+    <span class="n">m</span><span class="o">.</span><span class="n">createTypedLiteral</span><span class="p">((</span><span class="n">String</span><span class="p">)</span><span class="n">value</span><span class="p">,</span> <span class="n">over12Type</span><span class="p">)</span><span class="o">.</span><span class="n">getValue</span><span class="p">();</span>
+    <span class="n">System</span><span class="o">.</span><span class="n">out</span><span class="o">.</span><span class="n">println</span><span class="p">(</span><span class="s">&quot;Over 12 value of &quot;</span> <span class="o">+</span> <span class="n">value</span> <span class="o">+</span> <span class="s">&quot; is ok&quot;</span><span class="p">);</span>
+    <span class="n">value</span> <span class="o">=</span> <span class="s">&quot;12&quot;</span><span class="p">;</span>
+    <span class="n">m</span><span class="o">.</span><span class="n">createTypedLiteral</span><span class="p">((</span><span class="n">String</span><span class="p">)</span><span class="n">value</span><span class="p">,</span> <span class="n">over12Type</span><span class="p">)</span><span class="o">.</span><span class="n">getValue</span><span class="p">();</span>
+    <span class="n">System</span><span class="o">.</span><span class="n">out</span><span class="o">.</span><span class="n">println</span><span class="p">(</span><span class="s">&quot;Over 12 value of &quot;</span> <span class="o">+</span> <span class="n">value</span> <span class="o">+</span> <span class="s">&quot; is OK&quot;</span><span class="p">);</span>
+<span class="p">}</span> <span class="n">catch</span> <span class="p">(</span><span class="n">DatatypeFormatException</span> <span class="n">e</span><span class="p">)</span> <span class="p">{</span>
+    <span class="n">System</span><span class="o">.</span><span class="n">out</span><span class="o">.</span><span class="n">println</span><span class="p">(</span><span class="s">&quot;Over 12 value of &quot;</span> <span class="o">+</span> <span class="n">value</span> <span class="o">+</span> <span class="s">&quot; is illegal&quot;</span><span class="p">);</span>
+<span class="p">}</span>
+</pre></div>
+
+
+<p>which products the output:</p>
+<div class="codehilite"><pre><span class="n">Over</span> <span class="mi">12</span> <span class="n">value</span> <span class="n">of</span> <span class="mi">15</span> <span class="n">is</span> <span class="n">OK</span>
+<span class="n">Over</span> <span class="mi">12</span> <span class="n">value</span> <span class="n">of</span> <span class="mi">12</span> <span class="n">is</span> <span class="n">illegal</span>
+</pre></div>
+
+
+<h2 id="user_defined_non-xsd_data_types">User defined non-XSD data types</h2>
+<p>RDF allows any URI to be used as a datatype but provides no
+standard for how to map the datatype URI to a datatype definition.</p>
+<p>Within Jena2 we allow new datatypes to be created and registered by
+using the
+<a href="../javadoc/com/hp/hpl/jena/datatypes/TypeMapper.html"><code>TypeMapper</code></a>
+class.</p>
+<p>The easiest way to define a new RDFDatatype is to subclass
+BaseDatatype and define implementations for parse, unparse and
+isEqual.</p>
+<p>For example here is the outline of a type used to represent
+rational numbers:</p>
+<div class="codehilite"><pre><span class="n">class</span> <span class="n">RationalType</span> <span class="n">extends</span> <span class="n">BaseDatatype</span> <span class="p">{</span>
+    <span class="n">public</span> <span class="n">static</span> <span class="n">final</span> <span class="n">String</span> <span class="n">theTypeURI</span> <span class="o">=</span> <span class="s">&quot;urn:x-hp-dt:rational&quot;</span><span class="p">;</span>
+    <span class="n">public</span> <span class="n">static</span> <span class="n">final</span> <span class="n">RDFDatatype</span> <span class="n">theRationalType</span> <span class="o">=</span> <span class="k">new</span> <span class="n">RationalType</span><span class="p">();</span>
+
+    <span class="sr">/** private constructor - single global instance */</span>
+    <span class="n">private</span> <span class="n">RationalType</span><span class="p">()</span> <span class="p">{</span>
+        <span class="n">super</span><span class="p">(</span><span class="n">theTypeURI</span><span class="p">);</span>
+    <span class="p">}</span>
+
+    <span class="o">/**</span>
+     <span class="o">*</span> <span class="n">Convert</span> <span class="n">a</span> <span class="n">value</span> <span class="n">of</span> <span class="n">this</span> <span class="n">datatype</span> <span class="n">out</span>
+     <span class="o">*</span> <span class="n">to</span> <span class="n">lexical</span> <span class="n">form</span><span class="o">.</span>
+     <span class="o">*/</span>
+    <span class="n">public</span> <span class="n">String</span> <span class="n">unparse</span><span class="p">(</span><span class="n">Object</span> <span class="n">value</span><span class="p">)</span> <span class="p">{</span>
+        <span class="n">Rational</span> <span class="n">r</span> <span class="o">=</span> <span class="p">(</span><span class="n">Rational</span><span class="p">)</span> <span class="n">value</span><span class="p">;</span>
+        <span class="k">return</span> <span class="n">Integer</span><span class="o">.</span><span class="n">toString</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">getNumerator</span><span class="p">())</span> <span class="o">+</span> <span class="s">&quot;/&quot;</span> <span class="o">+</span> <span class="n">r</span><span class="o">.</span><span class="n">getDenominator</span><span class="p">();</span>
+    <span class="p">}</span>
+
+    <span class="o">/**</span>
+     <span class="o">*</span> <span class="n">Parse</span> <span class="n">a</span> <span class="n">lexical</span> <span class="n">form</span> <span class="n">of</span> <span class="n">this</span> <span class="n">datatype</span> <span class="n">to</span> <span class="n">a</span> <span class="n">value</span>
+     <span class="o">*</span> <span class="nv">@throws</span> <span class="n">DatatypeFormatException</span> <span class="k">if</span> <span class="n">the</span> <span class="n">lexical</span> <span class="n">form</span> <span class="n">is</span> <span class="ow">not</span> <span class="n">legal</span>
+     <span class="o">*/</span>
+    <span class="n">public</span> <span class="n">Object</span> <span class="n">parse</span><span class="p">(</span><span class="n">String</span> <span class="n">lexicalForm</span><span class="p">)</span> <span class="n">throws</span> <span class="n">DatatypeFormatException</span> <span class="p">{</span>
+        <span class="nb">int</span> <span class="nb">index</span> <span class="o">=</span> <span class="n">lexicalForm</span><span class="o">.</span><span class="n">indexOf</span><span class="p">(</span><span class="s">&quot;/&quot;</span><span class="p">);</span>
+        <span class="k">if</span> <span class="p">(</span><span class="nb">index</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+            <span class="n">throw</span> <span class="k">new</span> <span class="n">DatatypeFormatException</span><span class="p">(</span><span class="n">lexicalForm</span><span class="p">,</span> <span class="n">theRationalType</span><span class="p">,</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+        <span class="p">}</span>
+        <span class="n">try</span> <span class="p">{</span>
+            <span class="nb">int</span> <span class="n">numerator</span> <span class="o">=</span> <span class="n">Integer</span><span class="o">.</span><span class="n">parseInt</span><span class="p">(</span><span class="n">lexicalForm</span><span class="o">.</span><span class="n">substring</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="nb">index</span><span class="p">));</span>
+            <span class="nb">int</span> <span class="n">denominator</span> <span class="o">=</span> <span class="n">Integer</span><span class="o">.</span><span class="n">parseInt</span><span class="p">(</span><span class="n">lexicalForm</span><span class="o">.</span><span class="n">substring</span><span class="p">(</span><span class="nb">index</span><span class="o">+</span><span class="mi">1</span><span class="p">));</span>
+            <span class="k">return</span> <span class="k">new</span> <span class="n">Rational</span><span class="p">(</span><span class="n">numerator</span><span class="p">,</span> <span class="n">denominator</span><span class="p">);</span>
+        <span class="p">}</span> <span class="n">catch</span> <span class="p">(</span><span class="n">NumberFormatException</span> <span class="n">e</span><span class="p">)</span> <span class="p">{</span>
+            <span class="n">throw</span> <span class="k">new</span> <span class="n">DatatypeFormatException</span><span class="p">(</span><span class="n">lexicalForm</span><span class="p">,</span> <span class="n">theRationalType</span><span class="p">,</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+        <span class="p">}</span>
+    <span class="p">}</span>
+
+    <span class="o">/**</span>
+     <span class="o">*</span> <span class="n">Compares</span> <span class="n">two</span> <span class="n">instances</span> <span class="n">of</span> <span class="nb">values</span> <span class="n">of</span> <span class="n">the</span> <span class="n">given</span> <span class="n">datatype</span><span class="o">.</span>
+     <span class="o">*</span> <span class="n">This</span> <span class="n">does</span> <span class="ow">not</span> <span class="n">allow</span> <span class="n">rationals</span> <span class="n">to</span> <span class="n">be</span> <span class="n">compared</span> <span class="n">to</span> <span class="n">other</span> <span class="n">number</span>
+     <span class="o">*</span> <span class="n">formats</span><span class="p">,</span> <span class="n">Lang</span> <span class="n">tag</span> <span class="n">is</span> <span class="ow">not</span> <span class="n">significant</span><span class="o">.</span>
+     <span class="o">*/</span>
+    <span class="n">Public</span> <span class="n">Boolean</span> <span class="n">isEqual</span><span class="p">(</span><span class="n">LiteralLabel</span> <span class="n">value1</span><span class="p">,</span> <span class="n">LiteralLabel</span> <span class="n">value2</span><span class="p">)</span> <span class="p">{</span>
+        <span class="k">return</span> <span class="n">value1</span><span class="o">.</span><span class="n">getDatatype</span><span class="p">()</span> <span class="o">==</span> <span class="n">value2</span><span class="o">.</span><span class="n">getDatatype</span><span class="p">()</span>
+             <span class="o">&amp;&amp;</span> <span class="n">value1</span><span class="o">.</span><span class="n">getValue</span><span class="p">()</span><span class="o">.</span><span class="n">equals</span><span class="p">(</span><span class="n">value2</span><span class="o">.</span><span class="n">getValue</span><span class="p">());</span>
+    <span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
+
+
+<p>To register and and use this type you simply need the call:</p>
+<div class="codehilite"><pre><span class="n">RDFDatatype</span> <span class="n">rtype</span> <span class="o">=</span> <span class="n">RationalType</span><span class="o">.</span><span class="n">theRationalType</span><span class="p">;</span>
+<span class="n">TypeMapper</span><span class="o">.</span><span class="n">getInstance</span><span class="p">()</span><span class="o">.</span><span class="n">registerDatatype</span><span class="p">(</span><span class="n">rtype</span><span class="p">);</span>
+<span class="o">...</span>
+<span class="sr">//</span> <span class="n">Create</span> <span class="n">a</span> <span class="n">rational</span> <span class="n">literal</span>
+<span class="n">Literal</span> <span class="n">l1</span> <span class="o">=</span> <span class="n">m</span><span class="o">.</span><span class="n">createTypedLiteral</span><span class="p">(</span><span class="s">&quot;3/5&quot;</span><span class="p">,</span> <span class="n">rtype</span><span class="p">);</span>
+</pre></div>
+
+
+<p>Note that whilst any serialization of RDF containing such user
+defined literals will be perfectly legal a client application has
+no standard way of looking up the datatype URI you have chosen.
+This has to be done "out of band" as they say.</p>
+<h2 id="a_note_on_xmllang">A note on xml:Lang</h2>
+<p>Plain literals have an xml:Lang tag as well as a string value. Two
+plain literals with the same string but different Lang tags are not
+equal.</p>
+<p>XML Schema states that xml:Lang is not meaningful on xsd
+datatypes.</p>
+<p>Thus for almost all typed literals there is no xml:Lang tag.</p>
+<p>At the time of last call the RDF specifications allowed the special
+case that <code>rdf:XMLLiteral</code>s could have a Lang tag that would be
+significant in equality testing. Thus in preview releases of Jena2
+the createTypedLiterals calls took an extra Lang tag argument.</p>
+<p>However, at the time of writing that specification has been changed
+so that Lang tags will never be significant on typed literals
+(whether this means that xml:Lang is not significant on XMLLiterals
+or means that XMLLiteral will cease to be a typed literal is not
+completely certain).</p>
+<p>For this reason we have removed the Lang tag from the
+createTypedLiterals calls and deprecated the createLiteral call
+which allowed both wellFormedXML and Lang tag to be specified.</p>
+<p>We do not expect to need to change the API even if the working
+group decision changes again, the most we might expect to do would
+be to undeprecate the 3-argument version of createLiteral.</p>
+  </div>
+
+  <div id="footer">
+    <div class="copyright">
+      <p>
+        Copyright &copy; 2011 The Apache Software Foundation, Licensed under
+        the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+        <br />
+        Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Modified: websites/staging/jena/trunk/content/jena/documentation/ontology/index.html
==============================================================================
--- websites/staging/jena/trunk/content/jena/documentation/ontology/index.html (original)
+++ websites/staging/jena/trunk/content/jena/documentation/ontology/index.html Mon Sep 12 23:39:50 2011
@@ -87,7 +87,7 @@
 <ul>
 <li><a href="/jena/tutorials/index.html">RDF tutorial</a></li>
 <li><a href="/jena/tutorials/sparql.html">SPARQL queries</a></li>
-<li><a href="/jena/tutorials/usingklzzwxh:0023jenaklzzwxh:0024withklzzwxh:0025eclipse.html">Using Jena with Eclipse</a></li>
+<li><a href="/jena/tutorials/usingklzzwxh:0025jenaklzzwxh:0026withklzzwxh:0027eclipse.html">Using Jena with Eclipse</a></li>
 </ul>
 <h1 id="documentation">Documentation</h1>
 <ul>
@@ -106,6 +106,10 @@
 <li><a href="/jena/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
+<li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/jena/documentation/assembler/concurrency-howto.html">Concurrency how-to</a></li>
+</ul>
+</li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
 <li><a href="/jena/documentation/tools/schemagen.html">schemagen</a></li>
 </ul>

Modified: websites/staging/jena/trunk/content/jena/documentation/query/index.html
==============================================================================
--- websites/staging/jena/trunk/content/jena/documentation/query/index.html (original)
+++ websites/staging/jena/trunk/content/jena/documentation/query/index.html Mon Sep 12 23:39:50 2011
@@ -87,7 +87,7 @@
 <ul>
 <li><a href="/jena/tutorials/index.html">RDF tutorial</a></li>
 <li><a href="/jena/tutorials/sparql.html">SPARQL queries</a></li>
-<li><a href="/jena/tutorials/usingklzzwxh:0023jenaklzzwxh:0024withklzzwxh:0025eclipse.html">Using Jena with Eclipse</a></li>
+<li><a href="/jena/tutorials/usingklzzwxh:0025jenaklzzwxh:0026withklzzwxh:0027eclipse.html">Using Jena with Eclipse</a></li>
 </ul>
 <h1 id="documentation">Documentation</h1>
 <ul>
@@ -106,6 +106,10 @@
 <li><a href="/jena/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
+<li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/jena/documentation/assembler/concurrency-howto.html">Concurrency how-to</a></li>
+</ul>
+</li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
 <li><a href="/jena/documentation/tools/schemagen.html">schemagen</a></li>
 </ul>

Modified: websites/staging/jena/trunk/content/jena/documentation/rdf/index.html
==============================================================================
--- websites/staging/jena/trunk/content/jena/documentation/rdf/index.html (original)
+++ websites/staging/jena/trunk/content/jena/documentation/rdf/index.html Mon Sep 12 23:39:50 2011
@@ -87,7 +87,7 @@
 <ul>
 <li><a href="/jena/tutorials/index.html">RDF tutorial</a></li>
 <li><a href="/jena/tutorials/sparql.html">SPARQL queries</a></li>
-<li><a href="/jena/tutorials/usingklzzwxh:0023jenaklzzwxh:0024withklzzwxh:0025eclipse.html">Using Jena with Eclipse</a></li>
+<li><a href="/jena/tutorials/usingklzzwxh:0025jenaklzzwxh:0026withklzzwxh:0027eclipse.html">Using Jena with Eclipse</a></li>
 </ul>
 <h1 id="documentation">Documentation</h1>
 <ul>
@@ -106,6 +106,10 @@
 <li><a href="/jena/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
+<li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/jena/documentation/assembler/concurrency-howto.html">Concurrency how-to</a></li>
+</ul>
+</li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
 <li><a href="/jena/documentation/tools/schemagen.html">schemagen</a></li>
 </ul>

Modified: websites/staging/jena/trunk/content/jena/documentation/sdb/index.html
==============================================================================
--- websites/staging/jena/trunk/content/jena/documentation/sdb/index.html (original)
+++ websites/staging/jena/trunk/content/jena/documentation/sdb/index.html Mon Sep 12 23:39:50 2011
@@ -87,7 +87,7 @@
 <ul>
 <li><a href="/jena/tutorials/index.html">RDF tutorial</a></li>
 <li><a href="/jena/tutorials/sparql.html">SPARQL queries</a></li>
-<li><a href="/jena/tutorials/usingklzzwxh:0023jenaklzzwxh:0024withklzzwxh:0025eclipse.html">Using Jena with Eclipse</a></li>
+<li><a href="/jena/tutorials/usingklzzwxh:0025jenaklzzwxh:0026withklzzwxh:0027eclipse.html">Using Jena with Eclipse</a></li>
 </ul>
 <h1 id="documentation">Documentation</h1>
 <ul>
@@ -106,6 +106,10 @@
 <li><a href="/jena/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
+<li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/jena/documentation/assembler/concurrency-howto.html">Concurrency how-to</a></li>
+</ul>
+</li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
 <li><a href="/jena/documentation/tools/schemagen.html">schemagen</a></li>
 </ul>

Modified: websites/staging/jena/trunk/content/jena/documentation/serving_data/index.html
==============================================================================
--- websites/staging/jena/trunk/content/jena/documentation/serving_data/index.html (original)
+++ websites/staging/jena/trunk/content/jena/documentation/serving_data/index.html Mon Sep 12 23:39:50 2011
@@ -87,7 +87,7 @@
 <ul>
 <li><a href="/jena/tutorials/index.html">RDF tutorial</a></li>
 <li><a href="/jena/tutorials/sparql.html">SPARQL queries</a></li>
-<li><a href="/jena/tutorials/usingklzzwxh:0023jenaklzzwxh:0024withklzzwxh:0025eclipse.html">Using Jena with Eclipse</a></li>
+<li><a href="/jena/tutorials/usingklzzwxh:0025jenaklzzwxh:0026withklzzwxh:0027eclipse.html">Using Jena with Eclipse</a></li>
 </ul>
 <h1 id="documentation">Documentation</h1>
 <ul>
@@ -106,6 +106,10 @@
 <li><a href="/jena/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
+<li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/jena/documentation/assembler/concurrency-howto.html">Concurrency how-to</a></li>
+</ul>
+</li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
 <li><a href="/jena/documentation/tools/schemagen.html">schemagen</a></li>
 </ul>

Modified: websites/staging/jena/trunk/content/jena/documentation/tdb/index.html
==============================================================================
--- websites/staging/jena/trunk/content/jena/documentation/tdb/index.html (original)
+++ websites/staging/jena/trunk/content/jena/documentation/tdb/index.html Mon Sep 12 23:39:50 2011
@@ -87,7 +87,7 @@
 <ul>
 <li><a href="/jena/tutorials/index.html">RDF tutorial</a></li>
 <li><a href="/jena/tutorials/sparql.html">SPARQL queries</a></li>
-<li><a href="/jena/tutorials/usingklzzwxh:0023jenaklzzwxh:0024withklzzwxh:0025eclipse.html">Using Jena with Eclipse</a></li>
+<li><a href="/jena/tutorials/usingklzzwxh:0025jenaklzzwxh:0026withklzzwxh:0027eclipse.html">Using Jena with Eclipse</a></li>
 </ul>
 <h1 id="documentation">Documentation</h1>
 <ul>
@@ -106,6 +106,10 @@
 <li><a href="/jena/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
+<li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/jena/documentation/assembler/concurrency-howto.html">Concurrency how-to</a></li>
+</ul>
+</li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
 <li><a href="/jena/documentation/tools/schemagen.html">schemagen</a></li>
 </ul>

Modified: websites/staging/jena/trunk/content/jena/documentation/tools/index.html
==============================================================================
--- websites/staging/jena/trunk/content/jena/documentation/tools/index.html (original)
+++ websites/staging/jena/trunk/content/jena/documentation/tools/index.html Mon Sep 12 23:39:50 2011
@@ -87,7 +87,7 @@
 <ul>
 <li><a href="/jena/tutorials/index.html">RDF tutorial</a></li>
 <li><a href="/jena/tutorials/sparql.html">SPARQL queries</a></li>
-<li><a href="/jena/tutorials/usingklzzwxh:0023jenaklzzwxh:0024withklzzwxh:0025eclipse.html">Using Jena with Eclipse</a></li>
+<li><a href="/jena/tutorials/usingklzzwxh:0025jenaklzzwxh:0026withklzzwxh:0027eclipse.html">Using Jena with Eclipse</a></li>
 </ul>
 <h1 id="documentation">Documentation</h1>
 <ul>
@@ -106,6 +106,10 @@
 <li><a href="/jena/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
+<li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/jena/documentation/assembler/concurrency-howto.html">Concurrency how-to</a></li>
+</ul>
+</li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
 <li><a href="/jena/documentation/tools/schemagen.html">schemagen</a></li>
 </ul>

Modified: websites/staging/jena/trunk/content/jena/documentation/tools/schemagen.html
==============================================================================
--- websites/staging/jena/trunk/content/jena/documentation/tools/schemagen.html (original)
+++ websites/staging/jena/trunk/content/jena/documentation/tools/schemagen.html Mon Sep 12 23:39:50 2011
@@ -87,7 +87,7 @@
 <ul>
 <li><a href="/jena/tutorials/index.html">RDF tutorial</a></li>
 <li><a href="/jena/tutorials/sparql.html">SPARQL queries</a></li>
-<li><a href="/jena/tutorials/usingklzzwxh:0023jenaklzzwxh:0024withklzzwxh:0025eclipse.html">Using Jena with Eclipse</a></li>
+<li><a href="/jena/tutorials/usingklzzwxh:0025jenaklzzwxh:0026withklzzwxh:0027eclipse.html">Using Jena with Eclipse</a></li>
 </ul>
 <h1 id="documentation">Documentation</h1>
 <ul>
@@ -106,6 +106,10 @@
 <li><a href="/jena/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
+<li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/jena/documentation/assembler/concurrency-howto.html">Concurrency how-to</a></li>
+</ul>
+</li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
 <li><a href="/jena/documentation/tools/schemagen.html">schemagen</a></li>
 </ul>

Modified: websites/staging/jena/trunk/content/jena/download/index.html
==============================================================================
--- websites/staging/jena/trunk/content/jena/download/index.html (original)
+++ websites/staging/jena/trunk/content/jena/download/index.html Mon Sep 12 23:39:50 2011
@@ -87,7 +87,7 @@
 <ul>
 <li><a href="/jena/tutorials/index.html">RDF tutorial</a></li>
 <li><a href="/jena/tutorials/sparql.html">SPARQL queries</a></li>
-<li><a href="/jena/tutorials/usingklzzwxh:0023jenaklzzwxh:0024withklzzwxh:0025eclipse.html">Using Jena with Eclipse</a></li>
+<li><a href="/jena/tutorials/usingklzzwxh:0025jenaklzzwxh:0026withklzzwxh:0027eclipse.html">Using Jena with Eclipse</a></li>
 </ul>
 <h1 id="documentation">Documentation</h1>
 <ul>
@@ -106,6 +106,10 @@
 <li><a href="/jena/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
+<li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/jena/documentation/assembler/concurrency-howto.html">Concurrency how-to</a></li>
+</ul>
+</li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
 <li><a href="/jena/documentation/tools/schemagen.html">schemagen</a></li>
 </ul>

Modified: websites/staging/jena/trunk/content/jena/download/maven.html
==============================================================================
--- websites/staging/jena/trunk/content/jena/download/maven.html (original)
+++ websites/staging/jena/trunk/content/jena/download/maven.html Mon Sep 12 23:39:50 2011
@@ -87,7 +87,7 @@
 <ul>
 <li><a href="/jena/tutorials/index.html">RDF tutorial</a></li>
 <li><a href="/jena/tutorials/sparql.html">SPARQL queries</a></li>
-<li><a href="/jena/tutorials/usingklzzwxh:0023jenaklzzwxh:0024withklzzwxh:0025eclipse.html">Using Jena with Eclipse</a></li>
+<li><a href="/jena/tutorials/usingklzzwxh:0025jenaklzzwxh:0026withklzzwxh:0027eclipse.html">Using Jena with Eclipse</a></li>
 </ul>
 <h1 id="documentation">Documentation</h1>
 <ul>
@@ -106,6 +106,10 @@
 <li><a href="/jena/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
+<li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/jena/documentation/assembler/concurrency-howto.html">Concurrency how-to</a></li>
+</ul>
+</li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
 <li><a href="/jena/documentation/tools/schemagen.html">schemagen</a></li>
 </ul>

Modified: websites/staging/jena/trunk/content/jena/download/osgi.html
==============================================================================
--- websites/staging/jena/trunk/content/jena/download/osgi.html (original)
+++ websites/staging/jena/trunk/content/jena/download/osgi.html Mon Sep 12 23:39:50 2011
@@ -87,7 +87,7 @@
 <ul>
 <li><a href="/jena/tutorials/index.html">RDF tutorial</a></li>
 <li><a href="/jena/tutorials/sparql.html">SPARQL queries</a></li>
-<li><a href="/jena/tutorials/usingklzzwxh:0023jenaklzzwxh:0024withklzzwxh:0025eclipse.html">Using Jena with Eclipse</a></li>
+<li><a href="/jena/tutorials/usingklzzwxh:0025jenaklzzwxh:0026withklzzwxh:0027eclipse.html">Using Jena with Eclipse</a></li>
 </ul>
 <h1 id="documentation">Documentation</h1>
 <ul>
@@ -106,6 +106,10 @@
 <li><a href="/jena/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
+<li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/jena/documentation/assembler/concurrency-howto.html">Concurrency how-to</a></li>
+</ul>
+</li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
 <li><a href="/jena/documentation/tools/schemagen.html">schemagen</a></li>
 </ul>

Modified: websites/staging/jena/trunk/content/jena/getting_involved/index.html
==============================================================================
--- websites/staging/jena/trunk/content/jena/getting_involved/index.html (original)
+++ websites/staging/jena/trunk/content/jena/getting_involved/index.html Mon Sep 12 23:39:50 2011
@@ -87,7 +87,7 @@
 <ul>
 <li><a href="/jena/tutorials/index.html">RDF tutorial</a></li>
 <li><a href="/jena/tutorials/sparql.html">SPARQL queries</a></li>
-<li><a href="/jena/tutorials/usingklzzwxh:0023jenaklzzwxh:0024withklzzwxh:0025eclipse.html">Using Jena with Eclipse</a></li>
+<li><a href="/jena/tutorials/usingklzzwxh:0025jenaklzzwxh:0026withklzzwxh:0027eclipse.html">Using Jena with Eclipse</a></li>
 </ul>
 <h1 id="documentation">Documentation</h1>
 <ul>
@@ -106,6 +106,10 @@
 <li><a href="/jena/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
+<li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/jena/documentation/assembler/concurrency-howto.html">Concurrency how-to</a></li>
+</ul>
+</li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
 <li><a href="/jena/documentation/tools/schemagen.html">schemagen</a></li>
 </ul>

Modified: websites/staging/jena/trunk/content/jena/getting_started/fuseki.html
==============================================================================
--- websites/staging/jena/trunk/content/jena/getting_started/fuseki.html (original)
+++ websites/staging/jena/trunk/content/jena/getting_started/fuseki.html Mon Sep 12 23:39:50 2011
@@ -87,7 +87,7 @@
 <ul>
 <li><a href="/jena/tutorials/index.html">RDF tutorial</a></li>
 <li><a href="/jena/tutorials/sparql.html">SPARQL queries</a></li>
-<li><a href="/jena/tutorials/usingklzzwxh:0023jenaklzzwxh:0024withklzzwxh:0025eclipse.html">Using Jena with Eclipse</a></li>
+<li><a href="/jena/tutorials/usingklzzwxh:0025jenaklzzwxh:0026withklzzwxh:0027eclipse.html">Using Jena with Eclipse</a></li>
 </ul>
 <h1 id="documentation">Documentation</h1>
 <ul>
@@ -106,6 +106,10 @@
 <li><a href="/jena/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
+<li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/jena/documentation/assembler/concurrency-howto.html">Concurrency how-to</a></li>
+</ul>
+</li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
 <li><a href="/jena/documentation/tools/schemagen.html">schemagen</a></li>
 </ul>

Modified: websites/staging/jena/trunk/content/jena/getting_started/index.html
==============================================================================
--- websites/staging/jena/trunk/content/jena/getting_started/index.html (original)
+++ websites/staging/jena/trunk/content/jena/getting_started/index.html Mon Sep 12 23:39:50 2011
@@ -87,7 +87,7 @@
 <ul>
 <li><a href="/jena/tutorials/index.html">RDF tutorial</a></li>
 <li><a href="/jena/tutorials/sparql.html">SPARQL queries</a></li>
-<li><a href="/jena/tutorials/usingklzzwxh:0023jenaklzzwxh:0024withklzzwxh:0025eclipse.html">Using Jena with Eclipse</a></li>
+<li><a href="/jena/tutorials/usingklzzwxh:0025jenaklzzwxh:0026withklzzwxh:0027eclipse.html">Using Jena with Eclipse</a></li>
 </ul>
 <h1 id="documentation">Documentation</h1>
 <ul>
@@ -106,6 +106,10 @@
 <li><a href="/jena/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
+<li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/jena/documentation/assembler/concurrency-howto.html">Concurrency how-to</a></li>
+</ul>
+</li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
 <li><a href="/jena/documentation/tools/schemagen.html">schemagen</a></li>
 </ul>

Modified: websites/staging/jena/trunk/content/jena/getting_started/rdf_api.html
==============================================================================
--- websites/staging/jena/trunk/content/jena/getting_started/rdf_api.html (original)
+++ websites/staging/jena/trunk/content/jena/getting_started/rdf_api.html Mon Sep 12 23:39:50 2011
@@ -87,7 +87,7 @@
 <ul>
 <li><a href="/jena/tutorials/index.html">RDF tutorial</a></li>
 <li><a href="/jena/tutorials/sparql.html">SPARQL queries</a></li>
-<li><a href="/jena/tutorials/usingklzzwxh:0023jenaklzzwxh:0024withklzzwxh:0025eclipse.html">Using Jena with Eclipse</a></li>
+<li><a href="/jena/tutorials/usingklzzwxh:0025jenaklzzwxh:0026withklzzwxh:0027eclipse.html">Using Jena with Eclipse</a></li>
 </ul>
 <h1 id="documentation">Documentation</h1>
 <ul>
@@ -106,6 +106,10 @@
 <li><a href="/jena/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
+<li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/jena/documentation/assembler/concurrency-howto.html">Concurrency how-to</a></li>
+</ul>
+</li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
 <li><a href="/jena/documentation/tools/schemagen.html">schemagen</a></li>
 </ul>

Modified: websites/staging/jena/trunk/content/jena/getting_started/sparql.html
==============================================================================
--- websites/staging/jena/trunk/content/jena/getting_started/sparql.html (original)
+++ websites/staging/jena/trunk/content/jena/getting_started/sparql.html Mon Sep 12 23:39:50 2011
@@ -87,7 +87,7 @@
 <ul>
 <li><a href="/jena/tutorials/index.html">RDF tutorial</a></li>
 <li><a href="/jena/tutorials/sparql.html">SPARQL queries</a></li>
-<li><a href="/jena/tutorials/usingklzzwxh:0023jenaklzzwxh:0024withklzzwxh:0025eclipse.html">Using Jena with Eclipse</a></li>
+<li><a href="/jena/tutorials/usingklzzwxh:0025jenaklzzwxh:0026withklzzwxh:0027eclipse.html">Using Jena with Eclipse</a></li>
 </ul>
 <h1 id="documentation">Documentation</h1>
 <ul>
@@ -106,6 +106,10 @@
 <li><a href="/jena/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
+<li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/jena/documentation/assembler/concurrency-howto.html">Concurrency how-to</a></li>
+</ul>
+</li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
 <li><a href="/jena/documentation/tools/schemagen.html">schemagen</a></li>
 </ul>

Modified: websites/staging/jena/trunk/content/jena/getting_started/tell_me_how.html
==============================================================================
--- websites/staging/jena/trunk/content/jena/getting_started/tell_me_how.html (original)
+++ websites/staging/jena/trunk/content/jena/getting_started/tell_me_how.html Mon Sep 12 23:39:50 2011
@@ -87,7 +87,7 @@
 <ul>
 <li><a href="/jena/tutorials/index.html">RDF tutorial</a></li>
 <li><a href="/jena/tutorials/sparql.html">SPARQL queries</a></li>
-<li><a href="/jena/tutorials/usingklzzwxh:0023jenaklzzwxh:0024withklzzwxh:0025eclipse.html">Using Jena with Eclipse</a></li>
+<li><a href="/jena/tutorials/usingklzzwxh:0025jenaklzzwxh:0026withklzzwxh:0027eclipse.html">Using Jena with Eclipse</a></li>
 </ul>
 <h1 id="documentation">Documentation</h1>
 <ul>
@@ -106,6 +106,10 @@
 <li><a href="/jena/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
+<li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/jena/documentation/assembler/concurrency-howto.html">Concurrency how-to</a></li>
+</ul>
+</li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
 <li><a href="/jena/documentation/tools/schemagen.html">schemagen</a></li>
 </ul>

Modified: websites/staging/jena/trunk/content/jena/help_and_support/bugs_and_suggestions.html
==============================================================================
--- websites/staging/jena/trunk/content/jena/help_and_support/bugs_and_suggestions.html (original)
+++ websites/staging/jena/trunk/content/jena/help_and_support/bugs_and_suggestions.html Mon Sep 12 23:39:50 2011
@@ -87,7 +87,7 @@
 <ul>
 <li><a href="/jena/tutorials/index.html">RDF tutorial</a></li>
 <li><a href="/jena/tutorials/sparql.html">SPARQL queries</a></li>
-<li><a href="/jena/tutorials/usingklzzwxh:0023jenaklzzwxh:0024withklzzwxh:0025eclipse.html">Using Jena with Eclipse</a></li>
+<li><a href="/jena/tutorials/usingklzzwxh:0025jenaklzzwxh:0026withklzzwxh:0027eclipse.html">Using Jena with Eclipse</a></li>
 </ul>
 <h1 id="documentation">Documentation</h1>
 <ul>
@@ -106,6 +106,10 @@
 <li><a href="/jena/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
+<li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/jena/documentation/assembler/concurrency-howto.html">Concurrency how-to</a></li>
+</ul>
+</li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
 <li><a href="/jena/documentation/tools/schemagen.html">schemagen</a></li>
 </ul>

Modified: websites/staging/jena/trunk/content/jena/help_and_support/faq.html
==============================================================================
--- websites/staging/jena/trunk/content/jena/help_and_support/faq.html (original)
+++ websites/staging/jena/trunk/content/jena/help_and_support/faq.html Mon Sep 12 23:39:50 2011
@@ -87,7 +87,7 @@
 <ul>
 <li><a href="/jena/tutorials/index.html">RDF tutorial</a></li>
 <li><a href="/jena/tutorials/sparql.html">SPARQL queries</a></li>
-<li><a href="/jena/tutorials/usingklzzwxh:0023jenaklzzwxh:0024withklzzwxh:0025eclipse.html">Using Jena with Eclipse</a></li>
+<li><a href="/jena/tutorials/usingklzzwxh:0025jenaklzzwxh:0026withklzzwxh:0027eclipse.html">Using Jena with Eclipse</a></li>
 </ul>
 <h1 id="documentation">Documentation</h1>
 <ul>
@@ -106,6 +106,10 @@
 <li><a href="/jena/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
+<li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/jena/documentation/assembler/concurrency-howto.html">Concurrency how-to</a></li>
+</ul>
+</li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
 <li><a href="/jena/documentation/tools/schemagen.html">schemagen</a></li>
 </ul>

Modified: websites/staging/jena/trunk/content/jena/help_and_support/index.html
==============================================================================
--- websites/staging/jena/trunk/content/jena/help_and_support/index.html (original)
+++ websites/staging/jena/trunk/content/jena/help_and_support/index.html Mon Sep 12 23:39:50 2011
@@ -87,7 +87,7 @@
 <ul>
 <li><a href="/jena/tutorials/index.html">RDF tutorial</a></li>
 <li><a href="/jena/tutorials/sparql.html">SPARQL queries</a></li>
-<li><a href="/jena/tutorials/usingklzzwxh:0023jenaklzzwxh:0024withklzzwxh:0025eclipse.html">Using Jena with Eclipse</a></li>
+<li><a href="/jena/tutorials/usingklzzwxh:0025jenaklzzwxh:0026withklzzwxh:0027eclipse.html">Using Jena with Eclipse</a></li>
 </ul>
 <h1 id="documentation">Documentation</h1>
 <ul>
@@ -106,6 +106,10 @@
 <li><a href="/jena/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
+<li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/jena/documentation/assembler/concurrency-howto.html">Concurrency how-to</a></li>
+</ul>
+</li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
 <li><a href="/jena/documentation/tools/schemagen.html">schemagen</a></li>
 </ul>

Modified: websites/staging/jena/trunk/content/jena/index.html
==============================================================================
--- websites/staging/jena/trunk/content/jena/index.html (original)
+++ websites/staging/jena/trunk/content/jena/index.html Mon Sep 12 23:39:50 2011
@@ -87,7 +87,7 @@
 <ul>
 <li><a href="/jena/tutorials/index.html">RDF tutorial</a></li>
 <li><a href="/jena/tutorials/sparql.html">SPARQL queries</a></li>
-<li><a href="/jena/tutorials/usingklzzwxh:0023jenaklzzwxh:0024withklzzwxh:0025eclipse.html">Using Jena with Eclipse</a></li>
+<li><a href="/jena/tutorials/usingklzzwxh:0025jenaklzzwxh:0026withklzzwxh:0027eclipse.html">Using Jena with Eclipse</a></li>
 </ul>
 <h1 id="documentation">Documentation</h1>
 <ul>
@@ -106,6 +106,10 @@
 <li><a href="/jena/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
+<li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/jena/documentation/assembler/concurrency-howto.html">Concurrency how-to</a></li>
+</ul>
+</li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
 <li><a href="/jena/documentation/tools/schemagen.html">schemagen</a></li>
 </ul>

Modified: websites/staging/jena/trunk/content/jena/tutorials/index.html
==============================================================================
--- websites/staging/jena/trunk/content/jena/tutorials/index.html (original)
+++ websites/staging/jena/trunk/content/jena/tutorials/index.html Mon Sep 12 23:39:50 2011
@@ -87,7 +87,7 @@
 <ul>
 <li><a href="/jena/tutorials/index.html">RDF tutorial</a></li>
 <li><a href="/jena/tutorials/sparql.html">SPARQL queries</a></li>
-<li><a href="/jena/tutorials/usingklzzwxh:0023jenaklzzwxh:0024withklzzwxh:0025eclipse.html">Using Jena with Eclipse</a></li>
+<li><a href="/jena/tutorials/usingklzzwxh:0025jenaklzzwxh:0026withklzzwxh:0027eclipse.html">Using Jena with Eclipse</a></li>
 </ul>
 <h1 id="documentation">Documentation</h1>
 <ul>
@@ -106,6 +106,10 @@
 <li><a href="/jena/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
+<li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/jena/documentation/assembler/concurrency-howto.html">Concurrency how-to</a></li>
+</ul>
+</li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
 <li><a href="/jena/documentation/tools/schemagen.html">schemagen</a></li>
 </ul>

Modified: websites/staging/jena/trunk/content/jena/tutorials/sparql.html
==============================================================================
--- websites/staging/jena/trunk/content/jena/tutorials/sparql.html (original)
+++ websites/staging/jena/trunk/content/jena/tutorials/sparql.html Mon Sep 12 23:39:50 2011
@@ -87,7 +87,7 @@
 <ul>
 <li><a href="/jena/tutorials/index.html">RDF tutorial</a></li>
 <li><a href="/jena/tutorials/sparql.html">SPARQL queries</a></li>
-<li><a href="/jena/tutorials/usingklzzwxh:0023jenaklzzwxh:0024withklzzwxh:0025eclipse.html">Using Jena with Eclipse</a></li>
+<li><a href="/jena/tutorials/usingklzzwxh:0025jenaklzzwxh:0026withklzzwxh:0027eclipse.html">Using Jena with Eclipse</a></li>
 </ul>
 <h1 id="documentation">Documentation</h1>
 <ul>
@@ -106,6 +106,10 @@
 <li><a href="/jena/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
+<li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/jena/documentation/assembler/concurrency-howto.html">Concurrency how-to</a></li>
+</ul>
+</li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
 <li><a href="/jena/documentation/tools/schemagen.html">schemagen</a></li>
 </ul>

Modified: websites/staging/jena/trunk/content/jena/tutorials/using_jena_with_eclipse.html
==============================================================================
--- websites/staging/jena/trunk/content/jena/tutorials/using_jena_with_eclipse.html (original)
+++ websites/staging/jena/trunk/content/jena/tutorials/using_jena_with_eclipse.html Mon Sep 12 23:39:50 2011
@@ -87,7 +87,7 @@
 <ul>
 <li><a href="/jena/tutorials/index.html">RDF tutorial</a></li>
 <li><a href="/jena/tutorials/sparql.html">SPARQL queries</a></li>
-<li><a href="/jena/tutorials/usingklzzwxh:0023jenaklzzwxh:0024withklzzwxh:0025eclipse.html">Using Jena with Eclipse</a></li>
+<li><a href="/jena/tutorials/usingklzzwxh:0025jenaklzzwxh:0026withklzzwxh:0027eclipse.html">Using Jena with Eclipse</a></li>
 </ul>
 <h1 id="documentation">Documentation</h1>
 <ul>
@@ -106,6 +106,10 @@
 <li><a href="/jena/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
+<li><a href="/jena/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/jena/documentation/assembler/concurrency-howto.html">Concurrency how-to</a></li>
+</ul>
+</li>
 <li><a href="/jena/documentation/tools/index.html">Tools</a><ul>
 <li><a href="/jena/documentation/tools/schemagen.html">schemagen</a></li>
 </ul>



Mime
View raw message