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/26 12:50:20 UTC
svn commit: r959629 [7/10] - in /websites/staging/jena/trunk/content: ./
about_jena/ documentation/ documentation/assembler/ documentation/csv/
documentation/extras/ documentation/extras/querybuilder/
documentation/fuseki2/ documentation/hadoop/ docume...
Modified: websites/staging/jena/trunk/content/documentation/serving_data/soh.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/serving_data/soh.html (original)
+++ websites/staging/jena/trunk/content/documentation/serving_data/soh.html Sun Jul 26 10:50:18 2015
@@ -83,8 +83,8 @@
<li><a href="/documentation/tdb/index.html">TDB</a></li>
<li><a href="/documentation/sdb/index.html">SDB</a></li>
<li><a href="/documentation/jdbc/index.html">SPARQL over JDBC</a></li>
- <li><a href="/documentation/security/index.html">Security</a></li>
<li><a href="/documentation/fuseki2/index.html">Fuseki</a></li>
+ <li><a href="/documentation/permissions/index.html">Permissions</a></li>
<li><a href="/documentation/assembler/index.html">Assembler</a></li>
<li><a href="/documentation/ontology/">Ontology API</a></li>
<li><a href="/documentation/inference/index.html">Inference API</a></li>
@@ -144,7 +144,18 @@
<div class="col-md-12">
<div id="breadcrumbs"></div>
<h1 class="title">SOH - SPARQL over HTTP</h1>
- <p><strong>SOH</strong> (SPARQL Over HTTP) is a set of command-line scripts for
+ <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><strong>SOH</strong> (SPARQL Over HTTP) is a set of command-line scripts for
working with SPARQL 1.1. SOH is server-independent and will work
with any compliant SPARQL 1.1 system offering HTTP access.</p>
<p>SOH is written in ruby.</p>
@@ -160,14 +171,14 @@ with any compliant SPARQL 1.1 system off
</ul>
<p>Each command supports the <code>-v</code> flag to print out details of the
HTTP interaction.</p>
-<h2 id="contents">Contents</h2>
+<h2 id="contents">Contents<a class="headerlink" href="#contents" title="Permanent link">¶</a></h2>
<ul>
<li><a href="#soh-sparql-http">SOH SPARQL HTTP</a></li>
<li><a href="#soh-sparql-query">SOH SPARQL Query</a></li>
<li><a href="#soh-sparql-update">SOH SPARQL Update</a></li>
<li><a href="#service-endpoints">Service endpoints</a></li>
</ul>
-<h2 id="soh-sparql-http">SOH SPARQL HTTP</h2>
+<h2 id="soh-sparql-http">SOH SPARQL HTTP<a class="headerlink" href="#soh-sparql-http" title="Permanent link">¶</a></h2>
<p>The syntax of the commands is:</p>
<div class="codehilite"><pre><span class="n">s</span><span class="o">-</span><span class="n">http</span> <span class="n">VERB</span> <span class="n">datasetURI</span> <span class="n">graphName</span> <span class="p">[</span><span class="n">file</span><span class="p">]</span>
</pre></div>
@@ -189,28 +200,28 @@ the HTTP content type.</p>
</pre></div>
-<h2 id="soh-sparql-query">SOH SPARQL Query</h2>
+<h2 id="soh-sparql-query">SOH SPARQL Query<a class="headerlink" href="#soh-sparql-query" title="Permanent link">¶</a></h2>
<div class="codehilite"><pre><span class="n">s</span><span class="o">-</span><span class="n">query</span> <span class="o">--</span><span class="n">service</span><span class="p">=</span><span class="n">endpointURL</span> <span class="s">'query string'</span>
<span class="n">s</span><span class="o">-</span><span class="n">query</span> <span class="o">--</span><span class="n">service</span><span class="p">=</span><span class="n">endpointURL</span> <span class="o">--</span><span class="n">query</span><span class="p">=</span><span class="n">queryFile</span><span class="p">.</span><span class="n">rq</span>
</pre></div>
-<h2 id="soh-sparql-update">SOH SPARQL Update</h2>
+<h2 id="soh-sparql-update">SOH SPARQL Update<a class="headerlink" href="#soh-sparql-update" title="Permanent link">¶</a></h2>
<div class="codehilite"><pre><span class="n">s</span><span class="o">-</span><span class="n">update</span> <span class="o">--</span><span class="n">service</span><span class="p">=</span><span class="n">endpointURL</span> <span class="s">'update string'</span>
<span class="n">s</span><span class="o">-</span><span class="n">update</span> <span class="o">--</span><span class="n">service</span><span class="p">=</span><span class="n">endpointURL</span> <span class="o">--</span><span class="n">update</span><span class="p">=</span><span class="n">updateFile</span><span class="p">.</span><span class="n">ru</span>
</pre></div>
-<h2 id="service-endpoints">Service endpoints</h2>
+<h2 id="service-endpoints">Service endpoints<a class="headerlink" href="#service-endpoints" title="Permanent link">¶</a></h2>
<p>SOH is a general purpose set of scripts that work with any SPARQL
1.1. server. Different servers offer different naming conventions
for HTTP REST, query and update. This section provides summary
information about using SOH with some servers. See the
documentation for each server for authoritative information.</p>
<p>If you have details for other servers, <a href="/getting_involved/index.html">get involved</a></p>
-<h3 id="fuseki">Fuseki</h3>
+<h3 id="fuseki">Fuseki<a class="headerlink" href="#fuseki" title="Permanent link">¶</a></h3>
<p>If a <a href="index.html">Fuseki</a> server is run with the
command:</p>
<div class="codehilite"><pre><span class="n">fuseki</span><span class="o">-</span><span class="n">server</span> <span class="o">--</span><span class="n">mem</span> <span class="o">/</span><span class="n">dataset</span>
Modified: websites/staging/jena/trunk/content/documentation/tdb/architecture.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/tdb/architecture.html (original)
+++ websites/staging/jena/trunk/content/documentation/tdb/architecture.html Sun Jul 26 10:50:18 2015
@@ -83,8 +83,8 @@
<li><a href="/documentation/tdb/index.html">TDB</a></li>
<li><a href="/documentation/sdb/index.html">SDB</a></li>
<li><a href="/documentation/jdbc/index.html">SPARQL over JDBC</a></li>
- <li><a href="/documentation/security/index.html">Security</a></li>
<li><a href="/documentation/fuseki2/index.html">Fuseki</a></li>
+ <li><a href="/documentation/permissions/index.html">Permissions</a></li>
<li><a href="/documentation/assembler/index.html">Assembler</a></li>
<li><a href="/documentation/ontology/">Ontology API</a></li>
<li><a href="/documentation/inference/index.html">Inference API</a></li>
@@ -144,9 +144,20 @@
<div class="col-md-12">
<div id="breadcrumbs"></div>
<h1 class="title">TDB Architecture</h1>
- <p>This page gives an overview of the TDB architecture. Specific
+ <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 gives an overview of the TDB architecture. Specific
details refer to TDB 0.8.</p>
-<h2 id="contents">Contents</h2>
+<h2 id="contents">Contents<a class="headerlink" href="#contents" title="Permanent link">¶</a></h2>
<ul>
<li><a href="#terminology">Terminology</a></li>
<li><a href="#design">Design</a><ul>
@@ -160,14 +171,14 @@ details refer to TDB 0.8.</p>
<li><a href="#query-processing">Query Processing</a></li>
<li><a href="#caching-on-32-and-64-bit-java-systems">Caching on 32 and 64 bit Java systems</a></li>
</ul>
-<h2 id="terminology">Terminology</h2>
+<h2 id="terminology">Terminology<a class="headerlink" href="#terminology" title="Permanent link">¶</a></h2>
<p>Terms like "table" and "index" are used in this description. They
don't directly correspond to concepts in SQL, For example, in SQL
terms, there is no triple table; that can be seen as just having
indexes for the table or, alternatively, there are 3 tables, each
of which has a primary key and TDB manages the relationship between
them.</p>
-<h2 id="design">Design</h2>
+<h2 id="design">Design<a class="headerlink" href="#design" title="Permanent link">¶</a></h2>
<p>A dataset backed by TDB is stored in a single directory in the
filing system. A dataset consists of</p>
<ul>
@@ -175,7 +186,7 @@ filing system. A dataset consists of</p>
<li>Triple and Quad indexes</li>
<li>The prefixes table</li>
</ul>
-<h3 id="the-node-table">The Node Table</h3>
+<h3 id="the-node-table">The Node Table<a class="headerlink" href="#the-node-table" title="Permanent link">¶</a></h3>
<p>The node table stores the representation of RDF terms (except for
inlined value - see below). It provides two mappings from Node to
NodeId and from NodeId to Node. This is sometimes called a
@@ -196,7 +207,7 @@ to major performance factor).</p>
<p>The default storage of the node table is a sequential access file
for the NodeId to Node mapping and a B+Tree for the Node to NodeId
mapping.</p>
-<h3 id="triple-and-quad-indexes">Triple and Quad indexes</h3>
+<h3 id="triple-and-quad-indexes">Triple and Quad indexes<a class="headerlink" href="#triple-and-quad-indexes" title="Permanent link">¶</a></h3>
<p>Quads are used for named graphs, triples for the default graph.
Triples are held as 3-tuples of NodeIds in triple indexes - quads
as 4-tuples. Otherwise they are handled in the same manner.</p>
@@ -204,7 +215,7 @@ as 4-tuples. Otherwise they are handled
table with secondary indexes. Instead, each index has all the
information about a triple.</p>
<p>The default storage of each indexes</p>
-<h3 id="prefixes-table">Prefixes Table</h3>
+<h3 id="prefixes-table">Prefixes Table<a class="headerlink" href="#prefixes-table" title="Permanent link">¶</a></h3>
<p>The prefixes table uses a node table and a index for GPU
(Graph->Prefix->URI). It is usually small. It does not take part
in query processing. It provides support for Jena's PrefixMappings
@@ -212,7 +223,7 @@ used mainly for presentation and for ser
<a href="http://www.w3.org/TR/REC-rdf-syntax/" title="http://www.w3.org/TR/REC-rdf-syntax/">RDF/XML</a>
or
<a href="http://www.w3.org/TeamSubmission/turtle/" title="http://www.w3.org/TeamSubmission/turtle/">Turtle</a>.</p>
-<h3 id="tdb-btrees">TDB B+Trees</h3>
+<h3 id="tdb-btrees">TDB B+Trees<a class="headerlink" href="#tdb-btrees" title="Permanent link">¶</a></h3>
<p>Many of the persistent data structures in TDB use a custom
implementation of threaded
<a href="http://en.wikipedia.org/wiki/B+_tree" title="http://en.wikipedia.org/wiki/B%2B_tree">B+Trees</a>.
@@ -221,7 +232,7 @@ length value. There is no use of the val
<p>The threaded nature means that long scans of indexes proceeds
without needing to traverse the branches of the tree.</p>
<p>See the description of index caching below.</p>
-<h2 id="inline-values">Inline values</h2>
+<h2 id="inline-values">Inline values<a class="headerlink" href="#inline-values" title="Permanent link">¶</a></h2>
<p>Values of certain datatypes are held as part of the NodeId in the
bottom 56 bits. The top 8 bits indicates the type - external NodeId
or the value space.</p>
@@ -237,12 +248,12 @@ timezones for Z and for no explicit time
integers 01 and 1 will both be treated as a the value 1.</p>
<p>Derived XSD datatypes are held as their base type. The exact
datatype is not retained; the value of the RDF term is.</p>
-<h2 id="query-processing">Query Processing</h2>
+<h2 id="query-processing">Query Processing<a class="headerlink" href="#query-processing" title="Permanent link">¶</a></h2>
<p>TDB uses the
<a href="TODO">OpExecutor extension point of ARQ</a>.
TDB provides low level optimization of basic graph patterns using a
<a href="optimizer.html" title="TDB/Optimizer">statistics based optimizer</a>.</p>
-<h2 id="caching-on-32-and-64-bit-java-systems">Caching on 32 and 64 bit Java systems</h2>
+<h2 id="caching-on-32-and-64-bit-java-systems">Caching on 32 and 64 bit Java systems<a class="headerlink" href="#caching-on-32-and-64-bit-java-systems" title="Permanent link">¶</a></h2>
<p>TDB runs on both 32-bit and 64-bit Java Virtual Machines. The same
file formats are used on both systems and database files can be
transferred between architectures (no TDB system should be running
Modified: websites/staging/jena/trunk/content/documentation/tdb/assembler.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/tdb/assembler.html (original)
+++ websites/staging/jena/trunk/content/documentation/tdb/assembler.html Sun Jul 26 10:50:18 2015
@@ -83,8 +83,8 @@
<li><a href="/documentation/tdb/index.html">TDB</a></li>
<li><a href="/documentation/sdb/index.html">SDB</a></li>
<li><a href="/documentation/jdbc/index.html">SPARQL over JDBC</a></li>
- <li><a href="/documentation/security/index.html">Security</a></li>
<li><a href="/documentation/fuseki2/index.html">Fuseki</a></li>
+ <li><a href="/documentation/permissions/index.html">Permissions</a></li>
<li><a href="/documentation/assembler/index.html">Assembler</a></li>
<li><a href="/documentation/ontology/">Ontology API</a></li>
<li><a href="/documentation/inference/index.html">Inference API</a></li>
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 Sun Jul 26 10:50:18 2015
@@ -83,8 +83,8 @@
<li><a href="/documentation/tdb/index.html">TDB</a></li>
<li><a href="/documentation/sdb/index.html">SDB</a></li>
<li><a href="/documentation/jdbc/index.html">SPARQL over JDBC</a></li>
- <li><a href="/documentation/security/index.html">Security</a></li>
<li><a href="/documentation/fuseki2/index.html">Fuseki</a></li>
+ <li><a href="/documentation/permissions/index.html">Permissions</a></li>
<li><a href="/documentation/assembler/index.html">Assembler</a></li>
<li><a href="/documentation/ontology/">Ontology API</a></li>
<li><a href="/documentation/inference/index.html">Inference API</a></li>
Modified: websites/staging/jena/trunk/content/documentation/tdb/configuration.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/tdb/configuration.html (original)
+++ websites/staging/jena/trunk/content/documentation/tdb/configuration.html Sun Jul 26 10:50:18 2015
@@ -83,8 +83,8 @@
<li><a href="/documentation/tdb/index.html">TDB</a></li>
<li><a href="/documentation/sdb/index.html">SDB</a></li>
<li><a href="/documentation/jdbc/index.html">SPARQL over JDBC</a></li>
- <li><a href="/documentation/security/index.html">Security</a></li>
<li><a href="/documentation/fuseki2/index.html">Fuseki</a></li>
+ <li><a href="/documentation/permissions/index.html">Permissions</a></li>
<li><a href="/documentation/assembler/index.html">Assembler</a></li>
<li><a href="/documentation/ontology/">Ontology API</a></li>
<li><a href="/documentation/inference/index.html">Inference API</a></li>
Modified: websites/staging/jena/trunk/content/documentation/tdb/datasets.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/tdb/datasets.html (original)
+++ websites/staging/jena/trunk/content/documentation/tdb/datasets.html Sun Jul 26 10:50:18 2015
@@ -83,8 +83,8 @@
<li><a href="/documentation/tdb/index.html">TDB</a></li>
<li><a href="/documentation/sdb/index.html">SDB</a></li>
<li><a href="/documentation/jdbc/index.html">SPARQL over JDBC</a></li>
- <li><a href="/documentation/security/index.html">Security</a></li>
<li><a href="/documentation/fuseki2/index.html">Fuseki</a></li>
+ <li><a href="/documentation/permissions/index.html">Permissions</a></li>
<li><a href="/documentation/assembler/index.html">Assembler</a></li>
<li><a href="/documentation/ontology/">Ontology API</a></li>
<li><a href="/documentation/inference/index.html">Inference API</a></li>
@@ -144,13 +144,24 @@
<div class="col-md-12">
<div id="breadcrumbs"></div>
<h1 class="title">TDB Datasets</h1>
- <p>An
+ <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>An
<a href="http://www.w3.org/TR/sparql11-query/#rdfDataset" title="http://www.w3.org/TR/rdf-sparql-query/#rdfDataset">RDF Dataset</a>
is a collection of one, unnamed, default graph and zero, or more
named graphs. In a SPARQL query, a query pattern is matched against
the default graph unless the GRAPH keyword is applied to a
pattern.</p>
-<h2 id="dataset-storage">Dataset Storage</h2>
+<h2 id="dataset-storage">Dataset Storage<a class="headerlink" href="#dataset-storage" title="Permanent link">¶</a></h2>
<p>One file location (directory) is used to store one RDF dataset. The
unnamed graph of the dataset is held as a single graph while all
the named graphs are held in a collection of quad indexes.</p>
@@ -159,7 +170,7 @@ within a JVM is the same dataset. (If a
TDBFactory.createModel(Location) there is a hidden, shared dataset
and the appropriate model is returned. The preferred style
is to create the dataset, then get a model.)</p>
-<h2 id="dataset-query">Dataset Query</h2>
+<h2 id="dataset-query">Dataset Query<a class="headerlink" href="#dataset-query" title="Permanent link">¶</a></h2>
<p>There is full support for SPARQL query over named graphs in a
TDB-back dataset.</p>
<p>All the named graphs can be treated as a single graph which is the
@@ -188,8 +199,8 @@ pattern.</p>
</pre></div>
-<h2 id="special-graph-names">Special Graph Names</h2>
-<table>
+<h2 id="special-graph-names">Special Graph Names<a class="headerlink" href="#special-graph-names" title="Permanent link">¶</a></h2>
+<table class="table">
<thead>
<tr>
<th>URI</th>
Modified: websites/staging/jena/trunk/content/documentation/tdb/dynamic_datasets.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/tdb/dynamic_datasets.html (original)
+++ websites/staging/jena/trunk/content/documentation/tdb/dynamic_datasets.html Sun Jul 26 10:50:18 2015
@@ -83,8 +83,8 @@
<li><a href="/documentation/tdb/index.html">TDB</a></li>
<li><a href="/documentation/sdb/index.html">SDB</a></li>
<li><a href="/documentation/jdbc/index.html">SPARQL over JDBC</a></li>
- <li><a href="/documentation/security/index.html">Security</a></li>
<li><a href="/documentation/fuseki2/index.html">Fuseki</a></li>
+ <li><a href="/documentation/permissions/index.html">Permissions</a></li>
<li><a href="/documentation/assembler/index.html">Assembler</a></li>
<li><a href="/documentation/ontology/">Ontology API</a></li>
<li><a href="/documentation/inference/index.html">Inference API</a></li>
@@ -144,7 +144,18 @@
<div class="col-md-12">
<div id="breadcrumbs"></div>
<h1 class="title">TDB Dynamic Datasets</h1>
- <p><em>TDB version 0.8.5 and later</em></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><em>TDB version 0.8.5 and later</em></p>
<p>This feature allows a query to be made on a subset of all the named
graphs in the TDB storage datasets. The SPARQL <code>GRAPH</code> pattern
allows access to either a specific named graph or to all the named
Modified: websites/staging/jena/trunk/content/documentation/tdb/faqs.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/tdb/faqs.html (original)
+++ websites/staging/jena/trunk/content/documentation/tdb/faqs.html Sun Jul 26 10:50:18 2015
@@ -83,8 +83,8 @@
<li><a href="/documentation/tdb/index.html">TDB</a></li>
<li><a href="/documentation/sdb/index.html">SDB</a></li>
<li><a href="/documentation/jdbc/index.html">SPARQL over JDBC</a></li>
- <li><a href="/documentation/security/index.html">Security</a></li>
<li><a href="/documentation/fuseki2/index.html">Fuseki</a></li>
+ <li><a href="/documentation/permissions/index.html">Permissions</a></li>
<li><a href="/documentation/assembler/index.html">Assembler</a></li>
<li><a href="/documentation/ontology/">Ontology API</a></li>
<li><a href="/documentation/inference/index.html">Inference API</a></li>
@@ -144,7 +144,18 @@
<div class="col-md-12">
<div id="breadcrumbs"></div>
<h1 class="title">TDB FAQs</h1>
- <h2 id="faqs">FAQs</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="faqs">FAQs<a class="headerlink" href="#faqs" title="Permanent link">¶</a></h2>
<ul>
<li><a href="#transactions">Does TDB support Transactions?</a></li>
<li><a href="#multi-jvm">Can I share a TDB dataset between multiple applications?</a></li>
@@ -158,7 +169,7 @@
<li><a href="#windows-dataset-delete">Why can't I delete a dataset (MS Windows/64 bit)?</a></li>
</ul>
<p><a name="transactions"></a></p>
-<h2 id="does-tdb-support-transactions">Does TDB support transactions?</h2>
+<h2 id="does-tdb-support-transactions">Does TDB support transactions?<a class="headerlink" href="#does-tdb-support-transactions" title="Permanent link">¶</a></h2>
<p>Yes, TDB provides
<a href="http://en.wikipedia.org/wiki/Isolation_(database_systems)#SERIALIZABLE">Serializable</a>
transactions, the highest
@@ -169,7 +180,7 @@ can otherwise occur from non-transaction
<p>Please see the <a href="tdb_transactions.html">transactions</a> documentation for how to use TDB
transactionally.</p>
<p><a name="multi-jvm"></a></p>
-<h2 id="can-i-share-a-tdb-dataset-between-multiple-applications">Can I share a TDB dataset between multiple applications?</h2>
+<h2 id="can-i-share-a-tdb-dataset-between-multiple-applications">Can I share a TDB dataset between multiple applications?<a class="headerlink" href="#can-i-share-a-tdb-dataset-between-multiple-applications" title="Permanent link">¶</a></h2>
<p>Multiple applications, running in multiple JVMs, using the same
file databases is <strong>not</strong> supported and has a high risk of data corruption. Once corrupted a database cannot be repaired
and must be rebuilt from the original source data. Therefore there <strong>must</strong> be a single JVM
@@ -182,7 +193,7 @@ database server. Fuseki supports <a href
Applications should be written in terms of these protocols using the relevant Jena APIs, this has the added benefit of making your
applications portable to another SPARQL backend should you ever need to.</p>
<p><a name="impossibly-large-object"></a></p>
-<h2 id="what-is-the-impossibly-large-object-exception">What is the <em>Impossibly Large Object</em> exception?</h2>
+<h2 id="what-is-the-impossibly-large-object-exception">What is the <em>Impossibly Large Object</em> exception?<a class="headerlink" href="#what-is-the-impossibly-large-object-exception" title="Permanent link">¶</a></h2>
<p>The <em>Impossibly Large Object</em> exception is an exception that occurs when part of your TDB dataset has become corrupted. It may
only affect a small section of your dataset so may only occur intermittently depending on your queries. For example some queries
may continue to function normally while other queries or queries with/without particular features may fail. A particular query that
@@ -198,7 +209,7 @@ will need to be rebuilt from the origina
<a href="tdb_transactions.html">transactions</a> since this protects your dataset against corruption.</p>
<p>To resolve this problem you <strong>must</strong> rebuild your database from the original source data, a corrupted database <strong>cannot</strong> be repaired.</p>
<p><a name="tdbloader-vs-tdbloader2"></a></p>
-<h2 id="what-is-the-different-between-tdbloader-and-tdbloader2">What is the different between <code>tdbloader</code> and <code>tdbloader2</code>?</h2>
+<h2 id="what-is-the-different-between-tdbloader-and-tdbloader2">What is the different between <code>tdbloader</code> and <code>tdbloader2</code>?<a class="headerlink" href="#what-is-the-different-between-tdbloader-and-tdbloader2" title="Permanent link">¶</a></h2>
<p><code>tdbloader</code> and <code>tdbloader2</code> differ in how they build databases.</p>
<p><code>tdbloader</code> is Java based and uses the same TDB APIs that you would use in your own Java code to perform the data load. The advantage of this is that
it supports incremental loading of data into a TDB database. The downside is that the loader will be slower for initial database builds.</p>
@@ -208,7 +219,7 @@ for an initial database load since it do
database to be overwritten.</p>
<p>Often a good strategy is to use <code>tdbloader2</code> for your initial database creation and then use <code>tdbloader</code> for smaller incremental updates in the future.</p>
<p><a name="java-heap"></a></p>
-<h2 id="how-large-a-java-heap-should-i-use-for-tdb">How large a Java heap should I use for TDB?</h2>
+<h2 id="how-large-a-java-heap-should-i-use-for-tdb">How large a Java heap should I use for TDB?<a class="headerlink" href="#how-large-a-java-heap-should-i-use-for-tdb" title="Permanent link">¶</a></h2>
<p>TDB uses memory mapped files heavily for providing fast access to data and indices. Memory mapped files live outside of the JVM heap and are managed by
the OS therefore it is important to not allocate all available memory to the JVM heap.</p>
<p>However JVM heap is needed for TDB related things like query & update processing, storing the in-memory journal etc and also for any other activities that your code carries
@@ -218,7 +229,7 @@ on the overall size of your database.</p
<p>There is no hard and fast guidance we can give you on the exact numbers since it depends heavily on your data and your workload. Please ask on our mailing lists
(see our <a href="../help_and_support/">Ask</a> page) and provide as much detail as possible about your data and workload if you would like us to attempt to provide more specific guidance.</p>
<p><a name="fuseki-tdb-memory-leak"></a></p>
-<h2 id="does-fusekitdb-have-a-memory-leak">Does Fuseki/TDB have a memory leak?</h2>
+<h2 id="does-fusekitdb-have-a-memory-leak">Does Fuseki/TDB have a memory leak?<a class="headerlink" href="#does-fusekitdb-have-a-memory-leak" title="Permanent link">¶</a></h2>
<p>A number of users have reported a suspected memory leak when using Fuseki/TDB when it used to serve a database that has continuous high
load with a mixture of queries and updates. Having investigate the problem this is not a memory leak per-se rather a limitation of how
<a href="tdb_transactions.html">transactions</a> are implemented for TDB.</p>
@@ -233,7 +244,7 @@ contains a <code>.jrnl</code> file that
<p><strong>However</strong> because this relates to transactional use and the journal is also stored on disk no data will be lost, by stopping and restarting
Fuseki the journal will be flushed to disk.</p>
<p><a name="ssd"></a></p>
-<h2 id="should-i-use-a-ssd">Should I use a SSD?</h2>
+<h2 id="should-i-use-a-ssd">Should I use a SSD?<a class="headerlink" href="#should-i-use-a-ssd" title="Permanent link">¶</a></h2>
<p>Yes if you are able to</p>
<p>Using a SSD boost performance in a number of ways. Firstly bulk loads, inserts and deletions will be faster i.e. operations that modify the
database and have to be flushed to disk at some point due to faster IO. Secondly TDB will start faster because the files can be mapped into
@@ -242,7 +253,7 @@ memory faster.</p>
safely copied between systems (provided there is no process accessing the database at the time). Therefore even if you can't run your production
system with a SSD you can always perform your bulk load on a SSD equipped system first and then move the database to your production system.</p>
<p><a name="lock-exception"></a></p>
-<h2 id="why-do-i-get-the-exception-cant-open-database-at-location-pathtodb-as-it-is-already-locked-by-the-process-with-pid-1234-when-trying-to-open-a-tdb-database">Why do I get the exception <em>Can't open database at location /path/to/db as it is already locked by the process with PID 1234</em> when trying to open a TDB database?</h2>
+<h2 id="why-do-i-get-the-exception-cant-open-database-at-location-pathtodb-as-it-is-already-locked-by-the-process-with-pid-1234-when-trying-to-open-a-tdb-database">Why do I get the exception <em>Can't open database at location /path/to/db as it is already locked by the process with PID 1234</em> when trying to open a TDB database?<a class="headerlink" href="#why-do-i-get-the-exception-cant-open-database-at-location-pathtodb-as-it-is-already-locked-by-the-process-with-pid-1234-when-trying-to-open-a-tdb-database" title="Permanent link">¶</a></h2>
<p>This exception is a result of TDBs automatic multi-JVM usage prevention, as noted in the earlier
<a href="#multi-jvm">Can I share a TDB dataset between multiple applications?</a> question a TDB database can only be safely used by a single JVM otherwise
data corruption may occur. From 1.1.0 onwards TDB automatically enforces this restriction wherever possible and you will get this exception if you
@@ -254,12 +265,12 @@ the owner of the other process (if it is
cleared up) in which case you can try and manually remove the <code>tdb.lock</code> file from the database directory. Please only do this if you are <strong>certain</strong> that
the other process is not accessing the TDB database otherwise data corruption may occur.</p>
<p><a name="no-lock-warning"></a></p>
-<h2 id="i-see-a-warning-that-location-pathtodb-was-not-locked-if-another-jvm-accessed-this-location-simultaneously-data-corruption-may-have-occurred-in-my-logs">I see a warning that <em>Location /path/to/db was not locked, if another JVM accessed this location simultaneously data corruption may have occurred</em> in my logs?</h2>
+<h2 id="i-see-a-warning-that-location-pathtodb-was-not-locked-if-another-jvm-accessed-this-location-simultaneously-data-corruption-may-have-occurred-in-my-logs">I see a warning that <em>Location /path/to/db was not locked, if another JVM accessed this location simultaneously data corruption may have occurred</em> in my logs?<a class="headerlink" href="#i-see-a-warning-that-location-pathtodb-was-not-locked-if-another-jvm-accessed-this-location-simultaneously-data-corruption-may-have-occurred-in-my-logs" title="Permanent link">¶</a></h2>
<p>This warning can occur in rare circumstances when TDB detects that you are releasing a database location via <code>StoreConnection.release()</code> and that the
database was eligible to be locked but wasn't. This can usually only occur if you circumvented the normal TDB database opening procedures somehow.</p>
<p>As the warning states data corruption may occur if another JVM accesses the location while your process is accessing it. Ideally you should follow the
advice on <a href="#multi-jvm">multi-JVM usage</a> if this might happen, otherwise the warning can likely be safely ignored.</p>
-<h2 id="windows-dataset-delete">Deleting Datasets on MS Windows</h2>
+<h2 id="windows-dataset-delete">Deleting Datasets on MS Windows<a class="headerlink" href="#windows-dataset-delete" title="Permanent link">¶</a></h2>
<p>Java on MS Windows does not provide the ability to delete a memory mapped
file while the JVM is still running. The file is properly deleted when the
JVM exits. This is a known issue with Java.<br />
Modified: websites/staging/jena/trunk/content/documentation/tdb/index.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/tdb/index.html (original)
+++ websites/staging/jena/trunk/content/documentation/tdb/index.html Sun Jul 26 10:50:18 2015
@@ -83,8 +83,8 @@
<li><a href="/documentation/tdb/index.html">TDB</a></li>
<li><a href="/documentation/sdb/index.html">SDB</a></li>
<li><a href="/documentation/jdbc/index.html">SPARQL over JDBC</a></li>
- <li><a href="/documentation/security/index.html">Security</a></li>
<li><a href="/documentation/fuseki2/index.html">Fuseki</a></li>
+ <li><a href="/documentation/permissions/index.html">Permissions</a></li>
<li><a href="/documentation/assembler/index.html">Assembler</a></li>
<li><a href="/documentation/ontology/">Ontology API</a></li>
<li><a href="/documentation/inference/index.html">Inference API</a></li>
@@ -144,7 +144,18 @@
<div class="col-md-12">
<div id="breadcrumbs"></div>
<h1 class="title">TDB</h1>
- <p>TDB is a component of
+ <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 is a component of
<a href="http://jena.apache.org">Jena</a> for RDF storage
and query. It support the full range of Jena APIs.
TDB can be used as a high performance RDF store on a single machine.
@@ -160,7 +171,7 @@ under most circumstances. </p>
<a href="../fuseki2/">Fuseki</a> component which provides a SPARQL server that
can use TDB for persistent storage and provides the SPARQL protocols
for query, update and REST update over HTTP. </p>
-<h2 id="documentation">Documentation</h2>
+<h2 id="documentation">Documentation<a class="headerlink" href="#documentation" title="Permanent link">¶</a></h2>
<ul>
<li><a href="java_api.html">Using TDB from Java through the API</a></li>
<li><a href="commands.html">Command line utilities</a></li>
Modified: websites/staging/jena/trunk/content/documentation/tdb/java_api.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/tdb/java_api.html (original)
+++ websites/staging/jena/trunk/content/documentation/tdb/java_api.html Sun Jul 26 10:50:18 2015
@@ -83,8 +83,8 @@
<li><a href="/documentation/tdb/index.html">TDB</a></li>
<li><a href="/documentation/sdb/index.html">SDB</a></li>
<li><a href="/documentation/jdbc/index.html">SPARQL over JDBC</a></li>
- <li><a href="/documentation/security/index.html">Security</a></li>
<li><a href="/documentation/fuseki2/index.html">Fuseki</a></li>
+ <li><a href="/documentation/permissions/index.html">Permissions</a></li>
<li><a href="/documentation/assembler/index.html">Assembler</a></li>
<li><a href="/documentation/ontology/">Ontology API</a></li>
<li><a href="/documentation/inference/index.html">Inference API</a></li>
@@ -144,12 +144,23 @@
<div class="col-md-12">
<div id="breadcrumbs"></div>
<h1 class="title">TDB Java API</h1>
- <p>All the operations 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>All the operations of the
Jena API including the
<a href="../query/">SPARQL query and SPARQL Update</a> are supported.
The application obtains a model or RDF datasets from TDB then uses
it as for any other model or dataset.</p>
-<h2 id="contents">Contents</h2>
+<h2 id="contents">Contents<a class="headerlink" href="#contents" title="Permanent link">¶</a></h2>
<ul>
<li><a href="#constructing-a-model-or-dataset">Constructing a model or dataset</a><ul>
<li><a href="#using-a-directory-name">Using a directory name</a></li>
@@ -161,7 +172,7 @@ it as for any other model or dataset.</p
<li><a href="#caching-and-synchronization">Caching and synchronization</a></li>
</ul>
<p>TDB also supports <a href="tdb_transactions.html">transactions</a>.</p>
-<h2 id="constructing-a-model-or-dataset">Constructing a model or dataset</h2>
+<h2 id="constructing-a-model-or-dataset">Constructing a model or dataset<a class="headerlink" href="#constructing-a-model-or-dataset" title="Permanent link">¶</a></h2>
<p>The class <code>TDBFactory</code> contains the static factory methods for
creating and connecting to a TDB-backed graph or an RDF dataset.
Models and datasets should be closed after use.</p>
@@ -175,7 +186,7 @@ are created. If the directory contains f
application run, TDB connects to the data already there.</p>
<p>Closing the model or dataset is important. Any updates made are
forced to disk if they have not been written already.</p>
-<h3 id="using-a-directory-name">Using a directory name</h3>
+<h3 id="using-a-directory-name">Using a directory name<a class="headerlink" href="#using-a-directory-name" title="Permanent link">¶</a></h3>
<div class="codehilite"><pre> <span class="o">//</span> <span class="n">Make</span> <span class="n">a</span> <span class="n">TDB</span><span class="o">-</span><span class="n">backed</span> <span class="n">dataset</span>
<span class="n">String</span> <span class="n">directory</span> <span class="p">=</span> "<span class="n">MyDatabases</span><span class="o">/</span><span class="n">Dataset1</span>"Â <span class="p">;</span>
<span class="n">Dataset</span> <span class="n">dataset</span> <span class="p">=</span> <span class="n">TDBFactory</span><span class="p">.</span><span class="n">createDataset</span><span class="p">(</span><span class="n">directory</span><span class="p">)</span>Â <span class="p">;</span>
@@ -192,7 +203,7 @@ forced to disk if they have not been wri
</pre></div>
-<h3 id="using-an-assembler-file">Using an assembler file</h3>
+<h3 id="using-an-assembler-file">Using an assembler file<a class="headerlink" href="#using-an-assembler-file" title="Permanent link">¶</a></h3>
<div class="codehilite"><pre> <span class="o">//</span> <span class="n">Assembler</span> <span class="n">way</span><span class="p">:</span> <span class="n">Make</span> <span class="n">a</span> <span class="n">TDB</span><span class="o">-</span><span class="n">back</span> <span class="n">Jena</span> <span class="n">model</span> <span class="n">in</span> <span class="n">the</span> <span class="n">named</span> <span class="n">directory</span><span class="p">.</span>
<span class="o">//</span> <span class="n">This</span> <span class="n">way</span><span class="p">,</span> <span class="n">you</span> <span class="n">can</span> <span class="n">change</span> <span class="n">the</span> <span class="n">model</span> <span class="n">being</span> <span class="n">used</span> <span class="n">without</span> <span class="n">changing</span> <span class="n">the</span> <span class="n">code</span><span class="p">.</span>
<span class="o">//</span> <span class="n">The</span> <span class="n">assembler</span> <span class="n">file</span> <span class="n">is</span> <span class="n">a</span> <span class="n">configuration</span> <span class="n">file</span><span class="p">.</span>
@@ -211,11 +222,11 @@ forced to disk if they have not been wri
<p>See
<a href="assembler.html">the TDB assembler documentation</a>
for details.</p>
-<h2 id="bulkloader">Bulkloader</h2>
+<h2 id="bulkloader">Bulkloader<a class="headerlink" href="#bulkloader" title="Permanent link">¶</a></h2>
<p>The bulkloader is a faster way to load data into an empty dataset
than just using the Jena update operations.</p>
<p>It is accessed through the command line utility <code>tdbloader</code>.</p>
-<h2 id="concurrency">Concurrency</h2>
+<h2 id="concurrency">Concurrency<a class="headerlink" href="#concurrency" title="Permanent link">¶</a></h2>
<p>TDB support <a href="tdb_transactions.html">transactions</a>, which is the preferred
way to work. It is possible to act directly on the dataset without transaction
with a Multiple Reader or Single Writer (MRSW) policy for
@@ -224,7 +235,7 @@ policy - it is not automatically checked
<p>One gotcha is Java iterators. An iterator that is moving over the
database is making read operations and no updates to the dataset
are possible while an iterator is being used.</p>
-<h2 id="caching-and-synchronization">Caching and synchronization</h2>
+<h2 id="caching-and-synchronization">Caching and synchronization<a class="headerlink" href="#caching-and-synchronization" title="Permanent link">¶</a></h2>
<p>If used non-transactionally, then the application must be aware of
the caching and synchronization used by TDB. TDB employs caching at
various levels, from RDF terms to disk
Modified: websites/staging/jena/trunk/content/documentation/tdb/optimizer.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/tdb/optimizer.html (original)
+++ websites/staging/jena/trunk/content/documentation/tdb/optimizer.html Sun Jul 26 10:50:18 2015
@@ -83,8 +83,8 @@
<li><a href="/documentation/tdb/index.html">TDB</a></li>
<li><a href="/documentation/sdb/index.html">SDB</a></li>
<li><a href="/documentation/jdbc/index.html">SPARQL over JDBC</a></li>
- <li><a href="/documentation/security/index.html">Security</a></li>
<li><a href="/documentation/fuseki2/index.html">Fuseki</a></li>
+ <li><a href="/documentation/permissions/index.html">Permissions</a></li>
<li><a href="/documentation/assembler/index.html">Assembler</a></li>
<li><a href="/documentation/ontology/">Ontology API</a></li>
<li><a href="/documentation/inference/index.html">Inference API</a></li>
Modified: websites/staging/jena/trunk/content/documentation/tdb/quadfilter.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/tdb/quadfilter.html (original)
+++ websites/staging/jena/trunk/content/documentation/tdb/quadfilter.html Sun Jul 26 10:50:18 2015
@@ -83,8 +83,8 @@
<li><a href="/documentation/tdb/index.html">TDB</a></li>
<li><a href="/documentation/sdb/index.html">SDB</a></li>
<li><a href="/documentation/jdbc/index.html">SPARQL over JDBC</a></li>
- <li><a href="/documentation/security/index.html">Security</a></li>
<li><a href="/documentation/fuseki2/index.html">Fuseki</a></li>
+ <li><a href="/documentation/permissions/index.html">Permissions</a></li>
<li><a href="/documentation/assembler/index.html">Assembler</a></li>
<li><a href="/documentation/ontology/">Ontology API</a></li>
<li><a href="/documentation/inference/index.html">Inference API</a></li>
@@ -144,7 +144,18 @@
<div class="col-md-12">
<div id="breadcrumbs"></div>
<h1 class="title">TDB Quad Filter</h1>
- <p>This page describes how to filter quads at the lowest level of TDB.
+ <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 describes how to filter quads at the lowest level of TDB.
It can be used to hide certain quads (tripes in named graphs) or
triples.</p>
<p>The code for the example on this page can be found in the TDB
Modified: websites/staging/jena/trunk/content/documentation/tdb/requirements.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/tdb/requirements.html (original)
+++ websites/staging/jena/trunk/content/documentation/tdb/requirements.html Sun Jul 26 10:50:18 2015
@@ -83,8 +83,8 @@
<li><a href="/documentation/tdb/index.html">TDB</a></li>
<li><a href="/documentation/sdb/index.html">SDB</a></li>
<li><a href="/documentation/jdbc/index.html">SPARQL over JDBC</a></li>
- <li><a href="/documentation/security/index.html">Security</a></li>
<li><a href="/documentation/fuseki2/index.html">Fuseki</a></li>
+ <li><a href="/documentation/permissions/index.html">Permissions</a></li>
<li><a href="/documentation/assembler/index.html">Assembler</a></li>
<li><a href="/documentation/ontology/">Ontology API</a></li>
<li><a href="/documentation/inference/index.html">Inference API</a></li>
@@ -144,7 +144,18 @@
<div class="col-md-12">
<div id="breadcrumbs"></div>
<h1 class="title">TDB Requirements</h1>
- <p>TDB can run on 32 bit or 64 bit JVMs. It adapts to the underlying
+ <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 can run on 32 bit or 64 bit JVMs. It adapts to the underlying
architecture by choosing different file access mechanisms. 64 bit
Java is preferred for large scale and production deployments. On 64
bit Java, TDB uses memory mapped files.</p>
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 Sun Jul 26 10:50:18 2015
@@ -83,8 +83,8 @@
<li><a href="/documentation/tdb/index.html">TDB</a></li>
<li><a href="/documentation/sdb/index.html">SDB</a></li>
<li><a href="/documentation/jdbc/index.html">SPARQL over JDBC</a></li>
- <li><a href="/documentation/security/index.html">Security</a></li>
<li><a href="/documentation/fuseki2/index.html">Fuseki</a></li>
+ <li><a href="/documentation/permissions/index.html">Permissions</a></li>
<li><a href="/documentation/assembler/index.html">Assembler</a></li>
<li><a href="/documentation/ontology/">Ontology API</a></li>
<li><a href="/documentation/inference/index.html">Inference API</a></li>
Modified: websites/staging/jena/trunk/content/documentation/tdb/tdb_system.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/tdb/tdb_system.html (original)
+++ websites/staging/jena/trunk/content/documentation/tdb/tdb_system.html Sun Jul 26 10:50:18 2015
@@ -83,8 +83,8 @@
<li><a href="/documentation/tdb/index.html">TDB</a></li>
<li><a href="/documentation/sdb/index.html">SDB</a></li>
<li><a href="/documentation/jdbc/index.html">SPARQL over JDBC</a></li>
- <li><a href="/documentation/security/index.html">Security</a></li>
<li><a href="/documentation/fuseki2/index.html">Fuseki</a></li>
+ <li><a href="/documentation/permissions/index.html">Permissions</a></li>
<li><a href="/documentation/assembler/index.html">Assembler</a></li>
<li><a href="/documentation/ontology/">Ontology API</a></li>
<li><a href="/documentation/inference/index.html">Inference API</a></li>
@@ -144,7 +144,18 @@
<div class="col-md-12">
<div id="breadcrumbs"></div>
<h1 class="title">TDB with 64-bit and 32-bit JVMs</h1>
- <p>TDB runs on both 32-bit and 64-bit Java Virtual Machines. The same
+ <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 runs on both 32-bit and 64-bit Java Virtual Machines. The same
file formats are used on both systems and database files can be
transferred between architectures (no TDB system should be running
for the the database at the time of copy). The difference is that a
@@ -152,7 +163,7 @@ different file access mechanism used.</p
<p>The file access mechanism can be set explicitly, but this is not a
good idea for production usage, only for experimentation - see the
<a href="configuration.html#file_access_mode">File Access mode option</a>.</p>
-<h2 id="64-bit-java">64-bit Java</h2>
+<h2 id="64-bit-java">64-bit Java<a class="headerlink" href="#64-bit-java" title="Permanent link">¶</a></h2>
<p>On 64-bit Java, TDB uses memory mapped files and the operating
system handles much of the caching between RAM and disk. The amount
of RAM used for file caching increases and decreases as other
@@ -160,14 +171,14 @@ application run on the machine. The fewe
the machine, the more RAM will be available for file caching.</p>
<p>TDB is faster on a 64 bit JVM because more memory is available for
file caching.</p>
-<h2 id="32-bit-java">32-bit Java</h2>
+<h2 id="32-bit-java">32-bit Java<a class="headerlink" href="#32-bit-java" title="Permanent link">¶</a></h2>
<p>On 32-bit Java, TDB uses it's own file caching to enable large
databases. 32-bit Java limits the address space of the JVM to about
1.5Gbytes (the exact size is JVM-dependent), and this includes
memory mapped files, even though they are not in the Java heap. The
JVM heap size may need to be increased to make space for the disk
caches used by TDB.</p>
-<h2 id="disk-format">Disk Format</h2>
+<h2 id="disk-format">Disk Format<a class="headerlink" href="#disk-format" title="Permanent link">¶</a></h2>
<p>The on-disk file format is compatible between 32 and 64 bit systems
and databases can be transferred between systems by file copy if the
databases are not in use (no TDB or Fuseki instance is accessing them
Modified: websites/staging/jena/trunk/content/documentation/tdb/tdb_transactions.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/tdb/tdb_transactions.html (original)
+++ websites/staging/jena/trunk/content/documentation/tdb/tdb_transactions.html Sun Jul 26 10:50:18 2015
@@ -83,8 +83,8 @@
<li><a href="/documentation/tdb/index.html">TDB</a></li>
<li><a href="/documentation/sdb/index.html">SDB</a></li>
<li><a href="/documentation/jdbc/index.html">SPARQL over JDBC</a></li>
- <li><a href="/documentation/security/index.html">Security</a></li>
<li><a href="/documentation/fuseki2/index.html">Fuseki</a></li>
+ <li><a href="/documentation/permissions/index.html">Permissions</a></li>
<li><a href="/documentation/assembler/index.html">Assembler</a></li>
<li><a href="/documentation/ontology/">Ontology API</a></li>
<li><a href="/documentation/inference/index.html">Inference API</a></li>
@@ -144,7 +144,18 @@
<div class="col-md-12">
<div id="breadcrumbs"></div>
<h1 class="title">TDB Transactions</h1>
- <p>TDB provides
+ <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 provides
<a href="http://en.wikipedia.org/wiki/ACID">ACID</a>
transaction support through the use of
<a href="http://en.wikipedia.org/wiki/Write-ahead_logging">write-ahead-logging</a>.</p>
@@ -154,7 +165,7 @@ against data corruption, unexpected proc
to add transactional capability.</p>
<p>The file format of 1.0.X and 0.9.X is compatible with TDB 0.8.X.
See below for reverting a database to 0.8.X.</p>
-<h2 id="contents">Contents</h2>
+<h2 id="contents">Contents<a class="headerlink" href="#contents" title="Permanent link">¶</a></h2>
<ul>
<li><a href="#overview">Overview</a></li>
<li><a href="#limitations">Limitations</a></li>
@@ -169,7 +180,7 @@ See below for reverting a database to 0.
<li><a href="#migration-from-tdb-08x">Migration from TDB 0.8.X</a></li>
<li><a href="#reverting-to-tdb-08x">Reverting to TDB 0.8.X</a></li>
</ul>
-<h2 id="overview">Overview</h2>
+<h2 id="overview">Overview<a class="headerlink" href="#overview" title="Permanent link">¶</a></h2>
<p>The transaction mechanism in TDB is based on
<a href="http://en.wikipedia.org/wiki/Write-ahead_logging">write-ahead-logging</a>.
All changes made inside a write-transaction are written to
@@ -192,7 +203,7 @@ Graph Store Update as well as the full J
<a href="http://en.wikipedia.org/wiki/Isolation_(database_systems)#SERIALIZABLE">Serializable</a>
transactions, the highest
<a href="http://en.wikipedia.org/wiki/Isolation_(database_systems)">isolation level</a>.</p>
-<h2 id="limitations">Limitations</h2>
+<h2 id="limitations">Limitations<a class="headerlink" href="#limitations" title="Permanent link">¶</a></h2>
<p>(some of these limitations may be removed in later versions)</p>
<ul>
<li>Bulk loads: the TDB bulk loader is not transactional</li>
@@ -205,13 +216,13 @@ transactions, the highest
<p>If a single read transaction runs for a long time when there are
many updates, the system will consume a lot of temporary
resources.</p>
-<h2 id="api-for-transactions">API for Transactions</h2>
+<h2 id="api-for-transactions">API for Transactions<a class="headerlink" href="#api-for-transactions" title="Permanent link">¶</a></h2>
<p>TDB supports the general Jena API for transactions on RDF datasets
(introduced in Jena 2.7.0, ARQ 2.9.0). Not all storage systems support
this style of transactions.</p>
<p>A TDB-backed dataset can be used non-transactionally but once used in a transaction,
it should be used transactionally after that.</p>
-<h3 id="read-transactions">Read transactions</h3>
+<h3 id="read-transactions">Read transactions<a class="headerlink" href="#read-transactions" title="Permanent link">¶</a></h3>
<p>These are used for SPARQL queries and code using the Jena API
actions that do not change the data. The general pattern is:</p>
<div class="codehilite"><pre> <span class="n">dataset</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">READ</span><span class="p">)</span> <span class="p">;</span>
@@ -241,7 +252,7 @@ actions that do not change the data. Th
</pre></div>
-<h3 id="write-transactions">Write transactions</h3>
+<h3 id="write-transactions">Write transactions<a class="headerlink" href="#write-transactions" title="Permanent link">¶</a></h3>
<p>These are used for SPARQL queries, SPARQL updates and any Jena API
actions that modify the data. Beware that large <code>model.read</code>
operations consume large amounts of temporary space.</p>
@@ -299,7 +310,7 @@ dataset.</p>
</pre></div>
-<h2 id="multi-threaded-use">Multi-threaded use</h2>
+<h2 id="multi-threaded-use">Multi-threaded use<a class="headerlink" href="#multi-threaded-use" title="Permanent link">¶</a></h2>
<p>Each dataset object has one transaction active at a time per thread.
A dataset object can be used by different threads, with independent transactions.</p>
<p>The usual idiom within multi-threaded applications is to have
@@ -349,7 +360,7 @@ one dataset per thread, and so there is
<p>Each thread has a separate <code>dataset</code> object; these safely share the
same storage but have independent transactions.</p>
-<h2 id="multi-jvm">Multi JVM</h2>
+<h2 id="multi-jvm">Multi JVM<a class="headerlink" href="#multi-jvm" title="Permanent link">¶</a></h2>
<p>Multiple applications, running in multiple JVMs, using the same
file databases is not supported and has a high risk of data corruption. Once corrupted a database cannot be repaired
and must be rebuilt from the original source data. Therefore there <strong>must</strong> be a single JVM
@@ -360,9 +371,9 @@ database server for multiple application
<a href="http://www.w3.org/TR/sparql11-query/">SPARQL Query</a>,
<a href="http://www.w3.org/TR/sparql11-update/">SPARQL Update</a> and the
<a href="http://www.w3.org/TR/sparql11-http-rdf-update/">SPARQL Graph Store protocol</a>.</p>
-<h2 id="bulk-loading">Bulk loading</h2>
+<h2 id="bulk-loading">Bulk loading<a class="headerlink" href="#bulk-loading" title="Permanent link">¶</a></h2>
<p>The bulk loader is not transactional.</p>
-<h2 id="migration-from-tdb-08x">Migration from TDB 0.8.X</h2>
+<h2 id="migration-from-tdb-08x">Migration from TDB 0.8.X<a class="headerlink" href="#migration-from-tdb-08x" title="Permanent link">¶</a></h2>
<p>The database files used by TDB 0.9.0 are fully compatible with TDB
0.8.X; there are no file format changes and application code using
the interface provided by <code>TDBFactory</code> will continue to work as
@@ -372,7 +383,7 @@ presence of journal files.</p>
If an application simply uses the TDB 0.9 codebase, it will work as
before without transactions.</p>
<p>Applications can start using transaction by coding to the new API.</p>
-<h2 id="reverting-to-tdb-08x">Reverting to TDB 0.8.X</h2>
+<h2 id="reverting-to-tdb-08x">Reverting to TDB 0.8.X<a class="headerlink" href="#reverting-to-tdb-08x" title="Permanent link">¶</a></h2>
<p>A database can be reverted to TDB 0.8.X by running <code>tdb.tdbrecover</code>
- this program recovers any committed transaction with pending
actions. The database can then be used with TDB 0.8.X.</p>
Modified: websites/staging/jena/trunk/content/documentation/tdb/value_canonicalization.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/tdb/value_canonicalization.html (original)
+++ websites/staging/jena/trunk/content/documentation/tdb/value_canonicalization.html Sun Jul 26 10:50:18 2015
@@ -83,8 +83,8 @@
<li><a href="/documentation/tdb/index.html">TDB</a></li>
<li><a href="/documentation/sdb/index.html">SDB</a></li>
<li><a href="/documentation/jdbc/index.html">SPARQL over JDBC</a></li>
- <li><a href="/documentation/security/index.html">Security</a></li>
<li><a href="/documentation/fuseki2/index.html">Fuseki</a></li>
+ <li><a href="/documentation/permissions/index.html">Permissions</a></li>
<li><a href="/documentation/assembler/index.html">Assembler</a></li>
<li><a href="/documentation/ontology/">Ontology API</a></li>
<li><a href="/documentation/inference/index.html">Inference API</a></li>
@@ -144,7 +144,18 @@
<div class="col-md-12">
<div id="breadcrumbs"></div>
<h1 class="title">TDB Value Canonicalization</h1>
- <p>TDB canonicalizes certain XSD datatypes. The value of literals of
+ <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 canonicalizes certain XSD datatypes. The value of literals of
these datatypes is stored, not the original lexical form. For
example, <code>"01"^^xsd:integer</code>, <code>"1"^^xsd:integer</code> and
<code>"+001"^^xsd:integer</code> are all the same value and are stored as the
Modified: websites/staging/jena/trunk/content/documentation/tools/eyeball-getting-started.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/tools/eyeball-getting-started.html (original)
+++ websites/staging/jena/trunk/content/documentation/tools/eyeball-getting-started.html Sun Jul 26 10:50:18 2015
@@ -83,8 +83,8 @@
<li><a href="/documentation/tdb/index.html">TDB</a></li>
<li><a href="/documentation/sdb/index.html">SDB</a></li>
<li><a href="/documentation/jdbc/index.html">SPARQL over JDBC</a></li>
- <li><a href="/documentation/security/index.html">Security</a></li>
<li><a href="/documentation/fuseki2/index.html">Fuseki</a></li>
+ <li><a href="/documentation/permissions/index.html">Permissions</a></li>
<li><a href="/documentation/assembler/index.html">Assembler</a></li>
<li><a href="/documentation/ontology/">Ontology API</a></li>
<li><a href="/documentation/inference/index.html">Inference API</a></li>
@@ -144,25 +144,36 @@
<div class="col-md-12">
<div id="breadcrumbs"></div>
<h1 class="title">Eyeball - checking RDF/OWL for common problems</h1>
- <p>Eyeball is a Jena-based tool for checking RDF models (including OWL)
+ <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>Eyeball is a Jena-based tool for checking RDF models (including OWL)
for common problems. It is user-extensible using plugins.</p>
<p><b>Note: Jena Eyeball has not been released under the Apache Software License.<br />
The <a href="https://svn.apache.org/viewvc/jena/Scratch/Eyeball/trunk/">source code is available</a>
at Apache.</b></p>
-<h2 id="documentation-index">Documentation index</h2>
+<h2 id="documentation-index">Documentation index<a class="headerlink" href="#documentation-index" title="Permanent link">¶</a></h2>
<ul>
<li>The <a href="eyeball-guide.html">brief guide</a>.</li>
<li>The <a href="eyeball-manual.html">manual</a>.</li>
<li>The <a href="#todo/documentation/javadoc/eyeball/index.html">JavaDoc</a>.</li>
</ul>
-<h2 id="getting-the-eyeball-release">Getting the Eyeball release</h2>
+<h2 id="getting-the-eyeball-release">Getting the Eyeball release<a class="headerlink" href="#getting-the-eyeball-release" title="Permanent link">¶</a></h2>
<!--Please see the [downloads page](/download/index.cgi) for details.-->
<p><b>Download from SourceForge:
<a href="http://sourceforge.net/projects/jena/files/Eyeball/Eyeball%202.3/">Eyeball distribution</a>
This predates the move of Jena to Apache and is not an Apache release.
</b></p>
-<h2 id="installation">Installation</h2>
+<h2 id="installation">Installation<a class="headerlink" href="#installation" title="Permanent link">¶</a></h2>
<p>If you haven't already, download Eyeball <!--<a href="/download/index.cgi">download Eyeball</a>-->
and unzip it into a directory of your choice. The download includes all
of Jena, so it should not require any additional <code>.jar</code> files to run.</p>
@@ -174,9 +185,9 @@ of Jena, so it should not require any ad
<p>If it doesn't say that the tests passed, please <a href="/help_and_support/bugs_and_suggestions.html">file a Jira issue</a></p>
<p>Ensure all the jars in the Eyeball <code>lib</code> directory are on your
classpath.</p>
-<h2 id="using-eyeball-with-apache-maven">Using Eyeball with Apache Maven</h2>
+<h2 id="using-eyeball-with-apache-maven">Using Eyeball with Apache Maven<a class="headerlink" href="#using-eyeball-with-apache-maven" title="Permanent link">¶</a></h2>
<p>TODO</p>
-<h2 id="trying-it-out">Trying it out</h2>
+<h2 id="trying-it-out">Trying it out<a class="headerlink" href="#trying-it-out" title="Permanent link">¶</a></h2>
<p>Pick one of your RDF files; we'll call it FOO for now. Run the
command-line command</p>
<div class="codehilite"><pre><span class="n">java</span> <span class="n">jena</span><span class="p">.</span><span class="n">eyeball</span> <span class="o">-</span><span class="n">check</span> <span class="n">FOO</span>
@@ -191,7 +202,7 @@ classpath up or use the <em>-cp myClassP
<p>You may also want to try the experimental GUI, see below.</p>
<p>If the messages aren't self-explanatory, or you want more details,
please consult the <a href="eyeball-guide.html">guide</a>.</p>
-<h2 id="experimental-eyeball-gui">Experimental Eyeball GUI</h2>
+<h2 id="experimental-eyeball-gui">Experimental Eyeball GUI<a class="headerlink" href="#experimental-eyeball-gui" title="Permanent link">¶</a></h2>
<p>Eyeball includes a simple GUI tool which will allow multiple files to be
checked at once and multiple schemas to be assumed. It will also allow you
to select which inspectors are used.</p>
Modified: websites/staging/jena/trunk/content/documentation/tools/eyeball-guide.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/tools/eyeball-guide.html (original)
+++ websites/staging/jena/trunk/content/documentation/tools/eyeball-guide.html Sun Jul 26 10:50:18 2015
@@ -83,8 +83,8 @@
<li><a href="/documentation/tdb/index.html">TDB</a></li>
<li><a href="/documentation/sdb/index.html">SDB</a></li>
<li><a href="/documentation/jdbc/index.html">SPARQL over JDBC</a></li>
- <li><a href="/documentation/security/index.html">Security</a></li>
<li><a href="/documentation/fuseki2/index.html">Fuseki</a></li>
+ <li><a href="/documentation/permissions/index.html">Permissions</a></li>
<li><a href="/documentation/assembler/index.html">Assembler</a></li>
<li><a href="/documentation/ontology/">Ontology API</a></li>
<li><a href="/documentation/inference/index.html">Inference API</a></li>
@@ -144,7 +144,18 @@
<div class="col-md-12">
<div id="breadcrumbs"></div>
<h1 class="title">A brief guide to Jena Eyeball</h1>
- <p>This document is a work-in-progress; refer to 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>This document is a work-in-progress; refer to the
<a href="eyeball-manual.html">manual</a> for details when this page doesn't help.</p>
<p>So you've got Eyeball installed and you've run it on one of your
files, and Eyeball doesn't like it. You're not sure why, or what to
@@ -157,7 +168,7 @@ work out what URIs count as "declared" i
URIs and literals for syntactic correctness and name space prefixes
for being "sensible". Let's look at some of the messages you can
get.</p>
-<h2 id="unknown-predicate-reports">Unknown predicate reports</h2>
+<h2 id="unknown-predicate-reports">Unknown predicate reports<a class="headerlink" href="#unknown-predicate-reports" title="Permanent link">¶</a></h2>
<p>You'll probably find several messages like this:
predicate not declared in any schema: somePredicateURI</p>
<p>Eyeball treats the imported models, and (independently) the
@@ -184,7 +195,7 @@ own domain-specific property declaration
<p>You can give short names (like <strong>dc</strong> and <strong>rdfs</strong>) to your own
schemas, or collections of schemas, using an Eyeball <em>config file</em>,
but you'll have to see the <a href="eyeball-manual.html">manual</a> to find out how.</p>
-<h2 id="unknown-class-reports">Unknown class reports</h2>
+<h2 id="unknown-class-reports">Unknown class reports<a class="headerlink" href="#unknown-class-reports" title="Permanent link">¶</a></h2>
<p>You may see messages like this:</p>
<div class="codehilite"><pre><span class="n">class</span> <span class="n">not</span> <span class="n">declared</span> <span class="n">in</span> <span class="n">any</span> <span class="n">schema</span><span class="p">:</span> <span class="n">someClassURI</span>
</pre></div>
@@ -203,7 +214,7 @@ or <strong>D</strong> in any statement o
</pre></div>
-<h2 id="suppressing-inspectors">Suppressing inspectors</h2>
+<h2 id="suppressing-inspectors">Suppressing inspectors<a class="headerlink" href="#suppressing-inspectors" title="Permanent link">¶</a></h2>
<p>It may be that you're not interested in the "unknown predicate" or
"unknown class" reports until you've sorted out the URIs. Or maybe
you don't care about them. In that case, you can switch them off.</p>
@@ -220,7 +231,7 @@ default config file by looking in Eyebal
those short names from the check. <em>property</em> is the short name for
the "unknown property" inspector, and <em>class</em> is the short name for
the "unknown class" inspector.</p>
-<h2 id="namespace-and-uri-reports">Namespace and URI reports</h2>
+<h2 id="namespace-and-uri-reports">Namespace and URI reports<a class="headerlink" href="#namespace-and-uri-reports" title="Permanent link">¶</a></h2>
<p>Eyeball checks all the URIs in the model, including (if available)
those used for namespaces. (And literals, but see below.) Here's an
example:</p>
@@ -238,7 +249,7 @@ unwise to use file URIs - which tend to
of your directory structure - for global concepts.
A more usual reason is that the URI is syntactically illegal. Here
are some possibilities:</p>
-<table>
+<table class="table">
<thead>
<tr>
<th>problem</th>
@@ -272,7 +283,7 @@ are some possibilities:</p>
</tr>
</tbody>
</table>
-<h2 id="problems-with-literals">Problems with literals</h2>
+<h2 id="problems-with-literals">Problems with literals<a class="headerlink" href="#problems-with-literals" title="Permanent link">¶</a></h2>
<p>Eyeball checks literals (using the <em>literal inspector</em>, whose short
name is <strong>literal</strong> if you want to switch it off), but the checking
is quite weak because it doesn't understand types at the moment.
@@ -302,7 +313,7 @@ of the literal is OK for that type. But
messages are the same as those that appear in the URI checking -
above - for the very good reason that it's the same code doing the
checking.)</p>
-<h2 id="problematic-prefixes">Problematic prefixes</h2>
+<h2 id="problematic-prefixes">Problematic prefixes<a class="headerlink" href="#problematic-prefixes" title="Permanent link">¶</a></h2>
<p>Both RDF/XML and N3 allow (and RDF/XML requires) namespaces to be
abbreviated by prefixes. Eyeball checks prefixes for two possible
problems. The first:</p>
@@ -329,13 +340,13 @@ types or predicates) but haven't been gi
<p>If you're not bothered about inventing short prefixes for your
namespaces, you can <strong>-exclude</strong> <code>jena-prefix</code> to suppress this
inspection.</p>
-<h2 id="but-how-do-i">But how do I ...</h2>
+<h2 id="but-how-do-i">But how do I ...<a class="headerlink" href="#but-how-do-i" title="Permanent link">¶</a></h2>
<p>The reports described so far are part of Eyeball's default set of
inspections. There are some other checks that it can do that are
switched off by default, because they are expensive, initially
overwhelming, or downright obscure. If you need to add these checks
to your eyeballing, this is how to do it.</p>
-<h3 id="make-sure-everything-is-typed">... make sure everything is typed?</h3>
+<h3 id="make-sure-everything-is-typed">... make sure everything is typed?<a class="headerlink" href="#make-sure-everything-is-typed" title="Permanent link">¶</a></h3>
<p>Some applications (or a general notion of cleanliness) require that
every individual in an RDF model has an explicit <code>rdf:type</code>. The
Eyeball check for this isn't enabled by default, because lots of
@@ -354,7 +365,7 @@ Eyeball will run by adding to the comman
<p>for each resource in the model which is not the subject of an
<code>rdf:type</code> statement.</p>
-<h3 id="check-for-type-consistency">... check for type consistency?</h3>
+<h3 id="check-for-type-consistency">... check for type consistency?<a class="headerlink" href="#check-for-type-consistency" title="Permanent link">¶</a></h3>
<p>One easy mistake to make in RDF is to make an assertion - we'll
call it <strong>S P O</strong> - about some subject <strong>S</strong> which is "of the wrong
type", that is, not of whatever type <strong>P</strong>'s domain is. This isn't,
@@ -396,7 +407,7 @@ wrong.</p>
inference, to complete the type hierarchy and check the domains and
ranges of properties. It's quite slow, which is one reason it isn't
switched on by default.</p>
-<h3 id="check-the-right-number-of-values-for-a-property">... check the right number of values for a property?</h3>
+<h3 id="check-the-right-number-of-values-for-a-property">... check the right number of values for a property?<a class="headerlink" href="#check-the-right-number-of-values-for-a-property" title="Permanent link">¶</a></h3>
<p>You want to make sure that your data has the right properties for
things of a certain type: say, that a book has at least one author
(or editor), an album has at least one track, nobody in your