You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by bu...@apache.org on 2013/08/26 19:03:49 UTC

svn commit: r876265 - in /websites/staging/jena/trunk/content: ./ documentation/jdbc/index.html

Author: buildbot
Date: Mon Aug 26 17:03:49 2013
New Revision: 876265

Log:
Staging update by buildbot for jena

Modified:
    websites/staging/jena/trunk/content/   (props changed)
    websites/staging/jena/trunk/content/documentation/jdbc/index.html

Propchange: websites/staging/jena/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Mon Aug 26 17:03:49 2013
@@ -1 +1 @@
-1517072
+1517603

Modified: websites/staging/jena/trunk/content/documentation/jdbc/index.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/jdbc/index.html (original)
+++ websites/staging/jena/trunk/content/documentation/jdbc/index.html Mon Aug 26 17:03:49 2013
@@ -106,12 +106,13 @@
   <p>Jena JDBC is a set of libraries which provide SPARQL over JDBC driver implementations.</p>
 <p>This is a pure SPARQL over JDBC implementation, there is no attempt to present the underlying
 RDF data model as a relational model through the driver and only SPARQL queries and updates
-are supported.  Otherwise it is a fully fledge type 4 JDBC driver.</p>
+are supported.</p>
+<p>It provides type 4 drivers in that they are pure Java based but the drivers are not JDBC compliant since
+by definition they <strong>do not</strong> support SQL.</p>
 <h2 id="documentation">Documentation</h2>
 <ul>
 <li><a href="#overview">Overview</a></li>
 <li><a href="#basic-usage">Basic Usage</a></li>
-<li><a href="#making-queries">Making Queries</a></li>
 <li><a href="#alternatives">Alternatives</a></li>
 <li><a href="drivers.html">Jena JDBC Drivers</a></li>
 <li><a href="artifacts.html">Maven Artifacts for Jena JDBC</a></li>
@@ -171,7 +172,7 @@ memory which can use lots of memory when
 <p>The following takes you through the basic usage of the in-memory JDBC driver.  The code should be familiar
 to anyone who has used JDBC before and is easily used with our other <a href="drivers.html">drivers</a> simply by
 changing the connection URL appropriately.</p>
-<h3 id="making-a-connection">Making a Connection</h3>
+<h3 id="establishing-a-connection">Establishing a Connection</h3>
 <p>Firstly we should ensure that the driver we wish to use is registered with the JDBC driver manager, a static
 method is provided for this:</p>
 <div class="codehilite"><pre><span class="n">MemDriver</span><span class="p">.</span><span class="n">register</span><span class="p">();</span>
@@ -180,32 +181,37 @@ method is provided for this:</p>
 
 <p>Once this is done we can then make a JDBC connection just be providing an appropriate connection URL:</p>
 <div class="codehilite"><pre><span class="c1">// Make a connection using the In-Memory driver starting from an empty dataset</span>
-<span class="n">Connection</span> <span class="n">conn</span> <span class="o">=</span> <span class="n">DriverManager</span><span class="p">.</span><span class="n">getConnection</span><span class="p">(</span><span class="s">&quot;jdbc:jena:men:empty=true&quot;</span><span class="p">);</span>
+<span class="n">Connection</span> <span class="n">conn</span> <span class="o">=</span> <span class="n">DriverManager</span><span class="p">.</span><span class="n">getConnection</span><span class="p">(</span><span class="s">&quot;jdbc:jena:mem:empty=true&quot;</span><span class="p">);</span>
 </pre></div>
 
 
 <p>Now we can go ahead and use the connection as you would normally.</p>
-<h3 id="making-queries">Making Queries</h3>
+<h3 id="performing-queries">Performing Queries</h3>
 <p>You make queries as you would with any JDBC driver, the only difference being that the queries must be SPARQL:</p>
 <div class="codehilite"><pre><span class="c1">// Need a statement</span>
 <span class="n">Statement</span> <span class="n">stmt</span> <span class="o">=</span> <span class="n">conn</span><span class="p">.</span><span class="n">createStatement</span><span class="p">();</span>
 
-<span class="c1">// Make a query</span>
-<span class="n">ResultSet</span> <span class="n">rset</span> <span class="o">=</span> <span class="n">stmt</span><span class="p">.</span><span class="n">executeQuery</span><span class="p">(</span><span class="s">&quot;SELECT DISTINCT ?type WHERE { ?s a ?type } LIMIT 100&quot;</span><span class="p">);</span>
+<span class="n">try</span> <span class="p">{</span>
+  <span class="c1">// Make a query</span>
+  <span class="n">ResultSet</span> <span class="n">rset</span> <span class="o">=</span> <span class="n">stmt</span><span class="p">.</span><span class="n">executeQuery</span><span class="p">(</span><span class="s">&quot;SELECT DISTINCT ?type WHERE { ?s a ?type } LIMIT 100&quot;</span><span class="p">);</span>
 
-<span class="c1">// Iterate over results</span>
-<span class="k">while</span> <span class="p">(</span><span class="n">rest</span><span class="p">.</span><span class="n">next</span><span class="p">())</span> <span class="p">{</span>
-  <span class="c1">// Print out type as a string</span>
-  <span class="n">System</span><span class="p">.</span><span class="n">out</span><span class="p">.</span><span class="n">println</span><span class="p">(</span><span class="n">rset</span><span class="p">.</span><span class="n">getString</span><span class="p">(</span><span class="s">&quot;type&quot;</span><span class="p">));</span>
-<span class="p">}</span>
+  <span class="c1">// Iterate over results</span>
+  <span class="k">while</span> <span class="p">(</span><span class="n">rest</span><span class="p">.</span><span class="n">next</span><span class="p">())</span> <span class="p">{</span>
+    <span class="c1">// Print out type as a string</span>
+    <span class="n">System</span><span class="p">.</span><span class="n">out</span><span class="p">.</span><span class="n">println</span><span class="p">(</span><span class="n">rset</span><span class="p">.</span><span class="n">getString</span><span class="p">(</span><span class="s">&quot;type&quot;</span><span class="p">));</span>
+  <span class="p">}</span>
 
-<span class="c1">// Clean up</span>
-<span class="n">rset</span><span class="p">.</span><span class="n">close</span><span class="p">();</span>
-<span class="n">stmt</span><span class="p">.</span><span class="n">close</span><span class="p">();</span>
+  <span class="c1">// Clean up</span>
+  <span class="n">rset</span><span class="p">.</span><span class="n">close</span><span class="p">();</span>
+<span class="p">}</span> <span class="n">catch</span> <span class="p">(</span><span class="n">SQLException</span> <span class="n">e</span><span class="p">)</span> <span class="p">{</span>
+  <span class="n">System</span><span class="p">.</span><span class="n">err</span><span class="p">.</span><span class="n">println</span><span class="p">(</span><span class="s">&quot;SQL Error - &quot;</span> <span class="o">+</span> <span class="n">e</span><span class="p">.</span><span class="n">getMessage</span><span class="p">());</span>
+<span class="p">}</span> <span class="n">finally</span> <span class="p">{</span>
+  <span class="n">stmt</span><span class="p">.</span><span class="n">close</span><span class="p">();</span>
+<span class="p">}</span>
 </pre></div>
 
 
-<h3 id="making-updates">Making Updates</h3>
+<h3 id="performing-updates">Performing Updates</h3>
 <p>You make updates as you would with any JDBC driver.  Again the main difference is that updates must be SPARQL,
 one downside of this is that SPARQL provides no way to indicate the number of triples/quads affected by an update
 so the JDBC driver will either return <code>0</code> for successful updates or throw a <code>SQLException</code> for failed updates:</p>
@@ -218,11 +224,10 @@ so the JDBC driver will either return <c
   <span class="n">System</span><span class="p">.</span><span class="n">out</span><span class="p">.</span><span class="n">println</span><span class="p">(</span><span class="s">&quot;Update succeeded&quot;</span><span class="p">);</span>
 <span class="p">}</span> <span class="n">catch</span> <span class="p">(</span><span class="n">SQLException</span> <span class="n">e</span><span class="p">)</span> <span class="p">{</span>
   <span class="n">System</span><span class="p">.</span><span class="n">out</span><span class="p">.</span><span class="n">println</span><span class="p">(</span><span class="s">&quot;Update Failed &quot;</span> <span class="o">-</span> <span class="o">+</span> <span class="n">e</span><span class="p">.</span><span class="n">getMessage</span><span class="p">());</span>
+<span class="p">}</span> <span class="n">finally</span> <span class="p">{</span>    
+  <span class="c1">// Clean up</span>
+  <span class="n">stmt</span><span class="p">.</span><span class="n">close</span><span class="p">();</span>
 <span class="p">}</span>
-
-<span class="c1">// Clean up</span>
-<span class="n">rset</span><span class="p">.</span><span class="n">close</span><span class="p">();</span>
-<span class="n">stmt</span><span class="p">.</span><span class="n">close</span><span class="p">();</span>
 </pre></div>