You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by bu...@apache.org on 2013/01/01 16:28:12 UTC

svn commit: r844519 [3/6] - in /websites/staging/jena/trunk/content: ./ about_jena/ documentation/ documentation/assembler/ documentation/inference/ documentation/io/ documentation/javadoc/ documentation/larq/ documentation/notes/ documentation/ontolog...

Added: websites/staging/jena/trunk/content/documentation/io/arp_standalone.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/io/arp_standalone.html (added)
+++ websites/staging/jena/trunk/content/documentation/io/arp_standalone.html Tue Jan  1 15:28:10 2013
@@ -0,0 +1,346 @@
+<!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="/css/jena.css" rel="stylesheet" type="text/css">
+
+  <title>Apache Jena - Using ARP Without Jena</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
+  <script src="/js/jena-navigation.js" type="text/javascript"></script>
+</head>
+
+<body>
+  <div id="header">
+    <div id="logoblock">
+    <img alt="Apache Jena" src="/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="/index.html" id="home_menu">Home</a></li>
+        <li class="round-top-8"><a class="round-top-8" href="/help_and_support/index.html">Support</a></li>
+        <li class="round-top-8"><a class="round-top-8" href="/getting_started/index.html">Getting started</a></li>
+        <li class="round-top-8"><a class="round-top-8" href="/tutorials/index.html">Tutorials</a></li>
+        <li class="round-top-8"><a class="round-top-8" href="/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="/index.html">Home</a></li>
+<li><a href="/download/index.html">Downloads</a></li>
+<li><a href="/help_and_support/index.html">Help and support</a></li>
+<li><a href="/help_and_support/bugs_and_suggestions.html">Report a bug</a></li>
+<li><a href="/about_jena/roadmap.html">Roadmap</a></li>
+<li><a href="/getting_involved/index.html">Getting involved</a></li>
+<li><a href="/documentation/">Documentation</a></li>
+</ul>
+<h1 id="about-jena">About Jena</h1>
+<ul>
+<li><a href="/index.html">Home</a></li>
+<li><a href="/about_jena/about.html">About Jena</a></li>
+<li><a href="/about_jena/architecture.html">Architecture</a></li>
+<li><a href="/about_jena/roadmap.html">Roadmap</a></li>
+<li><a href="/about_jena/team.html">Project team</a></li>
+<li><a href="/about_jena/contributions.html">Related projects</a></li>
+</ul>
+<h1 id="download">Download</h1>
+<ul>
+<li><a href="/download/index.html">Downloading Jena</a></li>
+<li><a href="/download/maven.html">Using Maven</a></li>
+<li><a href="/download/osgi.html">Using OSGi</a></li>
+</ul>
+<h1 id="help-and-support">Help and support</h1>
+<ul>
+<li><a href="/help_and_support/index.html">Getting help</a></li>
+<li><a href="/help_and_support/bugs_and_suggestions.html">Bugs and suggestions</a></li>
+</ul>
+<h1 id="getting-started">Getting Started</h1>
+<ul>
+<li><a href="/getting_started/index.html">A first Jena project</a></li>
+<li><a href="/getting_started/rdf_api.html">RDF API overview</a></li>
+<li><a href="/getting_started/sparql.html">Querying RDF with SPARQL</a></li>
+<li><a href="/getting_started/fuseki.html">Serving RDF over HTTP</a></li>
+<li><a href="/getting_started/tell_me_how.html">Tell me how to ...</a></li>
+</ul>
+<h1 id="tutorials">Tutorials</h1>
+<ul>
+<li><a href="/tutorials/index.html">Tutorials index</a></li>
+<li><a href="/tutorials/rdf_api.html">RDF tutorial</a></li>
+<li><a href="/tutorials/sparql.html">SPARQL queries</a></li>
+<li><a href="/tutorials/using_jena_with_eclipse.html">Using Jena with Eclipse</a></li>
+</ul>
+<h1 id="documentation">Documentation</h1>
+<ul>
+<li><a href="/documentation/index.html">Overview</a></li>
+<li><a href="/documentation/javadoc/">Javadoc</a></li>
+<li><a href="/documentation/rdf/index.html">RDF</a></li>
+<li><a href="/documentation/io/index.html">I/O</a></li>
+<li><a href="/documentation/query/index.html">SPARQL (ARQ)</a><ul>
+<li><a href="/documentation/query/app_api.html">Application API</a></li>
+<li><a href="/documentation/query/cmds.html">Command line utilities</a></li>
+</ul>
+</li>
+<li><a href="/documentation/tdb/index.html">TDB</a><ul>
+<li><a href="/documentation/tdb/tdb_transactions.html">API for Transactions</a></li>
+<li><a href="/documentation/tdb/assembler.html">Dataset Assembler</a></li>
+</ul>
+</li>
+<li><a href="/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
+<li><a href="/documentation/ontology/index.html">Ontology</a></li>
+<li><a href="/documentation/inference/index.html">Inference</a></li>
+<li><a href="/documentation/assembler/index.html">Assembler</a><ul>
+<li><a href="/documentation/assembler/assembler-howto.html">Assembler how-to</a></li>
+<li><a href="/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
+</ul>
+</li>
+<li><a href="/documentation/sdb/index.html">SDB</a></li>
+<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
+<li><a href="/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/documentation/notes/concurrency-howto.html">Concurrency how-to</a></li>
+<li><a href="/documentation/notes/event-handler-howto.html">Event handler how-to</a></li>
+<li><a href="/documentation/notes/file-manager.html">File manager how-to</a></li>
+<li><a href="/documentation/notes/model-factory.html">Model factory how-to</a></li>
+<li><a href="/documentation/notes/rdf-frames.html">RDF frames</a></li>
+<li><a href="/documentation/notes/reification.html">Reification how-to</a></li>
+<li><a href="/documentation/notes/typed-literals.html">Typed literals how-to</a></li>
+<li><a href="/documentation/notes/iri.html">Support for IRI's</a></li>
+<li><a href="/documentation/notes/sse.html">SSE</a></li>
+</ul>
+</li>
+<li><a href="/documentation/tools/index.html">Tools</a><ul>
+<li><a href="/documentation/tools/schemagen.html">schemagen</a></li>
+<li><a href="/documentation/tools/eyeball-getting-started.html">eyeball</a></li>
+</ul>
+</li>
+</ul>
+<h1 id="getting-involved">Getting Involved</h1>
+<ul>
+<li><a href="/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">Using ARP Without Jena</h1>
+    <p>ARP can be used both as a Jena subsystem, or as a standalone
+RDF/XML parser. This document gives a quick guide to using ARP
+standalone.</p>
+<h2 id="contents">Contents</h2>
+<ul>
+<li><a href="#overview">Overview</a></li>
+<li><a href="#sample">Sample Code</a></li>
+<li><a href="#handlers">ARP Event Handling</a></li>
+<li><a href="#config">Configuring ARP</a></li>
+<li><a href="#interrupt">Interrupting ARP</a></li>
+<li><a href="#sax2rdf">Using Other SAX Sources</a></li>
+<li><a href="#memory">Memory usage</a></li>
+</ul>
+<h2 id="overview">Overview</h2>
+<p>To load an RDF file:</p>
+<ol>
+<li>Create an
+    <a href="/documentation/javadoc/jena/com/hp/hpl/jena/rdf/arp/ARP.html#ARP()">ARP</a> instance.</li>
+<li>Set parse options, particularly error detection control, using
+    <a href="/documentation/javadoc/jena/com/hp/hpl/jena/rdf/arp/ARPConfig.html#getOptions()">getOptions</a>
+    or
+    <a href="/documentation/javadoc/jena/com/hp/hpl/jena/rdf/arp/ARPConfig.html#setOptionsWith(com.hp.hpl.jena.rdf.arp.ARPOptions)">setOptionsWith</a>.</li>
+<li>Set its handlers, by calling the
+    <a href="/documentation/javadoc/jena/com/hp/hpl/jena/rdf/arp/ARPConfig.html#getHandlers()">getHandlers</a>
+    or
+  <br />
+<a href="/documentation/javadoc/jena/com/hp/hpl/jena/rdf/arp/ARPConfig.html#setHandlersWith(com.hp.hpl.jena.rdf.arp.ARPHandlers)">setHandlersWith</a>
+    methods, and then.<ul>
+<li>Setting the
+    <a href="/documentation/javadoc/jena/com/hp/hpl/jena/rdf/arp/ARPHandlers.html#setStatementHandler(com.hp.hpl.jena.rdf.arp.StatementHandler)">statement handler</a>.</li>
+<li>Optionally setting the other handlers.</li>
+</ul>
+</li>
+<li>Call a
+    <a href="/documentation/javadoc/jena/com/hp/hpl/jena/rdf/arp/ARP.html#load(java.io.InputStream,%20java.lang.String)">load</a>
+    method</li>
+</ol>
+<p>Xerces is used for parsing the XML. The SAXEvents generated by
+Xerces are then analysed as RDF by ARP. It is possible to use a
+different source of SAX events.</p>
+<p>Errors may occur in either the XML or the RDF part.</p>
+<h2 id="sample-code">Sample Code</h2>
+<div class="codehilite"><pre>ARP arp = new ARP();
+
+// initialisation - uses ARPConfig interface only.
+arp.getOptions().setLaxErrorMode();
+
+arp.getHandlers().setErrorHandler(new ErrorHandler(){
+    public void fatalError(SAXParseException e){
+           // TODO code
+    }
+    public void error(SAXParseException e){
+            // TODO code
+    }
+    public void warning(SAXParseException e){
+            // TODO code
+    }
+});
+arp.getHandlers().setStatementHandler(new StatementHandler(){
+    public void statement(AResource a, AResource b, ALiteral l){
+            // TODO code
+    }
+    public void statement(AResource a, AResource b, AResource l){
+            // TODO code
+    }
+});
+
+// parsing.
+
+try {
+    // Loading fixed input ...
+    arp.load(new StringReader(
+        &quot;<span class="nt">&lt;rdf:RDF</span>  <span class="na">xmlns:rdf=</span><span class="s">&#39;http://www.w3.org/1999/02/22-rdf-syntax-ns#&#39;</span><span class="nt">&gt;</span>\n&quot;
+        +&quot;<span class="nt">&lt;rdf:Description&gt;&lt;rdf:value</span> <span class="na">rdf:parseType=</span><span class="s">&#39;Literal&#39;</span><span class="nt">&gt;</span>&quot;
+        +&quot;<span class="nt">&lt;b&gt;</span>hello<span class="nt">&lt;/b&gt;&lt;/rdf:value&gt;</span>\n&quot;
+        +&quot;<span class="nt">&lt;/rdf:Description&gt;&lt;/rdf:RDF&gt;</span>&quot;
+    ));
+
+}
+catch (IOException ioe){
+    // something unexpected went wrong
+}
+catch (SAXParseException s){
+    // This error will have been reported
+}
+catch (SAXException ss) {
+    // This error will not have been reported.
+}
+</pre></div>
+
+
+<h2 id="arp-event-handling">ARP Event Handling</h2>
+<p>ARP reports events concerning:</p>
+<ul>
+<li>Triples found in the input.</li>
+<li>Errors in the input.</li>
+<li>Namespace declarations.</li>
+<li>Scope of blank nodes.</li>
+</ul>
+<p>User code is needed to respond to any of these events of interest.
+This is written by implementing any of the relevant interfaces:
+<a href="/documentation/javadoc/jena/com/hp/hpl/jena/rdf/arp/StatementHandler.html">StatementHandler</a>,
+org.xml.sax.ErrorHandler,
+<a href="/documentation/javadoc/jena/com/hp/hpl/jena/rdf/arp/NamespaceHandler.html">NamespaceHandler</a>,
+and
+<a href="/documentation/javadoc/jena/com/hp/hpl/jena/rdf/arp/ExtendedHandler.html">ExtendedHandler</a>.</p>
+<p>An individual handler is set by calling the
+<a href="/documentation/javadoc/jena/com/hp/hpl/jena/rdf/arp/ARPConfig.html#getHandlers()">getHandlers</a>
+method on the ARP instance. This returns an encapsulation of all
+the handlers being used. A specific handler is set by calling the
+appropriate set...Handler method on that object, e.g.
+<a href="/documentation/javadoc/jena/com/hp/hpl/jena/rdf/arp/ARPHandlers.html#setStatementHandler(com.hp.hpl.jena.rdf.arp.StatementHandler)">setStatementHandler</a>.</p>
+<p>All the handlers can be copied from one ARP instance to another by
+using the
+<a href="/documentation/javadoc/jena/com/hp/hpl/jena/rdf/arp/ARPConfig.html#setHandlersWith(com.hp.hpl.jena.rdf.arp.ARPHandlers)">setHandlersWith</a>
+method:</p>
+<div class="codehilite"><pre> <span class="n">ARP</span> <span class="n">from</span><span class="p">,</span> <span class="n">to</span><span class="p">;</span>
+ <span class="sr">//</span> <span class="n">initialize</span> <span class="n">from</span> <span class="ow">and</span> <span class="n">to</span>
+ <span class="sr">//</span> <span class="o">...</span>
+
+ <span class="n">to</span><span class="o">.</span><span class="n">setHandlersWith</span><span class="p">(</span><span class="n">from</span><span class="o">.</span><span class="n">getHandlers</span><span class="p">());</span>
+</pre></div>
+
+
+<p>The error handler reports both XML and RDF errors, the former
+detected by Xerces. See
+<a href="/documentation/javadoc/jena/com/hp/hpl/jena/rdf/arp/ARPHandlers.html#setErrorHandler(org.xml.sax.ErrorHandler)">ARPHandlers.setErrorHandler</a>
+for details of how to distinguish between them.</p>
+<h2 id="configuring-arp">Configuring ARP</h2>
+<p>ARP can be configured to treat most error conditions as warnings or
+to be ignored, and to treat some non-error conditions as warnings
+or errors.</p>
+<p>In addition, the behaviour in response to input that does not have
+an <code>&lt;rdf:RDF&gt;</code> root element is configurable: either to treat the
+whole file as RDF anyway, or to scan the file looking for embedded
+<code>&lt;rdf:RDF&gt;</code> elements.</p>
+<p>As with the handlers, there is an options object that encapsulates
+these settings. It can be accessed using
+<a href="/documentation/javadoc/jena/com/hp/hpl/jena/rdf/arp/ARPConfig.html#getOptions()"><code>getOptions</code></a>,
+and then individual settings can be made using the methods in
+<a href="/documentation/javadoc/jena/com/hp/hpl/jena/rdf/arp/ARPOptions.html"><code>ARPOptions</code></a>.</p>
+<p>It is also possible to copy all the option settings from one ARP
+instance to another:</p>
+<div class="codehilite"><pre> <span class="n">ARP</span> <span class="n">from</span><span class="p">,</span> <span class="n">to</span><span class="p">;</span>
+ <span class="sr">//</span> <span class="n">initialize</span> <span class="n">from</span> <span class="ow">and</span> <span class="n">to</span> <span class="o">...</span>
+
+ <span class="n">to</span><span class="o">.</span><span class="n">setOptionsWith</span><span class="p">(</span><span class="n">from</span><span class="o">.</span><span class="n">getOptions</span><span class="p">());</span>
+</pre></div>
+
+
+<p>The <a href="iohowto.html#arp_properties">I/O how-to</a> gives some more
+detail about the options settings, although it assumes the use of
+the Jena <code>RDFReader</code> interface.</p>
+<h2 id="interrupting-arp">Interrupting ARP</h2>
+<p>It is possible to interrupt an ARP thread. See the
+<a href="iohowto.html#interrupting_arp">I/O how-to</a> for details.</p>
+<h2 id="using-other-sax-sources">Using Other SAX Sources</h2>
+<p>It is possible to use ARP with other SAX input sources, e.g. from a
+non-Xerces parser, or from an in-memory XML source, such as a DOM
+tree.</p>
+<p>Instead of an ARP instance, you create an instance of
+<a href="/documentation/javadoc/jena/com/hp/hpl/jena/rdf/arp/SAX2RDF.html">SAX2RDF</a> using
+the <a href="/documentation/javadoc/jena/com/hp/hpl/jena/rdf/arp/SAX2RDF.html#newInstance(java.lang.String)">newInstance</a>
+method. This can be configured just like an ARP instance, following
+the initialization section of the <a href="#sample">sample code</a>.</p>
+<p>This is used like a SAX2Model instance as
+<a href="sax.html">described elsewhere</a>.</p>
+<h2 id="memory-usage">Memory usage</h2>
+<p>For very large files, ARP does not use any additional memory except
+when either the
+<a href="/documentation/javadoc/jena/com/hp/hpl/jena/rdf/arp/ExtendedHandler.html#discardNodesWithNodeID()">ExtendedHandler.discardNodesWithNodeID</a>
+returns false or when the
+<a href="/documentation/javadoc/jena/com/hp/hpl/jena/rdf/arp/AResource.html#setUserData(java.lang.Object)">AResource.setUserData</a>
+method has been used. In these cases ARP needs to remember the
+<code>rdf:nodeID</code> usage through the file life time.</p>
+  </div>
+
+  <div id="footer">
+    <div class="copyright">
+      <p>
+        Copyright &copy; 2011&ndash;12 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 Jena, Jena, the Apache Jena project logo,
+        Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Modified: websites/staging/jena/trunk/content/documentation/io/index.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/io/index.html (original)
+++ websites/staging/jena/trunk/content/documentation/io/index.html Tue Jan  1 15:28:10 2013
@@ -21,7 +21,7 @@
 
   <link href="/css/jena.css" rel="stylesheet" type="text/css">
 
-  <title>Apache Jena - RDF input and output handling in Jena</title>
+  <title>Apache Jena - Reading RDF in Jena</title>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
   <script src="/js/jena-navigation.js" type="text/javascript"></script>
@@ -98,6 +98,7 @@
 <li><a href="/documentation/index.html">Overview</a></li>
 <li><a href="/documentation/javadoc/">Javadoc</a></li>
 <li><a href="/documentation/rdf/index.html">RDF</a></li>
+<li><a href="/documentation/io/index.html">I/O</a></li>
 <li><a href="/documentation/query/index.html">SPARQL (ARQ)</a><ul>
 <li><a href="/documentation/query/app_api.html">Application API</a></li>
 <li><a href="/documentation/query/cmds.html">Command line utilities</a></li>
@@ -109,8 +110,6 @@
 </ul>
 </li>
 <li><a href="/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
-<li><a href="/documentation/sdb/index.html">SDB</a></li>
-<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
 <li><a href="/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/documentation/inference/index.html">Inference</a></li>
 <li><a href="/documentation/assembler/index.html">Assembler</a><ul>
@@ -118,11 +117,8 @@
 <li><a href="/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
-<li><a href="/documentation/io/index.html">I/O</a><ul>
-<li><a href="/documentation/io/iohowto.html">I/O how-to</a></li>
-<li><a href="/documentation/io/riot.html">RIOT</a></li>
-</ul>
-</li>
+<li><a href="/documentation/sdb/index.html">SDB</a></li>
+<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
 <li><a href="/documentation/notes/index.html">Notes</a><ul>
 <li><a href="/documentation/notes/concurrency-howto.html">Concurrency how-to</a></li>
 <li><a href="/documentation/notes/event-handler-howto.html">Event handler how-to</a></li>
@@ -156,18 +152,261 @@
   </div>
 
   <div id="content">
-    <h1 class="title">RDF input and output handling in Jena</h1>
-    <p>This section details how Jena parses and generates the various syntaxes used
-to encode RDF, including RDF/XML, Turtle and N-triples.
-ARP is the parsing subsystem in Jena for handling the RDF/XML syntax. Other parsers
-are documented in the <a href="riot.html">RIOT subsystem</a></p>
-<ul>
-<li><a href="iohowto.html#input">Jena RDF I/O how-to</a></li>
-<li><a href="features.html">ARP Features</a></li>
-<li><a href="standalone.html">Using ARP without Jena</a></li>
-<li><a href="sax.html">Using other SAX and DOM XML sources</a></li>
-<li><a href="riot.html">RDF I/O with RIOT</a></li>
+    <h1 class="title">Reading RDF in Jena</h1>
+    <p>This page details the setup of RDF I/O technology (RIOT) introduced in Jena 2.10.</p>
+<p>The output capabilities are described <a href="#rdf-output.html">elsewhere</a>.</p>
+<ul>
+<li><a href="#formats">Formats</a></li>
+<li><a href="#command_line_tools">Commands</a></li>
+<li><a href="#inference">Inference</a></li>
+<li><a href="#api">API</a></li>
+<li><a href="#determining_the_rdf_syntax">Determining the RDF syntax</a></li>
+<li><a href="#example_1___common_usage">Common usage</a></li>
+<li><a href="##example_2___using_the_rdfdatamgr">Using the RDFDataMgr</a></li>
+<li><a href="#logging">Logging</a></li>
+<li><a href="#">The StreamManager and LocationMapper</a></li>
+<li><a href="#configuring_the_streammanager">Configuring the <code>StreamManager</code></a></li>
+<li><a href="#configuring_a_locationmapper">Configuring a <code>LocationMapper</code></a></li>
+<li><a href="#add_a_new_language">Add a new language</a></li>
+<li><a href="#advanced_examples">Advanced examples</a></li>
+</ul>
+<p>Full details of operations are given in the javadoc.</p>
+<h1 id="formats">Formats</h1>
+<p>The following RDF formats are supported by Jena. In addition, other syntaxes
+can be integrated into the parser framework.</p>
+<ul>
+<li>RDF/XML</li>
+<li>Turtle</li>
+<li>N-Triples</li>
+<li>RDF/JSON</li>
+<li>TriG</li>
+<li>N-Quads</li>
+</ul>
+<p>RDF/JSON is not JSON-LD - it is a direct encoding of RDF triples in JSON.
+See the <a href="rdf-json.html">description of RDF/JSON</a>.</p>
+<p>See also the <a href="arp.html">RDF/XML specific documentation</a> for configuration
+of the RDF/XML parser.</p>
+<h1 id="command-line-tools">Command line tools</h1>
+<p>There are scripts in Jena download to run these commands.</p>
+<ul>
+<li><code>riot</code> - parse, guessing the syntax from the file extension.
+    Assumed N-Quads/N-Triples from stdin.</li>
+<li><code>turtle</code>, <code>ntriples</code>, <code>nquads</code>, <code>trig</code>, <code>rdfxml</code> - parse a particular language</li>
+</ul>
+<p>These can be called directly as Java programs:</p>
+<p>The file extensions are:</p>
+<p>| Extension | Language |
+|===========|==========|
+| <code>.nt</code>     | N-triples |
+| <code>.ttl</code>    | Turtle    |
+| <code>.nq</code>     | N-Quads   |
+| <code>.trig</code>   | TriG      |
+| <code>.rdf</code>    | RDF/XML   |
+| <code>.owl</code>    | RDF/XML   |</p>
+<p>In addition, if the extension is .gz the file is assumed to be gzip
+compressed. The file name is examined for an inner extension. For
+example, <code>.nt.gz</code> is gzip compressed N-Triples.</p>
+<p>These scripts call java programs in the <code>riotcmd</code> package. For example:</p>
+<div class="codehilite"><pre><span class="n">java</span> <span class="o">-</span><span class="n">cp</span> <span class="o">...</span> <span class="n">riotcmd</span><span class="o">.</span><span class="n">riot</span> <span class="n">file</span><span class="o">.</span><span class="n">ttl</span>
+</pre></div>
+
+
+<p>The scripts all accept the same arguments (type "riot --help" to
+get command line reminders):</p>
+<ul>
+<li><code>--validate</code>: Checking mode: same as --strict --sink --check=true</li>
+<li><code>--check=true/false</code>: Run with checking of literals and IRIs either on or off.</li>
+<li><code>--sink</code>: No output of triples or quads.</li>
+<li><code>--time</code>: Output timing information.</li>
+</ul>
+<p>To aid in checking for errors in UTF8-encoded files, there is a
+utility which reads a file of bytes as UTF8 and checks the encoding.</p>
+<ul>
+<li><code>utf8</code> -- read bytes as UTF8</li>
+</ul>
+<h1 id="inference">Inference</h1>
+<p>RIOT support creation of inferred triples during the parsing
+process:</p>
+<div class="codehilite"><pre><span class="n">riotcmd</span><span class="o">.</span><span class="n">infer</span> <span class="o">--</span><span class="n">rdfs</span> <span class="n">VOCAB</span> <span class="n">FILE</span> <span class="n">FILE</span> <span class="o">...</span>
+</pre></div>
+
+
+<p>Output will contain the base data and triples inferred based on
+subclass, subproperty, domain and range.</p>
+<h1 id="api">API</h1>
+<p>Much of the functionality is accessed via the Jena Model API; direct
+calling of the RIOT subsystem isn't needed.  A resource name
+with no URI scheme is assumed to be a local file name.</p>
+<p>Applications typically use at most <code>RDFDataMgr</code> to read RDF datasets.</p>
+<p>The major classes in the RIOT API are:</p>
+<table>
+<thead>
+<tr>
+<th>Class</th>
+<th>Comment</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>RDFDataMgr</td>
+<td>Main set of functions to read and load models and datasets</td>
+</tr>
+<tr>
+<td>StreamManager</td>
+<td>Handles the opening of types input streams</td>
+</tr>
+<tr>
+<td>StreamRDF</td>
+<td>Interface for the output of all parsers</td>
+</tr>
+<tr>
+<td>RDFLanguages</td>
+<td>Registered languages</td>
+</tr>
+<tr>
+<td>RDFParserRegistry</td>
+<td>Registered parser factories</td>
+</tr>
+</tbody>
+</table>
+<h2 id="determining-the-rdf-syntax">Determining the RDF syntax</h2>
+<p>The syntax of the RDF file is determined by the content type (if an HTTP
+request), then the file extension if there is no content type (or it's
+<code>text/plain</code>), which is assumed to be type returned for an unconfigured
+http server. The application can also pass in a declared language hint.</p>
+<p>The following is a suggested Apache httpd .htaccess file:</p>
+<div class="codehilite"><pre><span class="n">AddType</span>  <span class="n">text</span><span class="o">/</span><span class="n">turtle</span>             <span class="o">.</span><span class="n">ttl</span>
+<span class="n">AddType</span>  <span class="n">application</span><span class="o">/</span><span class="n">rdf</span><span class="o">+</span><span class="n">xml</span>     <span class="o">.</span><span class="n">rdf</span>
+<span class="n">AddType</span>  <span class="n">application</span><span class="o">/</span><span class="n">n</span><span class="o">-</span><span class="n">triples</span>   <span class="o">.</span><span class="n">nt</span>
+
+<span class="n">AddType</span>  <span class="n">application</span><span class="o">/</span><span class="n">ld</span><span class="o">+</span><span class="n">json</span>     <span class="o">.</span><span class="n">jsonld</span>
+<span class="n">AddType</span>  <span class="n">application</span><span class="o">/</span><span class="n">owl</span><span class="o">+</span><span class="n">xml</span>     <span class="o">.</span><span class="n">owl</span>
+
+<span class="n">AddType</span>  <span class="n">text</span><span class="o">/</span><span class="n">trig</span>               <span class="o">.</span><span class="n">trig</span>
+<span class="n">AddType</span>  <span class="n">application</span><span class="o">/</span><span class="n">n</span><span class="o">-</span><span class="n">quads</span>     <span class="o">.</span><span class="n">nq</span>
+</pre></div>
+
+
+<h2 id="example-1-common-usage">Example 1 : Common usage</h2>
+<p>In this example, a file in the current directory is read as Turtle.</p>
+<p>Model model = ModelFactory.createDefaultModel() ;
+  model.read("data.ttl") ;</p>
+<p>If the syntax is not as the file extension, a language can be declared:</p>
+<div class="codehilite"><pre><span class="n">model</span><span class="o">.</span><span class="nb">read</span><span class="p">(</span><span class="s">&quot;data.foo&quot;</span><span class="p">,</span> <span class="s">&quot;TURTLE&quot;</span><span class="p">)</span> <span class="p">;</span>
+</pre></div>
+
+
+<h2 id="example-2-using-the-rdfdatamgr">Example 2 : Using the RDFDataMgr</h2>
+<p>In versions of Jena priot to 2.10.0, the <code>FileManager</code> provided some of
+this functionality. It was more basic, and not properly web enabled.  The
+<code>RDFDataMgr</code> superceeds the <code>FileManager</code>.  "load*" operations create an
+in-memory container (model, or dataset as appropriate); "read" operations
+add data into an existing model or dataset.</p>
+<div class="codehilite"><pre><span class="sr">//</span> <span class="n">Create</span> <span class="n">a</span> <span class="n">model</span> <span class="ow">and</span> <span class="nb">read</span> <span class="n">into</span> <span class="n">it</span> <span class="n">from</span> <span class="n">file</span> 
+<span class="sr">//</span> <span class="s">&quot;data.ttl&quot;</span> <span class="n">assumed</span> <span class="n">to</span> <span class="n">be</span> <span class="n">Turtle</span><span class="o">.</span>
+<span class="n">Model</span> <span class="n">model</span> <span class="o">=</span> <span class="n">RDFDataMgr</span><span class="o">.</span><span class="n">loadModel</span><span class="p">(</span><span class="s">&quot;data.ttl&quot;</span><span class="p">)</span> <span class="p">;</span>
+
+<span class="sr">//</span> <span class="n">Create</span> <span class="n">a</span> <span class="n">dataset</span> <span class="ow">and</span> <span class="nb">read</span> <span class="n">into</span> <span class="n">it</span> <span class="n">from</span> <span class="n">file</span> 
+<span class="sr">//</span> <span class="s">&quot;data.trig&quot;</span> <span class="n">assumed</span> <span class="n">to</span> <span class="n">be</span> <span class="n">TriG</span><span class="o">.</span>
+<span class="n">Dataset</span> <span class="n">dataset</span> <span class="o">=</span> <span class="n">RDFDataMgr</span><span class="o">.</span><span class="n">loadDataset</span><span class="p">(</span><span class="s">&quot;data.trig&quot;</span><span class="p">)</span> <span class="p">;</span>
+
+<span class="sr">//</span> <span class="n">Read</span> <span class="n">into</span> <span class="n">an</span> <span class="n">existing</span> <span class="n">Model</span>
+<span class="n">RDFDataMgr</span><span class="o">.</span><span class="nb">read</span><span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="s">&quot;data2.ttl&quot;</span><span class="p">)</span> <span class="p">;</span>
+</pre></div>
+
+
+<h1 id="logging">Logging</h1>
+<p>The parsers log to a logger called <code>org.aapche.jena.riot</code>.  To avoid <code>WARN</code>
+messages, set this in log4j.properties to <code>ERROR</code>.</p>
+<h1 id="the-streammanager-and-locationmapper">The StreamManager and LocationMapper</h1>
+<p>By default, the <code>RDFDataMgr</code> uses the global <code>StreamManager</code> to open typed
+InputStreams.  This is available to applications via <code>RDFDataMgr.open</code> as well as directly
+using a <code>StreamManager</code>.</p>
+<p>The <code>StreamManager</code> is choosen based on the <code>Context</code> object for the
+oepration, but normally this defaults to the global <code>Context</code> availbale vai
+<code>Context.get()</code>.  The constant <code>RDFDataMgr.streamManagerSymbol</code>, which is 
+<code>http://jena.apache.org/riot/streamManager</code> is used.</p>
+<p>Specialized StreamManagers can be configured with specific locators for
+data:</p>
+<ul>
+<li>File locator (with own current directory)</li>
+<li>URL locator</li>
+<li>Class loader locator</li>
+<li>Zip file locator</li>
+</ul>
+<h2 id="configuring-the-streammanager">Configuring the <code>StreamManager</code></h2>
+<p>The <code>StreamManager</code> can be reconfigured with different places to look for
+files.  The default configuration used for the global <code>StreamManager</code> is
+a file access class, wihere the current directory is that of the java
+process, a URL accessor for reading from the web, and a
+class laoder-based accessor.  Different setups can be built and used
+either as the global set up, </p>
+<p>There is also a <code>LocationMapper</code> for rewiting file names and URLs before
+use to allow placing known names in different places (e.g. having local
+copies of import http resources).</p>
+<h2 id="configuring-a-locationmapper">Configuring a <code>LocationMapper</code></h2>
+<p>Location mapping files are RDF, usually written in Turtle although
+an RDF syntax can be used.</p>
+<div class="codehilite"><pre><span class="nv">@prefix</span> <span class="n">lm:</span> <span class="sr">&lt;http://jena.hpl.hp.com/2004/08/location-mapping#&gt;</span>
+
+<span class="o">[]</span> <span class="n">lm:mapping</span>
+   <span class="p">[</span> <span class="n">lm:name</span> <span class="s">&quot;file:foo.n3&quot;</span> <span class="p">;</span>     <span class="n">lm:altName</span> <span class="s">&quot;file:etc/foo.n3&quot;</span> <span class="p">]</span> <span class="p">,</span>
+   <span class="p">[</span> <span class="n">lm:prefix</span> <span class="s">&quot;file:etc/&quot;</span> <span class="p">;</span>     <span class="n">lm:altPrefix</span> <span class="s">&quot;file:ETC/&quot;</span> <span class="p">]</span> <span class="p">,</span>
+   <span class="p">[</span> <span class="n">lm:name</span> <span class="s">&quot;file:etc/foo.n3&quot;</span> <span class="p">;</span> <span class="n">lm:altName</span> <span class="s">&quot;file:DIR/foo.n3&quot;</span> <span class="p">]</span>
+   <span class="o">.</span>
+</pre></div>
+
+
+<p>There are two types of location mapping: exact match renaming and
+prefix renaming. When trying to find an alternative location, a
+<code>LocationMapper</code> first tries for an exact match; if none is found,
+the LocationMapper will search for the longest matching prefix. If
+two are the same length, there is no guarantee on order tried;
+there is no implied order in a location mapper configuration file
+(it sets up two hash tables).</p>
+<p>In the example above, <code>file:etc/foo.n3</code> becomes <code>file:DIR/foo.n3</code>
+because that is an exact match. The prefix match of file:/etc/ is
+ignored.</p>
+<p>All string tests are done case sensitively because the primary use
+is for URLs.</p>
+<p>Notes:</p>
+<ul>
+<li>Property values are not URIs, but strings. This is a system
+    feature, not an RDF feature. Prefix mapping is name rewriting;
+    alternate names are not treated as equivalent resources in the rest
+    of Jena. While application writers are encouraged to use URIs to
+    identify files, this is not always possible.</li>
+<li>There is no check to see if the alternative system resource is
+    equivalent to the original.</li>
+</ul>
+<p>A LocationMapper finds its configuration file by looking for the
+following files, in order:</p>
+<ul>
+<li><code>file:location-mapping.rdf</code></li>
+<li><code>file:location-mapping.ttl</code></li>
+<li><code>file:etc/location-mapping.rdf</code></li>
+<li><code>file:etc/location-mapping.ttl</code></li>
+</ul>
+<p>This is a specified as a path - note the path separator is always
+the character ';' regardless of operating system because URLs
+contain ':'.</p>
+<p>Applications can also set mappings programmatically. No
+configuration file is necessary.</p>
+<p>The base URI for reading models will be the original URI, not the alternative location.</p>
+<h3 id="debugging">Debugging</h3>
+<p>Using log4j, set the logging level of the classes:</p>
+<ul>
+<li>org.apache.jena.riot.stream.StreamManager</li>
+<li>org.apache.jena.riot.stream.LocationMapper</li>
 </ul>
+<h1 id="advanced-examples">Advanced examples</h1>
+<h2 id="filter-the-output-of-parsing">Filter the output of parsing.</h2>
+<p>When working with very large files, it can be useful to process the stream of triples or quads produced
+by the parser so as to work in a streaming fashion.</p>
+<p>See <a href="https://svn.apache.org/repos/asf/jena/trunk/jena-arq/src-examples/arq/examples/riot/ExRIOT_4.java">RIOT example 4</a></p>
+<h2 id="add-a-new-language">Add a new language</h2>
+<p>The set of languages is fixed - a new languages can be added to RIOT as shown in
+<a href="https://svn.apache.org/repos/asf/jena/trunk/jena-arq/src-examples/arq/examples/riot/ExRIOT_5.java">RIOT example 5</a></p>
   </div>
 
   <div id="footer">

Added: websites/staging/jena/trunk/content/documentation/io/rdf-json.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/io/rdf-json.html (added)
+++ websites/staging/jena/trunk/content/documentation/io/rdf-json.html Tue Jan  1 15:28:10 2013
@@ -0,0 +1,258 @@
+<html>
+<head>
+  <link href="http://jena.apache.org/css/jena.css" rel="stylesheet" type="text/css"/>
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+  <title>RDF JSON - docs.api</title>
+</head>
+<body>
+
+<div id="content" style="margin-left: 20px">
+
+<p>
+<small>This page is taken from <a href="http://docs.api.talis.com/platform-api/output-types/rdf-json">The Talis Systems documentation for RDF/JSON</a>. 
+© Talis Systems Ltd. 2011. The content is available under 
+<a href="http://creativecommons.org/licenses/by-sa/3.0/" target="">Attribution-Share Alike 3.0</a>
+</small> license.
+</p>
+
+  <h1>RDF JSON</h1>
+       
+  <p><a href="http://json.org/">JSON</a> (the serialisation of data
+    in javascript object notation) is an increasingly popular data format,
+    largely because it is easy to parse (or, in the case of javascript, simply
+    evaluate) into a data structure of the consumer's programming language of
+           choice.</p>
+  
+  <p>This is a specification for a resource-centric serialisation of RDF in
+    JSON.  It aims to serialise RDF in a structure that is easy for developers
+    to work with.</p>
+  
+  <h2>SyntaxSpecification</h2>
+
+  <p>RDF/JSON represents a set of RDF triples as a series of nested data structures. 
+    Each unique subject in the set of triples is represented as a key in 
+    JSON object (also known as associative array, dictionary or hash table).
+    The value of each key is a object whose keys are the URIs of the 
+    properties associated with each subject. The value of each property key 
+    is an array of objects representing the value of each property.</p>
+
+  <p>Blank node subjects are named using a string conforming to the <a href="http://www.dajobe.org/2004/01/turtle/#nodeID">nodeID production in Turtle</a>. For example:
+_:A1</p>
+  
+  <p>In general, a triple (subject <b>S</b>, predicate <b>P</b>, object <b>O</b>) is encoded in the following
+structure:</p>
+
+<pre>{ "S" : { "P" : [ O ] } }</pre>
+
+<p>The object of the triple <b>O</b> is represented as a further JSON object with the following
+keys:</p>
+
+<dl>
+  <dt>type</dt>
+  <dd>one of 'uri', 'literal' or 'bnode' (<b>required</b>
+    and must be lowercase)</dd>
+
+  <dt>value</dt>
+  <dd>the lexical value of the
+    object (<b>required</b>, full URIs should be used, not
+    qnames)</dd>
+  <dt>lang</dt>
+  <dd>the language of a literal value
+    (<b>optional</b> but if supplied it must not be
+    empty)</dd>
+  <dt>datatype</dt>
+  <dd>the datatype URI of the literal value (<b>optional</b>)</dd>
+</dl>
+
+  <p>The 'lang' and 'datatype' keys should only be used if the value of the 'type' key is "literal".</p>
+
+  <p>For example, the following triple:</p>
+  <pre>&lt;http://example.org/about&gt; &lt;http://purl.org/dc/elements/1.1/title&gt; "Anna's Homepage" .</pre>
+  
+  <p>can be encoded in RDF/JSON as:</p>
+
+  <pre>{
+  "http://example.org/about" : 
+    {
+       "http://purl.org/dc/elements/1.1/title": [ { "type" : "literal" , "value" : "Anna's Homepage" } ]
+    }
+}</pre>
+
+  <p>Here is an example of the RDF JSON specification in the format of
+    a <a href="http://json-schema.org/">JSON Schema</a>. The latest version can
+    also be found in the <a href="http://soapjr.org/schemas/RDF_JSON">schema
+      section</a> of the <a href="http://soapjr.org/">SOAPjr.org site</a>.</p>
+
+  <pre>{
+     "version":"0.3.0",
+     "id":"RDF-JSON",
+     "description":"RDF JSON definition",
+     "type":"object",
+     "properties":{
+     },
+     "additionalProperties":{
+         "type":"object",
+         "description":"subject (root object)",
+         "optional":"true",
+         "properties":{
+         },
+         "additionalProperties":{
+             "type":"array",
+             "description":"predicate (subject object)",
+             "optional":"true",
+             "items":{
+                 "type":"object",
+                 "description":"object (value array)",
+                 "properties":{
+                     "description":"content (value object)",
+                     "type":{
+                         "type":"string",
+                         "enum":["uri","bnode","literal"]
+                     },
+                     "value":{
+                         "type":"string"
+                     },
+                     "lang":{
+                         "optional":true,
+                         "description":"See ftp://ftp.isi.edu/in-notes/bcp/bcp47.txt",
+                         "type":"string"
+                     },
+                     "datatype":{
+                         "optional":true,
+                         "format":"uri",
+                         "type":"string"
+                     }
+                 }
+             }
+         }
+     }
+}
+</pre>
+
+  <h2>Examples</h2>
+
+  <p>The following RDF/XML:</p>
+  <pre>&lt;rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:foaf="http://xmlns.com/foaf/0.1/"
+  xmlns:dc="http://purl.org/dc/elements/1.1/"&gt;
+  &lt;rdf:Description rdf:about="http://example.org/about"&gt;
+    &lt;dc:creator&gt;Anna Wilder&lt;/dc:creator&gt;
+    &lt;dc:title xml:lang="en"&gt;Anna's Homepage&lt;/dc:title&gt;
+    &lt;foaf:maker rdf:nodeID="person" /&gt;
+  &lt;/rdf:Description&gt;
+  &lt;rdf:Description rdf:nodeID="person"&gt;
+    &lt;foaf:homepage rdf:resource="http://example.org/about" /&gt;
+    &lt;foaf:made rdf:resource="http://example.org/about" /&gt;
+    &lt;foaf:name&gt;Anna Wilder&lt;/foaf:name&gt;
+    &lt;foaf:firstName&gt;Anna&lt;/foaf:firstName&gt;
+    &lt;foaf:surname&gt;Wilder&lt;/foaf:surname&gt;
+    &lt;foaf:depiction rdf:resource="http://example.org/pic.jpg" /&gt;
+    &lt;foaf:nick&gt;wildling&lt;/foaf:nick&gt;
+    &lt;foaf:nick&gt;wilda&lt;/foaf:nick&gt;
+    &lt;foaf:mbox_sha1sum&gt;69e31bbcf58d432950127593e292a55975bc66fd&lt;/foaf:mbox_sha1sum&gt;
+  &lt;/rdf:Description&gt;
+&lt;/rdf:RDF&gt;</pre>
+  <p>Can be represented as the following RDF/JSON structure:</p><pre>{
+    "http://example.org/about" : {
+        "http://purl.org/dc/elements/1.1/creator" : [ { "value" : "Anna Wilder", "type" : "literal" } ],
+        "http://purl.org/dc/elements/1.1/title"   : [ { "value" : "Anna's Homepage", "type" : "literal", "lang" : "en" } ] ,
+        "http://xmlns.com/foaf/0.1/maker"         : [ { "value" : "_:person", "type" : "bnode" } ]
+    } ,
+ 
+    "_:person" : {
+        "http://xmlns.com/foaf/0.1/homepage"      : [ { "value" : "http://example.org/about", "type" : "uri" } ] ,
+        "http://xmlns.com/foaf/0.1/made"          : [ { "value" : "http://example.org/about", "type" : "uri" } ] ,
+        "http://xmlns.com/foaf/0.1/name"          : [ { "value" : "Anna Wilder", "type" : "literal" } ] ,
+        "http://xmlns.com/foaf/0.1/firstName"     : [ { "value" : "Anna", "type" : "literal" } ] ,
+        "http://xmlns.com/foaf/0.1/surname"       : [ { "value" : "Wilder", "type" : "literal" } ] , 
+        "http://xmlns.com/foaf/0.1/depiction"     : [ { "value" : "http://example.org/pic.jpg", "type" : "uri" } ] ,
+        "http://xmlns.com/foaf/0.1/nick"          : [ 
+                                                      { "type" : "literal", "value" : "wildling"} , 
+                                                      { "type" : "literal", "value" : "wilda" } 
+                                                    ] ,
+        "http://xmlns.com/foaf/0.1/mbox_sha1sum"  : [ {  "value" : "69e31bbcf58d432950127593e292a55975bc66fd", "type" : "literal" } ] 
+    }
+}</pre>
+
+  <h2>Serialisation Algorithm</h2>
+
+   <p>Refer to <a href="http://json.org/">http://json.org/</a> for definitions of
+     terminology</p>
+
+   <ol>
+     <li>Start a JSON object (called the root object)</li>
+     <li>Group all the triples by subject</li>
+     <li>For each subject:
+       <ol>
+         <li>Create a JSON object for the subject (called the subject
+           object)</li>
+         <li>Group all triples having the current subject by predicate</li>
+         <li>For each predicate:<ol>
+             <li>Create a JSON array (called the value array)</li>
+             <li>Select all triples having the current subject and current
+               predicate</li>
+             <li>For each value:
+               <ol>
+              <li>Create a JSON object (called the value object)</li>
+              
+              <li>Add a key/value pair to the value object with the key
+                being the string "value" and the value being the lexical
+                value of the triple value</li>
+              
+              <li>Add a key/value pair to
+                the value object with the key being the string "type" and
+                the value being one of "literal", "uri" or "bnode"
+                depending on the type of the triple's value</li>
+              #content
+              <li>If the triple's value is a plain literal and has a
+                language then add a key/value pair to the value object with the key being
+                the string "lang" and the value being the language token</li>
+              
+              <li>If the triple's value is a typed literal then add a
+                key/value pair to the value object with the key being the string
+                "datatype" and value being the URI of the datatype</li>
+              
+              <li>Push the value object onto the end of the value array</li>
+               </ol>
+             </li>
+             <li>Add a key/value pair to the subject object with the key being the predicate URI and the value being the value
+               array</li>
+           </ol>
+         </li>
+         <li>Add a key/value pair to the root object with the key being the
+           URI or blank node identifier of the subject and the value being the
+           subject object created in the previous step</li>
+       </ol>
+     </li>
+   </ol>
+   
+<!--
+   <h3>Further Examples</h3>
+
+  <p>RDF/XML can be converted into the specified RDF/JSON format by using
+    the <a href="http://convert.test.talis.com/">http://convert.test.talis.com</a>
+    web service.</p>
+-->
+  <h2>Publishing RDF/JSON on the web</h2>
+  
+  <p>If doing content-negotiation, respond to, and send the content-type
+    as <code>application/json</code>. An empty graph (ie: no triples) should
+    be served as an empty object: <code>{}</code>.</p>
+
+  <h2>References</h2>
+
+  <ol>
+    <li><a href="http://www.ietf.org/rfc/rfc3066.txt">Tags
+        for the Identification of
+        Languages</a></li>
+    <li><a href="http://docs.api.talis.com/system/errors/NodeNotFound?suri=wuid:gx:785d2e15fb97c7a4">RDF JSON
+        Brainstorming</a></li>
+    <li><a href="http://json.org/">http://json.org/</a></li>
+    <li><a href="http://www.ietf.org/rfc/rfc3986.txt">Uniform
+        Resource Identifier (URI): Generic
+        Syntax</a>
+    </li>
+  </ol>
+  </div>
+</body>
+</html>

Added: websites/staging/jena/trunk/content/documentation/io/rdf-output.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/io/rdf-output.html (added)
+++ websites/staging/jena/trunk/content/documentation/io/rdf-output.html Tue Jan  1 15:28:10 2013
@@ -0,0 +1,257 @@
+<!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="/css/jena.css" rel="stylesheet" type="text/css">
+
+  <title>Apache Jena - RDF Output</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
+  <script src="/js/jena-navigation.js" type="text/javascript"></script>
+</head>
+
+<body>
+  <div id="header">
+    <div id="logoblock">
+    <img alt="Apache Jena" src="/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="/index.html" id="home_menu">Home</a></li>
+        <li class="round-top-8"><a class="round-top-8" href="/help_and_support/index.html">Support</a></li>
+        <li class="round-top-8"><a class="round-top-8" href="/getting_started/index.html">Getting started</a></li>
+        <li class="round-top-8"><a class="round-top-8" href="/tutorials/index.html">Tutorials</a></li>
+        <li class="round-top-8"><a class="round-top-8" href="/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="/index.html">Home</a></li>
+<li><a href="/download/index.html">Downloads</a></li>
+<li><a href="/help_and_support/index.html">Help and support</a></li>
+<li><a href="/help_and_support/bugs_and_suggestions.html">Report a bug</a></li>
+<li><a href="/about_jena/roadmap.html">Roadmap</a></li>
+<li><a href="/getting_involved/index.html">Getting involved</a></li>
+<li><a href="/documentation/">Documentation</a></li>
+</ul>
+<h1 id="about-jena">About Jena</h1>
+<ul>
+<li><a href="/index.html">Home</a></li>
+<li><a href="/about_jena/about.html">About Jena</a></li>
+<li><a href="/about_jena/architecture.html">Architecture</a></li>
+<li><a href="/about_jena/roadmap.html">Roadmap</a></li>
+<li><a href="/about_jena/team.html">Project team</a></li>
+<li><a href="/about_jena/contributions.html">Related projects</a></li>
+</ul>
+<h1 id="download">Download</h1>
+<ul>
+<li><a href="/download/index.html">Downloading Jena</a></li>
+<li><a href="/download/maven.html">Using Maven</a></li>
+<li><a href="/download/osgi.html">Using OSGi</a></li>
+</ul>
+<h1 id="help-and-support">Help and support</h1>
+<ul>
+<li><a href="/help_and_support/index.html">Getting help</a></li>
+<li><a href="/help_and_support/bugs_and_suggestions.html">Bugs and suggestions</a></li>
+</ul>
+<h1 id="getting-started">Getting Started</h1>
+<ul>
+<li><a href="/getting_started/index.html">A first Jena project</a></li>
+<li><a href="/getting_started/rdf_api.html">RDF API overview</a></li>
+<li><a href="/getting_started/sparql.html">Querying RDF with SPARQL</a></li>
+<li><a href="/getting_started/fuseki.html">Serving RDF over HTTP</a></li>
+<li><a href="/getting_started/tell_me_how.html">Tell me how to ...</a></li>
+</ul>
+<h1 id="tutorials">Tutorials</h1>
+<ul>
+<li><a href="/tutorials/index.html">Tutorials index</a></li>
+<li><a href="/tutorials/rdf_api.html">RDF tutorial</a></li>
+<li><a href="/tutorials/sparql.html">SPARQL queries</a></li>
+<li><a href="/tutorials/using_jena_with_eclipse.html">Using Jena with Eclipse</a></li>
+</ul>
+<h1 id="documentation">Documentation</h1>
+<ul>
+<li><a href="/documentation/index.html">Overview</a></li>
+<li><a href="/documentation/javadoc/">Javadoc</a></li>
+<li><a href="/documentation/rdf/index.html">RDF</a></li>
+<li><a href="/documentation/io/index.html">I/O</a></li>
+<li><a href="/documentation/query/index.html">SPARQL (ARQ)</a><ul>
+<li><a href="/documentation/query/app_api.html">Application API</a></li>
+<li><a href="/documentation/query/cmds.html">Command line utilities</a></li>
+</ul>
+</li>
+<li><a href="/documentation/tdb/index.html">TDB</a><ul>
+<li><a href="/documentation/tdb/tdb_transactions.html">API for Transactions</a></li>
+<li><a href="/documentation/tdb/assembler.html">Dataset Assembler</a></li>
+</ul>
+</li>
+<li><a href="/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
+<li><a href="/documentation/ontology/index.html">Ontology</a></li>
+<li><a href="/documentation/inference/index.html">Inference</a></li>
+<li><a href="/documentation/assembler/index.html">Assembler</a><ul>
+<li><a href="/documentation/assembler/assembler-howto.html">Assembler how-to</a></li>
+<li><a href="/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
+</ul>
+</li>
+<li><a href="/documentation/sdb/index.html">SDB</a></li>
+<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
+<li><a href="/documentation/notes/index.html">Notes</a><ul>
+<li><a href="/documentation/notes/concurrency-howto.html">Concurrency how-to</a></li>
+<li><a href="/documentation/notes/event-handler-howto.html">Event handler how-to</a></li>
+<li><a href="/documentation/notes/file-manager.html">File manager how-to</a></li>
+<li><a href="/documentation/notes/model-factory.html">Model factory how-to</a></li>
+<li><a href="/documentation/notes/rdf-frames.html">RDF frames</a></li>
+<li><a href="/documentation/notes/reification.html">Reification how-to</a></li>
+<li><a href="/documentation/notes/typed-literals.html">Typed literals how-to</a></li>
+<li><a href="/documentation/notes/iri.html">Support for IRI's</a></li>
+<li><a href="/documentation/notes/sse.html">SSE</a></li>
+</ul>
+</li>
+<li><a href="/documentation/tools/index.html">Tools</a><ul>
+<li><a href="/documentation/tools/schemagen.html">schemagen</a></li>
+<li><a href="/documentation/tools/eyeball-getting-started.html">eyeball</a></li>
+</ul>
+</li>
+</ul>
+<h1 id="getting-involved">Getting Involved</h1>
+<ul>
+<li><a href="/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">RDF Output</h1>
+    <p>See the <a href="arp_howto.html">Jena RDF/XML How-To</a> for details of RDF/XML and
+RDF/XML-ABBREV configuration.</p>
+<h2 id="advanced-turtle-output">Advanced Turtle Output</h2>
+<p>The Turtle pretty printer (which is used by default)  and the Turtle plain
+writer provide a number of properties to control their output.  The
+properties all start: <code>http://jena.hpl.hp.com/n3/properties/</code>. The
+name used can be the full name, starting with this string, or the
+short form of just the name below.  All values are strings; they
+may be interpreted as integer, boolean or string as defined below.</p>
+<h3 id="properties-to-control-turtle-output">Properties to Control Turtle Output</h3>
+<table>
+<thead>
+<tr>
+<th>Property Name</th>
+<th>Description</th>
+<th>Default</th>
+<th>Legal Values of String</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><code>minGap</code></td>
+<td>Minimum gap between items on a line</td>
+<td>1</td>
+<td>positive integer</td>
+</tr>
+<tr>
+<td><code>objectLists</code></td>
+<td>Print object lists as comma separated lists</td>
+<td><code>true</code></td>
+<td>boolean <code>"true"</code> or <code>"false"</code></td>
+</tr>
+<tr>
+<td><code>subjectColumn</code></td>
+<td>If the subject is shorter than this value, the first property may go on the same line.</td>
+<td><code>indentProperty</code></td>
+<td>positive integer</td>
+</tr>
+<tr>
+<td><code>propertyColumn</code></td>
+<td>Width of the property column</td>
+<td>8</td>
+<td>positive integer</td>
+</tr>
+<tr>
+<td><code>indentProperty</code></td>
+<td>Width to indent properties</td>
+<td>6</td>
+<td>positive integer</td>
+</tr>
+<tr>
+<td><code>widePropertyLen</code></td>
+<td>Width of the property column</td>
+<td>20</td>
+<td>integer, greater than <code>propertyColumn</code></td>
+</tr>
+<tr>
+<td><code>abbrevBaseURI</code></td>
+<td>Control whether to use abbreviations <code>&lt;&gt;</code> or <code>&lt;#&gt;</code></td>
+<td>true</td>
+<td>boolean <code>"true"</code> or <code>"false"</code></td>
+</tr>
+<tr>
+<td><code>usePropertySymbols</code></td>
+<td>Control whether to use <code>"a"</code>, <code>"="</code> and <code>"=\&gt;"</code> in output</td>
+<td>true</td>
+<td>boolean <code>"true"</code> or <code>"false"</code></td>
+</tr>
+<tr>
+<td><code>useTripleQuotedStrings</code></td>
+<td>Allow the use of <code>"""</code> to delimit long strings</td>
+<td>true</td>
+<td>boolean <code>"true"</code> or <code>"false"</code></td>
+</tr>
+<tr>
+<td><code>useDoubles</code></td>
+<td>Allow the use doubles as 123.456</td>
+<td>true</td>
+<td>boolean <code>"true"</code> or <code>"false"</code></td>
+</tr>
+</tbody>
+</table>
+<p>Notes:</p>
+<ol>
+<li>Only the Turtle pretty printer print object lists as comma-separated lists.</li>
+</ol>
+  </div>
+
+  <div id="footer">
+    <div class="copyright">
+      <p>
+        Copyright &copy; 2011&ndash;12 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 Jena, Jena, the Apache Jena project logo,
+        Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Modified: websites/staging/jena/trunk/content/documentation/javadoc/index.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/javadoc/index.html (original)
+++ websites/staging/jena/trunk/content/documentation/javadoc/index.html Tue Jan  1 15:28:10 2013
@@ -98,6 +98,7 @@
 <li><a href="/documentation/index.html">Overview</a></li>
 <li><a href="/documentation/javadoc/">Javadoc</a></li>
 <li><a href="/documentation/rdf/index.html">RDF</a></li>
+<li><a href="/documentation/io/index.html">I/O</a></li>
 <li><a href="/documentation/query/index.html">SPARQL (ARQ)</a><ul>
 <li><a href="/documentation/query/app_api.html">Application API</a></li>
 <li><a href="/documentation/query/cmds.html">Command line utilities</a></li>
@@ -109,8 +110,6 @@
 </ul>
 </li>
 <li><a href="/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
-<li><a href="/documentation/sdb/index.html">SDB</a></li>
-<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
 <li><a href="/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/documentation/inference/index.html">Inference</a></li>
 <li><a href="/documentation/assembler/index.html">Assembler</a><ul>
@@ -118,11 +117,8 @@
 <li><a href="/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
-<li><a href="/documentation/io/index.html">I/O</a><ul>
-<li><a href="/documentation/io/iohowto.html">I/O how-to</a></li>
-<li><a href="/documentation/io/riot.html">RIOT</a></li>
-</ul>
-</li>
+<li><a href="/documentation/sdb/index.html">SDB</a></li>
+<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
 <li><a href="/documentation/notes/index.html">Notes</a><ul>
 <li><a href="/documentation/notes/concurrency-howto.html">Concurrency how-to</a></li>
 <li><a href="/documentation/notes/event-handler-howto.html">Event handler how-to</a></li>

Modified: websites/staging/jena/trunk/content/documentation/larq/index.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/larq/index.html (original)
+++ websites/staging/jena/trunk/content/documentation/larq/index.html Tue Jan  1 15:28:10 2013
@@ -98,6 +98,7 @@
 <li><a href="/documentation/index.html">Overview</a></li>
 <li><a href="/documentation/javadoc/">Javadoc</a></li>
 <li><a href="/documentation/rdf/index.html">RDF</a></li>
+<li><a href="/documentation/io/index.html">I/O</a></li>
 <li><a href="/documentation/query/index.html">SPARQL (ARQ)</a><ul>
 <li><a href="/documentation/query/app_api.html">Application API</a></li>
 <li><a href="/documentation/query/cmds.html">Command line utilities</a></li>
@@ -109,8 +110,6 @@
 </ul>
 </li>
 <li><a href="/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
-<li><a href="/documentation/sdb/index.html">SDB</a></li>
-<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
 <li><a href="/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/documentation/inference/index.html">Inference</a></li>
 <li><a href="/documentation/assembler/index.html">Assembler</a><ul>
@@ -118,11 +117,8 @@
 <li><a href="/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
-<li><a href="/documentation/io/index.html">I/O</a><ul>
-<li><a href="/documentation/io/iohowto.html">I/O how-to</a></li>
-<li><a href="/documentation/io/riot.html">RIOT</a></li>
-</ul>
-</li>
+<li><a href="/documentation/sdb/index.html">SDB</a></li>
+<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
 <li><a href="/documentation/notes/index.html">Notes</a><ul>
 <li><a href="/documentation/notes/concurrency-howto.html">Concurrency how-to</a></li>
 <li><a href="/documentation/notes/event-handler-howto.html">Event handler how-to</a></li>

Modified: websites/staging/jena/trunk/content/documentation/notes/concurrency-howto.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/notes/concurrency-howto.html (original)
+++ websites/staging/jena/trunk/content/documentation/notes/concurrency-howto.html Tue Jan  1 15:28:10 2013
@@ -98,6 +98,7 @@
 <li><a href="/documentation/index.html">Overview</a></li>
 <li><a href="/documentation/javadoc/">Javadoc</a></li>
 <li><a href="/documentation/rdf/index.html">RDF</a></li>
+<li><a href="/documentation/io/index.html">I/O</a></li>
 <li><a href="/documentation/query/index.html">SPARQL (ARQ)</a><ul>
 <li><a href="/documentation/query/app_api.html">Application API</a></li>
 <li><a href="/documentation/query/cmds.html">Command line utilities</a></li>
@@ -109,8 +110,6 @@
 </ul>
 </li>
 <li><a href="/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
-<li><a href="/documentation/sdb/index.html">SDB</a></li>
-<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
 <li><a href="/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/documentation/inference/index.html">Inference</a></li>
 <li><a href="/documentation/assembler/index.html">Assembler</a><ul>
@@ -118,11 +117,8 @@
 <li><a href="/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
-<li><a href="/documentation/io/index.html">I/O</a><ul>
-<li><a href="/documentation/io/iohowto.html">I/O how-to</a></li>
-<li><a href="/documentation/io/riot.html">RIOT</a></li>
-</ul>
-</li>
+<li><a href="/documentation/sdb/index.html">SDB</a></li>
+<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
 <li><a href="/documentation/notes/index.html">Notes</a><ul>
 <li><a href="/documentation/notes/concurrency-howto.html">Concurrency how-to</a></li>
 <li><a href="/documentation/notes/event-handler-howto.html">Event handler how-to</a></li>

Modified: websites/staging/jena/trunk/content/documentation/notes/event-handler-howto.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/notes/event-handler-howto.html (original)
+++ websites/staging/jena/trunk/content/documentation/notes/event-handler-howto.html Tue Jan  1 15:28:10 2013
@@ -98,6 +98,7 @@
 <li><a href="/documentation/index.html">Overview</a></li>
 <li><a href="/documentation/javadoc/">Javadoc</a></li>
 <li><a href="/documentation/rdf/index.html">RDF</a></li>
+<li><a href="/documentation/io/index.html">I/O</a></li>
 <li><a href="/documentation/query/index.html">SPARQL (ARQ)</a><ul>
 <li><a href="/documentation/query/app_api.html">Application API</a></li>
 <li><a href="/documentation/query/cmds.html">Command line utilities</a></li>
@@ -109,8 +110,6 @@
 </ul>
 </li>
 <li><a href="/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
-<li><a href="/documentation/sdb/index.html">SDB</a></li>
-<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
 <li><a href="/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/documentation/inference/index.html">Inference</a></li>
 <li><a href="/documentation/assembler/index.html">Assembler</a><ul>
@@ -118,11 +117,8 @@
 <li><a href="/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
-<li><a href="/documentation/io/index.html">I/O</a><ul>
-<li><a href="/documentation/io/iohowto.html">I/O how-to</a></li>
-<li><a href="/documentation/io/riot.html">RIOT</a></li>
-</ul>
-</li>
+<li><a href="/documentation/sdb/index.html">SDB</a></li>
+<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
 <li><a href="/documentation/notes/index.html">Notes</a><ul>
 <li><a href="/documentation/notes/concurrency-howto.html">Concurrency how-to</a></li>
 <li><a href="/documentation/notes/event-handler-howto.html">Event handler how-to</a></li>

Modified: websites/staging/jena/trunk/content/documentation/notes/file-manager.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/notes/file-manager.html (original)
+++ websites/staging/jena/trunk/content/documentation/notes/file-manager.html Tue Jan  1 15:28:10 2013
@@ -98,6 +98,7 @@
 <li><a href="/documentation/index.html">Overview</a></li>
 <li><a href="/documentation/javadoc/">Javadoc</a></li>
 <li><a href="/documentation/rdf/index.html">RDF</a></li>
+<li><a href="/documentation/io/index.html">I/O</a></li>
 <li><a href="/documentation/query/index.html">SPARQL (ARQ)</a><ul>
 <li><a href="/documentation/query/app_api.html">Application API</a></li>
 <li><a href="/documentation/query/cmds.html">Command line utilities</a></li>
@@ -109,8 +110,6 @@
 </ul>
 </li>
 <li><a href="/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
-<li><a href="/documentation/sdb/index.html">SDB</a></li>
-<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
 <li><a href="/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/documentation/inference/index.html">Inference</a></li>
 <li><a href="/documentation/assembler/index.html">Assembler</a><ul>
@@ -118,11 +117,8 @@
 <li><a href="/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
-<li><a href="/documentation/io/index.html">I/O</a><ul>
-<li><a href="/documentation/io/iohowto.html">I/O how-to</a></li>
-<li><a href="/documentation/io/riot.html">RIOT</a></li>
-</ul>
-</li>
+<li><a href="/documentation/sdb/index.html">SDB</a></li>
+<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
 <li><a href="/documentation/notes/index.html">Notes</a><ul>
 <li><a href="/documentation/notes/concurrency-howto.html">Concurrency how-to</a></li>
 <li><a href="/documentation/notes/event-handler-howto.html">Event handler how-to</a></li>

Modified: websites/staging/jena/trunk/content/documentation/notes/index.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/notes/index.html (original)
+++ websites/staging/jena/trunk/content/documentation/notes/index.html Tue Jan  1 15:28:10 2013
@@ -98,6 +98,7 @@
 <li><a href="/documentation/index.html">Overview</a></li>
 <li><a href="/documentation/javadoc/">Javadoc</a></li>
 <li><a href="/documentation/rdf/index.html">RDF</a></li>
+<li><a href="/documentation/io/index.html">I/O</a></li>
 <li><a href="/documentation/query/index.html">SPARQL (ARQ)</a><ul>
 <li><a href="/documentation/query/app_api.html">Application API</a></li>
 <li><a href="/documentation/query/cmds.html">Command line utilities</a></li>
@@ -109,8 +110,6 @@
 </ul>
 </li>
 <li><a href="/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
-<li><a href="/documentation/sdb/index.html">SDB</a></li>
-<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
 <li><a href="/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/documentation/inference/index.html">Inference</a></li>
 <li><a href="/documentation/assembler/index.html">Assembler</a><ul>
@@ -118,11 +117,8 @@
 <li><a href="/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
-<li><a href="/documentation/io/index.html">I/O</a><ul>
-<li><a href="/documentation/io/iohowto.html">I/O how-to</a></li>
-<li><a href="/documentation/io/riot.html">RIOT</a></li>
-</ul>
-</li>
+<li><a href="/documentation/sdb/index.html">SDB</a></li>
+<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
 <li><a href="/documentation/notes/index.html">Notes</a><ul>
 <li><a href="/documentation/notes/concurrency-howto.html">Concurrency how-to</a></li>
 <li><a href="/documentation/notes/event-handler-howto.html">Event handler how-to</a></li>

Modified: websites/staging/jena/trunk/content/documentation/notes/iri.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/notes/iri.html (original)
+++ websites/staging/jena/trunk/content/documentation/notes/iri.html Tue Jan  1 15:28:10 2013
@@ -98,6 +98,7 @@
 <li><a href="/documentation/index.html">Overview</a></li>
 <li><a href="/documentation/javadoc/">Javadoc</a></li>
 <li><a href="/documentation/rdf/index.html">RDF</a></li>
+<li><a href="/documentation/io/index.html">I/O</a></li>
 <li><a href="/documentation/query/index.html">SPARQL (ARQ)</a><ul>
 <li><a href="/documentation/query/app_api.html">Application API</a></li>
 <li><a href="/documentation/query/cmds.html">Command line utilities</a></li>
@@ -109,8 +110,6 @@
 </ul>
 </li>
 <li><a href="/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
-<li><a href="/documentation/sdb/index.html">SDB</a></li>
-<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
 <li><a href="/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/documentation/inference/index.html">Inference</a></li>
 <li><a href="/documentation/assembler/index.html">Assembler</a><ul>
@@ -118,11 +117,8 @@
 <li><a href="/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
-<li><a href="/documentation/io/index.html">I/O</a><ul>
-<li><a href="/documentation/io/iohowto.html">I/O how-to</a></li>
-<li><a href="/documentation/io/riot.html">RIOT</a></li>
-</ul>
-</li>
+<li><a href="/documentation/sdb/index.html">SDB</a></li>
+<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
 <li><a href="/documentation/notes/index.html">Notes</a><ul>
 <li><a href="/documentation/notes/concurrency-howto.html">Concurrency how-to</a></li>
 <li><a href="/documentation/notes/event-handler-howto.html">Event handler how-to</a></li>

Modified: websites/staging/jena/trunk/content/documentation/notes/jena-internals.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/notes/jena-internals.html (original)
+++ websites/staging/jena/trunk/content/documentation/notes/jena-internals.html Tue Jan  1 15:28:10 2013
@@ -98,6 +98,7 @@
 <li><a href="/documentation/index.html">Overview</a></li>
 <li><a href="/documentation/javadoc/">Javadoc</a></li>
 <li><a href="/documentation/rdf/index.html">RDF</a></li>
+<li><a href="/documentation/io/index.html">I/O</a></li>
 <li><a href="/documentation/query/index.html">SPARQL (ARQ)</a><ul>
 <li><a href="/documentation/query/app_api.html">Application API</a></li>
 <li><a href="/documentation/query/cmds.html">Command line utilities</a></li>
@@ -109,8 +110,6 @@
 </ul>
 </li>
 <li><a href="/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
-<li><a href="/documentation/sdb/index.html">SDB</a></li>
-<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
 <li><a href="/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/documentation/inference/index.html">Inference</a></li>
 <li><a href="/documentation/assembler/index.html">Assembler</a><ul>
@@ -118,11 +117,8 @@
 <li><a href="/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
-<li><a href="/documentation/io/index.html">I/O</a><ul>
-<li><a href="/documentation/io/iohowto.html">I/O how-to</a></li>
-<li><a href="/documentation/io/riot.html">RIOT</a></li>
-</ul>
-</li>
+<li><a href="/documentation/sdb/index.html">SDB</a></li>
+<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
 <li><a href="/documentation/notes/index.html">Notes</a><ul>
 <li><a href="/documentation/notes/concurrency-howto.html">Concurrency how-to</a></li>
 <li><a href="/documentation/notes/event-handler-howto.html">Event handler how-to</a></li>

Modified: websites/staging/jena/trunk/content/documentation/notes/model-factory.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/notes/model-factory.html (original)
+++ websites/staging/jena/trunk/content/documentation/notes/model-factory.html Tue Jan  1 15:28:10 2013
@@ -98,6 +98,7 @@
 <li><a href="/documentation/index.html">Overview</a></li>
 <li><a href="/documentation/javadoc/">Javadoc</a></li>
 <li><a href="/documentation/rdf/index.html">RDF</a></li>
+<li><a href="/documentation/io/index.html">I/O</a></li>
 <li><a href="/documentation/query/index.html">SPARQL (ARQ)</a><ul>
 <li><a href="/documentation/query/app_api.html">Application API</a></li>
 <li><a href="/documentation/query/cmds.html">Command line utilities</a></li>
@@ -109,8 +110,6 @@
 </ul>
 </li>
 <li><a href="/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
-<li><a href="/documentation/sdb/index.html">SDB</a></li>
-<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
 <li><a href="/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/documentation/inference/index.html">Inference</a></li>
 <li><a href="/documentation/assembler/index.html">Assembler</a><ul>
@@ -118,11 +117,8 @@
 <li><a href="/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
-<li><a href="/documentation/io/index.html">I/O</a><ul>
-<li><a href="/documentation/io/iohowto.html">I/O how-to</a></li>
-<li><a href="/documentation/io/riot.html">RIOT</a></li>
-</ul>
-</li>
+<li><a href="/documentation/sdb/index.html">SDB</a></li>
+<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
 <li><a href="/documentation/notes/index.html">Notes</a><ul>
 <li><a href="/documentation/notes/concurrency-howto.html">Concurrency how-to</a></li>
 <li><a href="/documentation/notes/event-handler-howto.html">Event handler how-to</a></li>
@@ -162,14 +158,7 @@
 different kinds of <code>Model</code> and ways of constructing them. This note
 describes the Jena <code>ModelFactory</code>, a one-stop shop for
 creating Jena models. <code>ModelFactory</code> lives in Java package
-<code>com.hp.hpl.jena.rdf.model</code>.
-Most of <code>ModelFactory</code> methods have been around for a while now,
-but Jena 2.5's ModelFactory contains methods that use the
-<code>Assembler</code> API which appeared in Jena.4, which allows models to
-be created according to RDF descriptions that can be
-programmatically constructed or read in from external resources
-such as configuration files. (This API replaces the old <code>ModelSpec</code>
-API, which had proved unsatisfactory.)</p>
+<code>com.hp.hpl.jena.rdf.model</code>.</p>
 <p>This note is an introduction, not an exhaustive description. As
 usual consult the Javadoc for details of the methods and classes to
 use.</p>
@@ -178,85 +167,6 @@ use.</p>
 <code>ModelFactory.createDefaultModel()</code>. This [by default] delivers a
 plain RDF model, stored in-memory, that does no inference and has
 no special ontology interface.</p>
-<h2 id="modelmakers">ModelMakers</h2>
-<p>Plain models can be given names which allows them to be "saved" and
-looked up by name later. This is handled by implementations of the
-interface <code>ModelMaker</code>; each <code>ModelMaker</code> produces Models of the
-same kind. The simplest kind of <code>ModelMaker</code> is a memory model
-maker, which you get by calling
-<code>ModelFactory.createMemModelMaker()</code>. The methods you'd want to use
-to start with on a ModelMaker are:</p>
-<ul>
-<li>
-<p><code>createModel(String)</code>: create a model with the given name in the
-ModelMaker. If a model with that name already exists, then that
-model is used instead.</p>
-</li>
-<li>
-<p><code>openModel(String)</code>: open an existing model with the given name. If
-no such model exists, create a new empty one and give it that name.
-[createModel(String) and openModel(String) behave in the same way,
-but each has a two-argument form for which the behaviour is
-different. Use whichever one best fits your intention.]</p>
-</li>
-<li>
-<p><code>createModel()</code>: create a fresh anonymous model.</p>
-</li>
-<li>
-<p><code>getModel()</code>: each <code>ModelMaker</code> has a <em>default model</em>; this method
-returns that model.</p>
-</li>
-</ul>
-<p>There are other methods, for removing models, additional control
-over create <em>vs</em> open, closing the maker, and looking names up; for
-those consult the
-<a href="/documentation/javadoc/jena/com/hp/hpl/jena/rdf/model/ModelMaker.html">ModelMaker JavaDoc</a>.</p>
-<h3 id="file-based-models">File-based models</h3>
-<p>The method <code>ModelFactory.createFileModelMaker(String)</code> returns a
-<code>ModelMaker</code> which attaches models to filing-system files. The
-<code>String</code> argument is the <em>fileBase</em>. When a file-ModelMaker opens a
-file, it reads it from a file in the directory named by the
-fileBase; when the model is closed (and <em>only</em> then, in the current
-implementation), the contents of the model are written back to the
-file.</p>
-<p>Because the names of models in a modelMaker can be arbitrary
-character strings, in particular URIs, they are translated slightly
-to avoid confusion with significant characters of common filing
-systems. In the current implementation,</p>
-<ul>
-<li>colon : is converted to \_C</li>
-<li>slash \/ is converted to \_S</li>
-<li>underbar _ is converted to \_U</li>
-</ul>
-<h2 id="reification-styles">Reification styles</h2>
-<p>Jena models have different <em>reification styles</em>, which are
-described in more detail in the
-<a href="reification.html">reification howto</a>. <code>ModelFactory</code> provides
-constants for those styles:</p>
-<ul>
-<li><code>ModelFactory.Standard</code></li>
-<li><code>ModelFactory.Convenient</code></li>
-<li><code>ModelFactory.Minimal</code></li>
-</ul>
-<p>And methods corresponding to those already discussed:</p>
-<ul>
-<li>
-<p><code>ModelFactory.createDefaultModel(style)</code> creates a default model
-with the specified reification style.</p>
-</li>
-<li>
-<p><code>ModelFactory.createMemModelMaker(style)</code> creates a ModelMaker that
-creates memory models with the specified reification style.</p>
-</li>
-<li>
-<p><code>ModelFactory.createFileModelMaker(root,style)</code>
-creates a ModelMaker that creates file-associated models with the
-specified reification style.</p>
-</li>
-</ul>
-<p>Reification styles also appear in other Modelfactory methods,
-although they are not required. We shall not discuss them further
-in this document; consult the Javadoc for appropriate details.</p>
 <h2 id="database-model-creation">Database model creation</h2>
 <p><em>Note:</em> this section previously referred to creating database models
 with RDB, a now obsolete Jena features. For methods of creating models
@@ -358,9 +268,10 @@ the full OWL Lite inference</p>
 </li>
 </ul>
 <h2 id="creating-models-from-assembler-descriptions">Creating models from Assembler descriptions</h2>
-<p>A new feature of Jena since Jena 2.4 is the use of
-<em>assembler descriptions</em>, documented in the
-<a href="../assembler/assembler-howto.html">assembler howto</a>. Access to the
+<p>A model can be built from a description of the required model.
+This is documented in the
+<a href="../assembler/assembler-howto.html">assembler howto</a>. 
+Access to the
 assembler system for model creation is provided by three
 ModelFactory methods:</p>
 <ul>
@@ -384,26 +295,64 @@ Assemblers can construct other things as
 Assembler system is user-extensible: see the howto for details.</p>
 </li>
 </ul>
+<h3 id="file-based-models">File-based models</h3>
+<p>The method <code>ModelFactory.createFileModelMaker(String)</code> returns a
+<code>ModelMaker</code> which attaches models to filing-system files. The
+<code>String</code> argument is the <em>fileBase</em>. When a file-ModelMaker opens a
+file, it reads it from a file in the directory named by the
+fileBase; when the model is closed (and <em>only</em> then, in the current
+implementation), the contents of the model are written back to the
+file.</p>
+<p>Because the names of models in a modelMaker can be arbitrary
+character strings, in particular URIs, they are translated slightly
+to avoid confusion with significant characters of common filing
+systems. In the current implementation,</p>
+<ul>
+<li>colon : is converted to \_C</li>
+<li>slash \/ is converted to \_S</li>
+<li>underbar _ is converted to \_U</li>
+</ul>
+<h2 id="modelmakers">ModelMakers</h2>
+<p>Plain models can be given names which allows them to be "saved" and
+looked up by name later. This is handled by implementations of the
+interface <code>ModelMaker</code>; each <code>ModelMaker</code> produces Models of the
+same kind. The simplest kind of <code>ModelMaker</code> is a memory model
+maker, which you get by calling
+<code>ModelFactory.createMemModelMaker()</code>. The methods you'd want to use
+to start with on a ModelMaker are:</p>
+<ul>
+<li>
+<p><code>createModel(String)</code>: create a model with the given name in the
+ModelMaker. If a model with that name already exists, then that
+model is used instead.</p>
+</li>
+<li>
+<p><code>openModel(String)</code>: open an existing model with the given name. If
+no such model exists, create a new empty one and give it that name.
+[createModel(String) and openModel(String) behave in the same way,
+but each has a two-argument form for which the behaviour is
+different. Use whichever one best fits your intention.]</p>
+</li>
+<li>
+<p><code>createModel()</code>: create a fresh anonymous model.</p>
+</li>
+<li>
+<p><code>getModel()</code>: each <code>ModelMaker</code> has a <em>default model</em>; this method
+returns that model.</p>
+</li>
+</ul>
+<p>There are other methods, for removing models, additional control
+over create <em>vs</em> open, closing the maker, and looking names up; for
+those consult the
+<a href="/documentation/javadoc/jena/com/hp/hpl/jena/rdf/model/ModelMaker.html">ModelMaker JavaDoc</a>.</p>
 <h2 id="miscellany">Miscellany</h2>
 <p>Finally, <code>ModelFactory</code> contains a collection of methods for some
 special cases not conveniently dealt with elsewhere.</p>
-<ul>
-<li>
 <p><code>createModelForGraph(Graph g)</code> is used when an advanced user with
 access to the Jena SPI has constructed or obtained a <code>Graph</code> and
 wishes to present it as a model. This method wraps the graph up as
 a plain model. Alterations to the graph are visible in the model,
 and <em>vice versa</em>.</p>
-</li>
-<li>
-<p><code>withHiddenStatements(Model)</code> returns a new Model in which any
-reification quadlets (see the reification howto) that may be hidden
-in the base model are exposed in the result. It may return the base
-model, if it does not hide quadlets. This is useful if you want to
-see all the statements of the model as they will appear in a
-serialisation.</p>
-</li>
-</ul>
   </div>
 
   <div id="footer">

Modified: websites/staging/jena/trunk/content/documentation/notes/rdf-frames.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/notes/rdf-frames.html (original)
+++ websites/staging/jena/trunk/content/documentation/notes/rdf-frames.html Tue Jan  1 15:28:10 2013
@@ -98,6 +98,7 @@
 <li><a href="/documentation/index.html">Overview</a></li>
 <li><a href="/documentation/javadoc/">Javadoc</a></li>
 <li><a href="/documentation/rdf/index.html">RDF</a></li>
+<li><a href="/documentation/io/index.html">I/O</a></li>
 <li><a href="/documentation/query/index.html">SPARQL (ARQ)</a><ul>
 <li><a href="/documentation/query/app_api.html">Application API</a></li>
 <li><a href="/documentation/query/cmds.html">Command line utilities</a></li>
@@ -109,8 +110,6 @@
 </ul>
 </li>
 <li><a href="/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
-<li><a href="/documentation/sdb/index.html">SDB</a></li>
-<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
 <li><a href="/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/documentation/inference/index.html">Inference</a></li>
 <li><a href="/documentation/assembler/index.html">Assembler</a><ul>
@@ -118,11 +117,8 @@
 <li><a href="/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
-<li><a href="/documentation/io/index.html">I/O</a><ul>
-<li><a href="/documentation/io/iohowto.html">I/O how-to</a></li>
-<li><a href="/documentation/io/riot.html">RIOT</a></li>
-</ul>
-</li>
+<li><a href="/documentation/sdb/index.html">SDB</a></li>
+<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
 <li><a href="/documentation/notes/index.html">Notes</a><ul>
 <li><a href="/documentation/notes/concurrency-howto.html">Concurrency how-to</a></li>
 <li><a href="/documentation/notes/event-handler-howto.html">Event handler how-to</a></li>

Modified: websites/staging/jena/trunk/content/documentation/notes/reification.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/notes/reification.html (original)
+++ websites/staging/jena/trunk/content/documentation/notes/reification.html Tue Jan  1 15:28:10 2013
@@ -98,6 +98,7 @@
 <li><a href="/documentation/index.html">Overview</a></li>
 <li><a href="/documentation/javadoc/">Javadoc</a></li>
 <li><a href="/documentation/rdf/index.html">RDF</a></li>
+<li><a href="/documentation/io/index.html">I/O</a></li>
 <li><a href="/documentation/query/index.html">SPARQL (ARQ)</a><ul>
 <li><a href="/documentation/query/app_api.html">Application API</a></li>
 <li><a href="/documentation/query/cmds.html">Command line utilities</a></li>
@@ -109,8 +110,6 @@
 </ul>
 </li>
 <li><a href="/documentation/serving_data/index.html">Fuseki: Serving Data</a></li>
-<li><a href="/documentation/sdb/index.html">SDB</a></li>
-<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
 <li><a href="/documentation/ontology/index.html">Ontology</a></li>
 <li><a href="/documentation/inference/index.html">Inference</a></li>
 <li><a href="/documentation/assembler/index.html">Assembler</a><ul>
@@ -118,11 +117,8 @@
 <li><a href="/documentation/assembler/inside-assemblers.html">Inside assemblers</a></li>
 </ul>
 </li>
-<li><a href="/documentation/io/index.html">I/O</a><ul>
-<li><a href="/documentation/io/iohowto.html">I/O how-to</a></li>
-<li><a href="/documentation/io/riot.html">RIOT</a></li>
-</ul>
-</li>
+<li><a href="/documentation/sdb/index.html">SDB</a></li>
+<li><a href="/documentation/larq/index.html">LARQ: Free Text Search</a></li>
 <li><a href="/documentation/notes/index.html">Notes</a><ul>
 <li><a href="/documentation/notes/concurrency-howto.html">Concurrency how-to</a></li>
 <li><a href="/documentation/notes/event-handler-howto.html">Event handler how-to</a></li>