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 2015/07/07 11:43:31 UTC

svn commit: r957337 - in /websites/staging/jena/trunk/content: ./ documentation/query/spatial-query.html documentation/tdb/commands.html documentation/tdb/store-parameters.html getting_involved/reviewing_contributions.html tutorials/rdf_api.html

Author: buildbot
Date: Tue Jul  7 09:43:31 2015
New Revision: 957337

Log:
Staging update by buildbot for jena

Modified:
    websites/staging/jena/trunk/content/   (props changed)
    websites/staging/jena/trunk/content/documentation/query/spatial-query.html
    websites/staging/jena/trunk/content/documentation/tdb/commands.html
    websites/staging/jena/trunk/content/documentation/tdb/store-parameters.html
    websites/staging/jena/trunk/content/getting_involved/reviewing_contributions.html
    websites/staging/jena/trunk/content/tutorials/rdf_api.html

Propchange: websites/staging/jena/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Jul  7 09:43:31 2015
@@ -1 +1 @@
-1686394
+1689619

Modified: websites/staging/jena/trunk/content/documentation/query/spatial-query.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/query/spatial-query.html (original)
+++ websites/staging/jena/trunk/content/documentation/query/spatial-query.html Tue Jul  7 09:43:31 2015
@@ -144,7 +144,18 @@
     <div class="col-md-12">
     <div id="breadcrumbs"></div>
     <h1 class="title">Spatial searches with SPARQL</h1>
-  <p>This module was first released with Jena 2.11.0.</p>
+  <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p>This module was first released with Jena 2.11.0.</p>
 <p>This is an extension to Apache Jena ARQ, which combines SPARQL and simple spatial query.
 It gives applications the ability to perform simple spatial searches within SPARQL queries.
 Spatial indexes are additional information for accessing the RDF graph.</p>
@@ -159,13 +170,13 @@ for a large scale enterprise search appl
 
 <span class="n">SELECT</span> ?<span class="n">placeName</span>
 <span class="p">{</span>
-    ?<span class="n">place</span> <span class="n">spatial</span><span class="p">:</span><span class="n">query</span> <span class="p">(</span>51<span class="p">.</span>46 2<span class="p">.</span>6 10 <span class="s">&#39;km&#39;</span><span class="p">)</span> <span class="p">.</span>
+    ?<span class="n">place</span> <span class="n">spatial</span><span class="p">:</span><span class="n">nearby</span> <span class="p">(</span>51<span class="p">.</span>46 2<span class="p">.</span>6 10 <span class="s">&#39;km&#39;</span><span class="p">)</span> <span class="p">.</span>
     ?<span class="n">place</span> <span class="n">rdfs</span><span class="p">:</span><span class="n">label</span> ?<span class="n">placeName</span>
 <span class="p">}</span>
 </pre></div>
 
 
-<h2 id="table-of-contents">Table of Contents</h2>
+<h2 id="table-of-contents">Table of Contents<a class="headerlink" href="#table-of-contents" title="Permanent link">&para;</a></h2>
 <ul>
 <li><a href="#how-to-use-it-by-code">How to Use it by Code</a><ul>
 <li><a href="#create-spatial-dataset">Create Spatial Dataset</a></li>
@@ -183,8 +194,8 @@ for a large scale enterprise search appl
 <li><a href="#working-with-fuseki">Working with Fuseki</a></li>
 <li><a href="#building-a-spatial-index">Building a Spatial Index</a></li>
 </ul>
-<h2 id="how-to-use-it-by-code">How to Use it by Code</h2>
-<h3 id="create-spatial-dataset">Create Spatial Dataset</h3>
+<h2 id="how-to-use-it-by-code">How to Use it by Code<a class="headerlink" href="#how-to-use-it-by-code" title="Permanent link">&para;</a></h2>
+<h3 id="create-spatial-dataset">Create Spatial Dataset<a class="headerlink" href="#create-spatial-dataset" title="Permanent link">&para;</a></h3>
 <div class="codehilite"><pre><span class="n">import</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">jena</span><span class="p">.</span><span class="n">query</span><span class="p">.</span><span class="n">spatial</span><span class="p">.</span><span class="n">EntityDefinition</span>
 <span class="p">...</span>
 <span class="o">//</span> <span class="n">In</span> <span class="n">lucene</span><span class="p">,</span> &quot;<span class="n">entityField</span>&quot; <span class="n">stores</span> <span class="n">the</span> <span class="n">uri</span> <span class="n">of</span> <span class="n">the</span> <span class="n">subject</span> <span class="p">(</span><span class="n">e</span><span class="p">.</span><span class="n">g</span><span class="p">.</span> <span class="n">a</span> <span class="n">place</span><span class="p">),</span> 
@@ -200,8 +211,8 @@ for a large scale enterprise search appl
 </pre></div>
 
 
-<h3 id="supported-geo-data-for-indexing-and-querying">Supported Geo Data for Indexing and Querying</h3>
-<h4 id="builtin-geo-predicates">Builtin Geo Predicates</h4>
+<h3 id="supported-geo-data-for-indexing-and-querying">Supported Geo Data for Indexing and Querying<a class="headerlink" href="#supported-geo-data-for-indexing-and-querying" title="Permanent link">&para;</a></h3>
+<h4 id="builtin-geo-predicates">Builtin Geo Predicates<a class="headerlink" href="#builtin-geo-predicates" title="Permanent link">&para;</a></h4>
 <p>There're mainly 2 types of RDF representation of geo data, which are both supported by jena-spatial:</p>
 <p><strong>1) Latitude/Longitude Format (in gonames, DBPedia and Linked Geo Data)</strong></p>
 <div class="codehilite"><pre><span class="p">@</span><span class="n">prefix</span> <span class="n">geo</span><span class="p">:</span> <span class="o">&lt;</span><span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">www</span><span class="p">.</span><span class="n">w3</span><span class="p">.</span><span class="n">org</span><span class="o">/</span>2003<span class="o">/</span>01<span class="o">/</span><span class="n">geo</span><span class="o">/</span><span class="n">wgs84_pos</span>#<span class="o">&gt;</span> <span class="p">.</span>
@@ -241,7 +252,7 @@ to <code>JtsSpatialContextFactory</code>
 </pre></div>
 
 
-<h4 id="custom-geo-predicates">Custom Geo Predicates</h4>
+<h4 id="custom-geo-predicates">Custom Geo Predicates<a class="headerlink" href="#custom-geo-predicates" title="Permanent link">&para;</a></h4>
 <p>However, there may be more predicates for other data sources for both 1) and 2).
 jena-spatial provides an interface for consuming all kinds of custom geo predicates.
 You can simply add predicates to let jena-spatial recognize them using 
@@ -263,7 +274,7 @@ You can simply add predicates to let jen
 
 
 <p>See more supported <a href="https://github.com/apache/jena/tree/master/jena-spatial/src/test/resources/geoarq-data-1.ttl">geo data examples</a></p>
-<h3 id="load-geo-data-into-spatial-dataset">Load Geo Data into Spatial Dataset</h3>
+<h3 id="load-geo-data-into-spatial-dataset">Load Geo Data into Spatial Dataset<a class="headerlink" href="#load-geo-data-into-spatial-dataset" title="Permanent link">&para;</a></h3>
 <div class="codehilite"><pre><span class="n">spatialDataset</span><span class="p">.</span><span class="n">begin</span><span class="p">(</span><span class="n">ReadWrite</span><span class="p">.</span><span class="n">WRITE</span><span class="p">);</span>
 <span class="k">try</span> <span class="p">{</span>
     <span class="n">Model</span> <span class="n">m</span> <span class="p">=</span> <span class="n">spatialDataset</span><span class="p">.</span><span class="n">getDefaultModel</span><span class="p">();</span>
@@ -276,9 +287,9 @@ You can simply add predicates to let jen
 
 
 <p>Now the spatial dataset is ready for spatial query.</p>
-<h2 id="property-function-library">Property Function Library</h2>
+<h2 id="property-function-library">Property Function Library<a class="headerlink" href="#property-function-library" title="Permanent link">&para;</a></h2>
 <p>The prefix spatial is <code>&lt;http://jena.apache.org/spatial#&gt;</code>.</p>
-<table>
+<table class="table">
 <thead>
 <tr>
 <th>&nbsp;Property name&nbsp;</th>
@@ -317,7 +328,7 @@ You can simply add predicates to let jen
 </tbody>
 </table>
 <p>See <a href="http://edndoc.esri.com/arcsde/9.1/general_topics/understand_spatial_relations.htm">ESRIs docs on spatial relations</a></p>
-<h2 id="spatial-dataset-assembler">Spatial Dataset Assembler</h2>
+<h2 id="spatial-dataset-assembler">Spatial Dataset Assembler<a class="headerlink" href="#spatial-dataset-assembler" title="Permanent link">&para;</a></h2>
 <p>The usual way to describe an index is with a <a href="http://jena.apache.org/documentation/assembler/index.html">Jena assembler description</a>. Configurations can also be built with <a href="#how-to-use-it-by-code">code</a>. The assembler describes a "spaital dataset" which has an underlying RDF dataset and a spatial index. The spatial index describes the spatial index technology (Lucene or Solr) and the details needed for for each.</p>
 <p>A spatial index has an 
 <a href="https://github.com/apache/jena/tree/master/jena-spatial/src/main/java/org/apache/jena/query/spatial/EntityDefinition.java">EntityDefinition</a>
@@ -390,7 +401,7 @@ You also optionally use JtsSpatialContex
 
 
 <p>Key here is that the assembler contains two dataset definitions, one for the spatial dataset, one for the base data. Therefore, the application needs to identify the text dataset by it's URI 'http://localhost/jena_example/#spatial_dataset'.</p>
-<h2 id="working-with-solr">Working with Solr</h2>
+<h2 id="working-with-solr">Working with Solr<a class="headerlink" href="#working-with-solr" title="Permanent link">&para;</a></h2>
 <p>Besides Lucene, jena-spatial can work with Solr for spatial query, powered by <a href="http://wiki.apache.org/solr/SolrAdaptersForLuceneSpatial4">Lucene / Solr 4 Spatial</a> and <a href="http://wiki.apache.org/solr/Solrj">Solrj</a>.</p>
 <p>It's required to add the field definitions for "entityField" and "geoField" respectively in <code>schema.xml</code> of Solr.
 The names of the fields in <a href="https://github.com/apache/jena/tree/master/jena-spatial/src/main/java/org/apache/jena/query/spatial/EntityDefinition.java">EntityDefinition</a> should be in accordance with those in <code>schema.xml</code>.
@@ -416,7 +427,7 @@ Here is an example defining the names of
 For more information about the configuration, please check the <a href="http://wiki.apache.org/solr/SolrAdaptersForLuceneSpatial4">Lucene / Solr 4 Spatial</a> documentation.</p>
 <p>There're also some demostrations of the usage of Solr in the <a href="https://github.com/apache/jena/tree/master/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/solr">unit tests</a> of jena-spatial.
 They use a <code>EmbeddedSolrServer</code>with a <code>SOLR_HOME</code> sample <a href="https://github.com/apache/jena/tree/master/jena-spatial/src/test/resources/SolrHome">here</a>.</p>
-<h2 id="working-with-fuseki">Working with Fuseki</h2>
+<h2 id="working-with-fuseki">Working with Fuseki<a class="headerlink" href="#working-with-fuseki" title="Permanent link">&para;</a></h2>
 <p>The Fuseki configuration simply points to the spatial dataset as the fuseki:dataset of the service.</p>
 <div class="codehilite"><pre><span class="o">&lt;</span>#<span class="n">service_spatial_tdb</span><span class="o">&gt;</span> <span class="n">rdf</span><span class="p">:</span><span class="n">type</span> <span class="n">fuseki</span><span class="p">:</span><span class="n">Service</span> <span class="p">;</span>
     <span class="n">rdfs</span><span class="p">:</span><span class="n">label</span>                      &quot;<span class="n">TDB</span><span class="o">/</span><span class="n">spatial</span> <span class="n">service</span>&quot; <span class="p">;</span>
@@ -431,7 +442,7 @@ They use a <code>EmbeddedSolrServer</cod
 </pre></div>
 
 
-<h2 id="building-a-spatial-index">Building a Spatial Index</h2>
+<h2 id="building-a-spatial-index">Building a Spatial Index<a class="headerlink" href="#building-a-spatial-index" title="Permanent link">&para;</a></h2>
 <p>When working at scale, or when preparing a published, read-only, SPARQL service, creating the index by loading the spatial dataset is impractical. The index and the dataset can be built using command line tools in two steps: first load the RDF data, second create an index from the existing RDF dataset.</p>
 <p>Build the TDB dataset:</p>
 <div class="codehilite"><pre><span class="n">java</span> <span class="o">-</span><span class="n">cp</span> $<span class="n">FUSEKI_HOME</span><span class="o">/</span><span class="n">fuseki</span><span class="o">-</span><span class="n">server</span><span class="p">.</span><span class="n">jar</span> <span class="n">tdb</span><span class="p">.</span><span class="n">tdbloader</span> <span class="o">--</span><span class="n">tdb</span><span class="p">=</span><span class="n">assembler_file</span> <span class="n">data_file</span>

Modified: websites/staging/jena/trunk/content/documentation/tdb/commands.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/tdb/commands.html (original)
+++ websites/staging/jena/trunk/content/documentation/tdb/commands.html Tue Jul  7 09:43:31 2015
@@ -144,7 +144,18 @@
     <div class="col-md-12">
     <div id="breadcrumbs"></div>
     <h1 class="title">TDB Command-line Utilities</h1>
-  <h2 id="contents">Contents</h2>
+  <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<h2 id="contents">Contents<a class="headerlink" href="#contents" title="Permanent link">&para;</a></h2>
 <ul>
 <li><a href="#installation">Installation</a></li>
 <li><a href="#scripts">Scripts</a><ul>
@@ -166,19 +177,19 @@
 </ul>
 </li>
 </ul>
-<h2 id="installation">Installation</h2>
+<h2 id="installation">Installation<a class="headerlink" href="#installation" title="Permanent link">&para;</a></h2>
 <p>From Apache Jena version <code>2.7.x</code> onwards, TDB is now installed as part of a single integrated Jena
 package. There is no longer a need to install a separate TDB package to run the TDB command line
 tools, or to use TDB in your Java programs. See the <a href="/download/index.cgi">downloads</a> page for details on getting the latest Jena
 release.</p>
-<h2 id="scripts">Scripts</h2>
+<h2 id="scripts">Scripts<a class="headerlink" href="#scripts" title="Permanent link">&para;</a></h2>
 <p>From the location The directory <code>bin/</code> contains shell scripts to run the commands
 from the command line. The scripts are bash scripts which should work
 on Linux systems, Windows systems using <a href="http://www.cygwin.com/">Cygwin</a> and
 Mac/OS systems. The directory <code>bat/</code> contains Windows batch files which
 provide the same functionality for Windows systems that are not using
 Cygwin.</p>
-<h3 id="script-set-up-bash-scripts">Script set up - bash scripts</h3>
+<h3 id="script-set-up-bash-scripts">Script set up - bash scripts<a class="headerlink" href="#script-set-up-bash-scripts" title="Permanent link">&para;</a></h3>
 <p>Set the environment variable <code>JENAROOT</code> to the root of the the Jena
 installation. E.g:</p>
 <div class="codehilite"><pre><span class="n">export</span> <span class="n">JENAROOT</span><span class="p">=</span><span class="o">/</span><span class="n">home</span><span class="o">/</span><span class="n">somebody</span><span class="o">/</span><span class="n">dev</span><span class="o">/</span><span class="n">apache</span><span class="o">-</span><span class="n">jena</span>
@@ -197,7 +208,7 @@ installation. E.g:</p>
 
 <p>This can be done in <code>.bashrc</code>, or its equivalent on Mac OS/X, to ensure that the environment
 variables are always available.</p>
-<h3 id="script-set-up-windows-batch-files">Script set up - Windows batch files</h3>
+<h3 id="script-set-up-windows-batch-files">Script set up - Windows batch files<a class="headerlink" href="#script-set-up-windows-batch-files" title="Permanent link">&para;</a></h3>
 <p>Setting environment variables in Windows is slightly involved. You can set them
 each time you start a command prompt:</p>
 <div class="codehilite"><pre><span class="n">SET</span> <span class="n">JENAROOT</span><span class="p">=</span><span class="o">\</span><span class="n">Users</span><span class="o">\</span><span class="n">somebody</span><span class="o">\</span><span class="n">dev</span><span class="o">\</span><span class="n">apache</span><span class="o">-</span><span class="n">jena</span>
@@ -208,7 +219,7 @@ each time you start a command prompt:</p
 <p>or you can follow <a href="http://searchsystemschannel.techtarget.com/feature/Setting-Windows-7-environment-variables">this guide</a>
 or one like it to set the environment variables so that they are available every
 time you launch the command prompt.</p>
-<h2 id="command-line-script-arguments">Command line script arguments</h2>
+<h2 id="command-line-script-arguments">Command line script arguments<a class="headerlink" href="#command-line-script-arguments" title="Permanent link">&para;</a></h2>
 <p>Each command then has command-specific arguments described below.</p>
 <p>All commands support <code>--help</code> to give details of named and
 positional arguments.</p>
@@ -219,7 +230,7 @@ positional arguments.</p>
 </pre></div>
 
 
-<h3 id="setting-options-from-the-command-line">Setting options from the command line</h3>
+<h3 id="setting-options-from-the-command-line">Setting options from the command line<a class="headerlink" href="#setting-options-from-the-command-line" title="Permanent link">&para;</a></h3>
 <p>TDB has a number of
 <a href="configuration.html">configuration options</a>
 which can be set from the command line using:</p>
@@ -233,8 +244,8 @@ http://jena.hpl.hp.com/TDB# so the full
 </pre></div>
 
 
-<h2 id="tdb-commands">TDB Commands</h2>
-<h3 id="store-description">Store description</h3>
+<h2 id="tdb-commands">TDB Commands<a class="headerlink" href="#tdb-commands" title="Permanent link">&para;</a></h2>
+<h3 id="store-description">Store description<a class="headerlink" href="#store-description" title="Permanent link">&para;</a></h3>
 <p>TDB commands use an assembler description for the persistent store</p>
 <div class="codehilite"><pre><span class="o">--</span><span class="n">desc</span><span class="p">=</span><span class="n">assembler</span><span class="p">.</span><span class="n">ttl</span>
 <span class="o">--</span><span class="n">tdb</span><span class="p">=</span><span class="n">assembler</span><span class="p">.</span><span class="n">ttl</span>
@@ -252,26 +263,47 @@ files:</p>
 <a href="assembler.html" title="TDB/Assembler">TDB assembler description</a> page.</p>
 <p>If neither assembler file nor location is given, <code>--desc=tdb.ttl</code>
 is assumed.</p>
-<h3 id="tdbloader"><code>tdbloader</code></h3>
+<h3 id="tdbloader"><code>tdbloader</code><a class="headerlink" href="#tdbloader" title="Permanent link">&para;</a></h3>
 <p>Bulk loader and index builder. Performans bulk load operations more
 efficiently than simply reading RDF into a TDB-back model.</p>
-<h3 id="tdbloader2"><code>tdbloader2</code></h3>
+<h3 id="tdbloader2"><code>tdbloader2</code><a class="headerlink" href="#tdbloader2" title="Permanent link">&para;</a></h3>
 <p>Bulk loader and index builder. Faster than <code>tdbloader</code> but only works
 on Linux and Mac OS/X since it relies on some Unix system utilities.</p>
 <p>This bulk loader can only be used to create a database. It may
-overwrite existing data. It only accepts the --loc argument and a
-list of files to load.</p>
-<h3 id="tdbquery"><code>tdbquery</code></h3>
+overwrite existing data. It requires accepts the <code>--loc</code> argument and a
+list of files to load e.g.</p>
+<div class="codehilite"><pre><span class="o">&gt;</span> <span class="n">tdbloader2</span> <span class="o">--</span><span class="n">loc</span> <span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="k">for</span><span class="o">/</span><span class="n">database</span> <span class="n">input1</span><span class="p">.</span><span class="n">ttl</span> <span class="n">input2</span><span class="p">.</span><span class="n">ttl</span> <span class="p">...</span>
+</pre></div>
+
+
+<h4 id="advanced-tdbloader2-usage">Advanced <code>tdbloader2</code> Usage<a class="headerlink" href="#advanced-tdbloader2-usage" title="Permanent link">&para;</a></h4>
+<p>There are various other advanced options available to customise the
+behaviour of the bulk loader.  Run with <code>--help</code> to see the full usage 
+summary.</p>
+<p>It is possible to do builds in phases by using the <code>tdbloader2data</code> and
+<code>tdbloader2index</code> scripts separately though this should only be used
+by advanced users.  You can also do this by passing the <code>--phase</code>
+argument to the <code>tdbloader2</code> script and specifying <code>data</code> or <code>index</code> as
+desired.</p>
+<p>The indexing phase of the build uses the <code>sort</code> utility to prepare the raw
+data for indexing, this can potentially require large amounts of disk space
+and the scripts will automatically check and warn/abort if the disk space
+looks to be/is insufficient.</p>
+<p>If you are building a large dataset (i.e. gigabytes of input data) you may 
+wish to have the <a href="http://www.ivarch.com/programs/pv.shtml">PipeViewer</a>
+tool installed on your system as this will provide extra progress information 
+during the indexing phase of the build.</p>
+<h3 id="tdbquery"><code>tdbquery</code><a class="headerlink" href="#tdbquery" title="Permanent link">&para;</a></h3>
 <p>Invoke a SPARQL query on a store. Use <code>--time</code> for timing
 information. The store is attached on each run of this command so
 timing includes some overhead not present in a running system.</p>
 <p>Details about query execution can be obtained -- see notes on the
 <a href="optimizer.html#investigating-what-is-going-on">TDB Optimizer</a>.</p>
-<h3 id="tdbdump"><code>tdbdump</code></h3>
+<h3 id="tdbdump"><code>tdbdump</code><a class="headerlink" href="#tdbdump" title="Permanent link">&para;</a></h3>
 <p>Dump the store in
 <a href="http://www.w3.org/TR/n-quads/">N-Quads</a>
 format.</p>
-<h3 id="tdbstats">tdbstats</h3>
+<h3 id="tdbstats">tdbstats<a class="headerlink" href="#tdbstats" title="Permanent link">&para;</a></h3>
 <p>Produce a statistics for the dataset. See the
 <a href="optimizer.html#statistics-rule-file">TDB Optimizer description.</a>.</p>
   </div>

Modified: websites/staging/jena/trunk/content/documentation/tdb/store-parameters.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/tdb/store-parameters.html (original)
+++ websites/staging/jena/trunk/content/documentation/tdb/store-parameters.html Tue Jul  7 09:43:31 2015
@@ -144,11 +144,22 @@
     <div class="col-md-12">
     <div id="breadcrumbs"></div>
     <h1 class="title">TDB - Store Parameters</h1>
-  <p>TDB (as of version Jena 2.13.1, TDB 1.1.3) supports configuration of the
+  <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p>TDB (as of version Jena 3.0.0) supports configuration of the
 databases when they are first created and each time an application connects
 to an existing database.  Databases using the default settings built-into
 TDB continue to work exactly as before.</p>
-<h2 id="setting-store-parameters">Setting Store Parameters</h2>
+<h2 id="setting-store-parameters">Setting Store Parameters<a class="headerlink" href="#setting-store-parameters" title="Permanent link">&para;</a></h2>
 <p>In TDB, there is exactly one internal object for each dataset in the JVM
 and this is shared between all application datasets for that location of
 persistent storage.</p>
@@ -177,13 +188,13 @@ function.</p>
 <p>It is only possible to change store parameters by expelling the managed
 storage by calling <code>TDBFactory.release(Location)</code>.  This drops all caching.
 Access to the dataset is then a cold start.</p>
-<h2 id="per-connect-options">Per-connect Options</h2>
+<h2 id="per-connect-options">Per-connect Options<a class="headerlink" href="#per-connect-options" title="Permanent link">&para;</a></h2>
 <p>The per-connect options are the ones that can be changed after the database has
 been created and can be different each time the application attaches to the
 database.  A database can have at most one JVM attached to it (see Fuseki 
 to share a database).</p>
 <p>These options do not affect the on-disk structures.</p>
-<table>
+<table class="table">
 <thead>
 <tr>
 <th>JSON key name</th>
@@ -224,7 +235,7 @@ to share a database).</p>
 </tr>
 </tbody>
 </table>
-<h3 id="file-access-mapped-and-direct-modes">File access - "mapped" and "direct" modes</h3>
+<h3 id="file-access-mapped-and-direct-modes">File access - "mapped" and "direct" modes<a class="headerlink" href="#file-access-mapped-and-direct-modes" title="Permanent link">&para;</a></h3>
 <p>TDB has two modes of operation for accessing block files - "mapped" and
 "direct".</p>
 <ul>
@@ -246,27 +257,27 @@ Windows.  This is a <a href="http://bugs
 difference to the file layouts.  Memory mapped files may appear larger
 because they contain unused space.  Some utilities report this in file
 size, some do not.</p>
-<h3 id="caching-options">Caching options.</h3>
+<h3 id="caching-options">Caching options.<a class="headerlink" href="#caching-options" title="Permanent link">&para;</a></h3>
 <p>These are the useful tuning options.  Only the <tt>node*</tt> choices have
 any effect when running in "mapped" mode.</p>
 <p>All these options effect the amount of heap used.  The block read/write
 cache sizes are tuned to 32 bit Java.</p>
 <p>Increasing the Node/NodeId cache sizes on 64 bit machines may be
 beneficial.</p>
-<h2 id="static-options">Static Options</h2>
+<h2 id="static-options">Static Options<a class="headerlink" href="#static-options" title="Permanent link">&para;</a></h2>
 <p>While it is possible to customize a database, this is considered to be
 experimental. It is possible to corrupt, unrecoverable, existing databases
 and create nonsense databases with inappropriate settings.  It will be
 useful in very few real situations. Not all combinations of index choices
 will work.  Only the standard layout is supported; alternative schemes are
 for experimentation only.</p>
-<h3 id="block-size">Block Size</h3>
+<h3 id="block-size">Block Size<a class="headerlink" href="#block-size" title="Permanent link">&para;</a></h3>
 <p>The block size can not be changed once a database has been created.</p>
 <p>While the code attempts to detect block size mismatches, in order to retain
 compatibility with existing database, the testing can not be perfect.  If
 undetected, any update will permanently and irrecoverably damage the
 database.</p>
-<h2 id="store-parameters-file-format">Store Parameters File Format</h2>
+<h2 id="store-parameters-file-format">Store Parameters File Format<a class="headerlink" href="#store-parameters-file-format" title="Permanent link">&para;</a></h2>
 <p>JSON is used for the on-disk record of store parameters, see the example
 below.  Unspecified options defaults to the for the running setup.</p>
 <p>These are default settings for a 64 bit Java:</p>
@@ -293,7 +304,7 @@ below.  Unspecified options defaults to
 }
 </pre>
 
-<h2 id="choosing-the-store-parameters">Choosing the store parameters</h2>
+<h2 id="choosing-the-store-parameters">Choosing the store parameters<a class="headerlink" href="#choosing-the-store-parameters" title="Permanent link">&para;</a></h2>
 <p>This is the policy applied when creating or reattaching to a database.</p>
 <p>If the database location has a parameter file, <code>tdb.cfg</code> then use that.
 This is modified by any dynamic options supplied by the application.  So to

Modified: websites/staging/jena/trunk/content/getting_involved/reviewing_contributions.html
==============================================================================
--- websites/staging/jena/trunk/content/getting_involved/reviewing_contributions.html (original)
+++ websites/staging/jena/trunk/content/getting_involved/reviewing_contributions.html Tue Jul  7 09:43:31 2015
@@ -144,36 +144,78 @@
     <div class="col-md-12">
     <div id="breadcrumbs"></div>
     <h1 class="title">Reviewing Contributions</h1>
-  <p>This page details how to review contributions submitted for Apache Jena, it is intended primarily for Jena committers but is also useful in helping contributors understand what we expect from a contribution.</p>
-<h1 id="patch-guidelines">Patch Guidelines</h1>
+  <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p>This page details how to review contributions submitted for Apache Jena, it is intended primarily for Jena committers but is also useful in helping contributors understand what we expect from a contribution.</p>
+<h1 id="patch-guidelines">Patch Guidelines<a class="headerlink" href="#patch-guidelines" title="Permanent link">&para;</a></h1>
 <p>When reviewing contributed patches to Jena the committers are going to be considered the following:</p>
 <ol>
-<li>Does the patch includes tests?</li>
+<li>Does the pull request includes tests?</li>
+<li>Does the pull request includes documentation?</li>
 <li>Does it have Apache copyright headers?</li>
 <li>Are there any @author tags?</li>
 <li>Is it contributed to Apache?</li>
 <li>What is the size and impact on Jena of the contribution?</li>
 <li>Is IP clearance required?</li>
+<li>Pull requests and commit messages</li>
 </ol>
-<h2 id="including-tests">Including Tests</h2>
-<p>Including tests is almost always a must for a patch unless the patch is for non-code content e.g. CMS diffs, maven config tweaks.</p>
+<h2 id="including-tests">Including Tests<a class="headerlink" href="#including-tests" title="Permanent link">&para;</a></h2>
+<p>Including tests is almost always a must for a patch unless the patch is for non-code
+content e.g. CMS diffs, maven config tweaks.</p>
 <p>Tests are <strong>essential</strong> for bug fixes but should be considered mandatory for any patch.  Jena uses JUnit for tests and uses the standard Java <em>src/test/</em> directory conventions within its modules.</p>
-<h2 id="apache-copyright-headers">Apache Copyright Headers</h2>
-<p>Code for inclusion in Jena should contain Apache copyright headers, <strong>only</strong> the contributor should remove/change copyright headers so if a different copyright header is present then you <strong>must</strong> request that the contributor change the copyright headers.</p>
-<h2 id="no-author-tags">No @author Tags</h2>
-<p>While this is not essential the Jena PMC have agreed not to maintain @author tags in the code since generally authorship can be identified from the SVN history anyway and over time committers will typically touch much code even if only briefly and in minor ways.</p>
-<p>@author tags will not prevent a contribution being accepted but <strong>should</strong> be removed by the committer who integrates the contribution.</p>
-<h2 id="contribution-to-apache">Contribution to Apache</h2>
-<p>The Apache License states that any contribution to an Apache project is automatically considered to be contributed to the Apache foundation and thus liable for inclusion in an Apache project <strong>unless</strong> the contributor explicitly states otherwise.</p>
-<p>Generally you will not have to worry about this but if anyone ever states that code is not for inclusion then we <strong>must</strong> abide by that or request that they make a statement that they are contributing the code to Apache.</p>
-<h2 id="size-and-impact-on-jena">Size and Impact on Jena</h2>
+<h2 id="including-documentation">Including Documentation<a class="headerlink" href="#including-documentation" title="Permanent link">&para;</a></h2>
+<p>Users will not find or understand new feature if there is no documentation.</p>
+<h2 id="apache-copyright-headers">Apache Copyright Headers<a class="headerlink" href="#apache-copyright-headers" title="Permanent link">&para;</a></h2>
+<p>Code for inclusion in Jena should contain Apache copyright headers, <strong>only</strong>
+the contributor should remove/change copyright headers so if a different copyright
+header is present then you <strong>must</strong> request that the contributor change the
+copyright headers.</p>
+<h2 id="no-author-tags">No @author Tags<a class="headerlink" href="#no-author-tags" title="Permanent link">&para;</a></h2>
+<p>The Jena PMC have agreed not to maintain @author tags in the code since generally
+authorship can be identified from the SVN history anyway and over time
+committers will typically touch much code even if only briefly and in minor ways.</p>
+<p>@author tags will not prevent a contribution being accepted but <strong>should</strong>
+be removed by the committer who integrates the contribution.</p>
+<h2 id="code-style">Code style<a class="headerlink" href="#code-style" title="Permanent link">&para;</a></h2>
+<p>Jena does not have a particular formal code style specification, but here are some simple tips for keeping your contribution in good order:</p>
+<ul>
+<li>Don't create a method signature that throws checked exceptions that aren't ever actually thrown from the code in that method unless an API supertype specifies that signature. Otherwise, clients of your code will have to include unnecessary handling code.</li>
+<li>Don't leave unused imports in your code. IDEs provide facilities to clean imports.</li>
+<li>If a type declares a supertype that isn't a required declaration, consider whether that clarifies or confuses the intent.</li>
+<li>Minimize the new compiler warnings your patch creates. If you use @SuppressWarnings to hide them, please add a comment explaining the situation.</li>
+<li>Remove unused local variables or fields.</li>
+<li>If there is valuable code in some unused private method, add a @SuppressWarnings("unused") with an explanation of when it might become useful.</li>
+</ul>
+<h2 id="contribution-to-apache">Contribution to Apache<a class="headerlink" href="#contribution-to-apache" title="Permanent link">&para;</a></h2>
+<p>The Apache License states that any contribution to an Apache project is automatically considered
+to be contributed to the Apache foundation and thus liable for inclusion in an Apache project.</p>
+<p>Generally you will not have to worry about this but if anyone ever states that code is not
+for inclusion then we <strong>must</strong> abide by that or request that they make a statement
+that they are contributing the code to Apache.</p>
+<h2 id="size-and-impact-on-jena">Size and Impact on Jena<a class="headerlink" href="#size-and-impact-on-jena" title="Permanent link">&para;</a></h2>
 <p>Small patches can generally be incorporated immediately, larger patches - particularly those adding significant
 features - should usually be discussed on the <a href="mailto:dev@jena.apache.org">dev@jena.apache.org</a> list prior to acceptance.</p>
-<p>Use your judgement here, a few hundred lines of code may be considered small if it isn't changing/extending functionality significantly.  Conversely a small patch that changes a core behavior should be more widely discussed.</p>
-<p>If in doubt start a thread on dev or comment on the JIRA issue, JIRA comments get copied to the dev list so all developers should see the comments even if they aren't explicitly watching the issue.</p>
-<h2 id="ip-clearance">IP Clearance</h2>
-<p>Depending on where a patch comes from there may be IP clearance issues, for small patches this is generally a non-issue.  Where this comes into play is when a large patch is coming in which has been developed completely externally to Jena, particularly if that patch has been developed for/on behalf of a company rather than be developers working in their free time.</p>
+<p>Use your judgement here, a few hundred lines of code may be considered small if it isn't changing/extending functionality significantly.
+Conversely a small patch that changes a core behavior should be more widely discussed.</p>
+<p>If in doubt start a thread on dev or comment on the JIRA issue, JIRA comments get copied to the dev list
+so all developers should see the comments even if they aren't explicitly watching the issue.</p>
+<h2 id="ip-clearance">IP Clearance<a class="headerlink" href="#ip-clearance" title="Permanent link">&para;</a></h2>
+<p>Depending on where a patch comes from there may be IP clearance issues, for small patches this is generally a non-issue.
+Where this comes into play is when a large patch is coming in which has been developed completely externally to Jena, particularly if that patch has been developed for/on behalf of a company rather than be developers working in their free time.</p>
 <p>For patches like this we may require that the company in question submit a <a href="http://www.apache.org/licenses/cla-corporate.txt">CCLA</a> and that the developers involve submit <a href="http://www.apache.org/licenses/icla.txt">ICLAs</a>.  There may also need to be IP Clearance vote called on the developer list to give developers a chance to review the code and check that there isn't anything being incorporated that violates Apache policy.</p>
+<h2 id="pull-requests-and-commit-messages">Pull Requests and Commit Messages<a class="headerlink" href="#pull-requests-and-commit-messages" title="Permanent link">&para;</a></h2>
+<p>A pull request is a single unit so a large number of commits details the evolution internally
+but does not help record the external contribution.</p>
+<p>Consider asking the contributor to merge commits into a few with useful messages for an external reviewer.</p>
   </div>
 </div>
 

Modified: websites/staging/jena/trunk/content/tutorials/rdf_api.html
==============================================================================
--- websites/staging/jena/trunk/content/tutorials/rdf_api.html (original)
+++ websites/staging/jena/trunk/content/tutorials/rdf_api.html Tue Jul  7 09:43:31 2015
@@ -144,7 +144,18 @@
     <div class="col-md-12">
     <div id="breadcrumbs"></div>
     <h1 class="title">An Introduction to RDF and the Jena RDF API</h1>
-  <h2>Preface</h2>
+  <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<h2>Preface</h2>
 
 <p>This is a tutorial introduction to both W3C's Resource Description Framework
 (RDF) and Jena, a Java API for RDF.  It is written for the programmer who is
@@ -1046,10 +1057,10 @@ StmtIterator iter = model.listStatements
           public boolean selects(Statement s) {
               return (subject == null   || s.getSubject().equals(subject))
                   &amp;&amp; (predicate == null || s.getPredicate().equals(predicate))
-                  &amp;&amp; (object == null    || s.getObject().equals(object))
+                  &amp;&amp; (object == null    || s.getObject().equals(object)) ;
           }
      }
- });</code></pre>
+     });</code></pre>
 </blockquote>
 
 <p>is equivalent to:</p>
@@ -1306,7 +1317,7 @@ language tag, or if language tags are pr
 literals the strings must be equal.  XML literals have two notions of
 equality.  The simple notion is that the conditions previously mentioned are
 true and the strings are also equal.  The other notion is that they can be
-equal if the cannonicalization of their strings is equal.</p>
+equal if the canonicalization of their strings is equal.</p>
 
 <p>Jena's interfaces also support typed literals. The old-fashioned way
 (shown below) treats typed literals as shorthand for strings: typed