Author: buildbot
Date: Thu Jul 31 11:52:36 2014
New Revision: 918036

Log:
Staging update by buildbot for jena

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

Propchange: websites/staging/jena/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Thu Jul 31 11:52:36 2014
@@ -1 +1 @@
-1614863
+1614865

Modified: websites/staging/jena/trunk/content/documentation/csv/index.html
==============================================================================
--- websites/staging/jena/trunk/content/documentation/csv/index.html (original)
+++ websites/staging/jena/trunk/content/documentation/csv/index.html Thu Jul 31 
11:52:36 2014
@@ -145,7 +145,56 @@
        <div class="col-md-12">
        <div id="breadcrumbs"></div>
        <h1 class="title">CSV PropertyTable
</h1>
-  
+  <p>This module is about getting CSVs into a form that is amenable to Jena 
SPARQL processing, and doing so in a way that is not specific to CSV files. 
+It includes getting the right architecture in place for regular table shaped 
data, using the core abstraction of PropertyTable.</p>
+<p><em>Illustration</em></p>
+<p>This module involves the basic mapping of CSV to RDF using a fixed 
algorithm, including interpreting data as numbers or strings.</p>
+<p>Suppose we have a CSV file located in “file:///c:/town.csv”, which has 
one header row, two data rows:</p>
+<div class="codehilite"><pre><span class="n">Town</span><span 
class="p">,</span><span class="n">Population</span>
+<span class="n">Southton</span><span class="p">,</span>123000
+<span class="n">Northville</span><span class="p">,</span>654000
+</pre></div>
+
+
+<p>As RDF this might be viewable as:</p>
+<div class="codehilite"><pre><span class="p">@</span><span 
class="n">prefix</span> <span class="p">:</span> <span 
class="o">&lt;</span><span class="n">file</span><span class="p">:</span><span 
class="o">///</span><span class="n">c</span><span class="p">:</span><span 
class="o">/</span><span class="n">town</span><span class="p">.</span><span 
class="n">csv</span>#<span class="o">&gt;</span> <span class="p">.</span>
+<span class="p">@</span><span class="n">prefix</span> <span 
class="n">csv</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">w3c</span><span class="o">/</span><span class="n">future</span><span 
class="o">-</span><span class="n">csv</span><span class="o">-</span><span 
class="n">vocab</span><span class="o">/&gt;</span> <span class="p">.</span>
+<span class="p">[</span> <span class="n">csv</span><span 
class="p">:</span><span class="n">row</span> 1 <span class="p">;</span> <span 
class="p">:</span><span class="n">Town</span> &quot;<span 
class="n">Southton</span>&quot; <span class="p">;</span> <span 
class="p">:</span><span class="n">Population</span>  “123000”^^<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>2001<span 
class="o">/</span><span class="n">XMLSchema</span>#<span class="n">int</span> 
<span class="p">]</span> <span class="p">.</span>
+<span class="p">[</span> <span class="n">csv</span><span 
class="p">:</span><span class="n">row</span> 2 <span class="p">;</span> <span 
class="p">:</span><span class="n">Town</span> &quot;<span 
class="n">Northville</span>&quot; <span class="p">;</span> <span 
class="p">:</span><span class="n">Population</span>  “654000”^^<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>2001<span 
class="o">/</span><span class="n">XMLSchema</span>#<span class="n">int</span>  
<span class="p">]</span> <span class="p">.</span>
+</pre></div>
+
+
+<p>or without the bnode abbreviation:</p>
+<div class="codehilite"><pre><span class="p">@</span><span 
class="n">prefix</span> <span class="p">:</span> <span 
class="o">&lt;</span><span class="n">file</span><span class="p">:</span><span 
class="o">///</span><span class="n">c</span><span class="p">:</span><span 
class="o">/</span><span class="n">town</span><span class="p">.</span><span 
class="n">csv</span>#<span class="o">&gt;</span> <span class="p">.</span>
+<span class="p">@</span><span class="n">prefix</span> <span 
class="n">csv</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">w3c</span><span class="o">/</span><span class="n">future</span><span 
class="o">-</span><span class="n">csv</span><span class="o">-</span><span 
class="n">vocab</span><span class="o">/&gt;</span> <span class="p">.</span>
+<span class="n">_</span><span class="p">:</span><span class="n">b0</span>  
<span class="n">csv</span><span class="p">:</span><span class="n">row</span> 1 
<span class="p">;</span>
+      <span class="p">:</span><span class="n">Town</span> &quot;<span 
class="n">Southton</span>&quot; <span class="p">;</span>
+      <span class="p">:</span><span class="n">Population</span> 
“123000”^^<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>2001<span class="o">/</span><span 
class="n">XMLSchema</span>#<span class="n">int</span> <span class="p">.</span>
+<span class="n">_</span><span class="p">:</span><span class="n">b1</span>  
<span class="n">csv</span><span class="p">:</span><span class="n">row</span> 2 
<span class="p">;</span>
+      <span class="p">:</span><span class="n">Town</span> &quot;<span 
class="n">Northville</span>&quot; <span class="p">;</span>
+      <span class="p">:</span><span class="n">Population</span> 
“654000”^^<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>2001<span class="o">/</span><span 
class="n">XMLSchema</span>#<span class="n">int</span><span class="p">.</span>
+</pre></div>
+
+
+<p>Each row is modeling one "entity" (here, a population observation). 
+There is a subject (a blank node) and one predicate-value for each cell of the 
row. 
+Row numbers are added because it can be important. 
+Now the CSV file is viewed as a graph - normal, unmodified SPARQL can be used. 
+Multiple CSVs files can be multiple graphs in one dataset to give query across 
different data sources.</p>
+<p>We can use the following SPARQL query for “Towns over 500,000 people” 
mentioned in the CSV file:</p>
+<div class="codehilite"><pre><span class="n">SELECT</span> ?<span 
class="n">townName</span> ?<span class="n">pop</span> <span class="p">{</span>
+  <span class="n">GRAPH</span> <span class="o">&lt;</span><span 
class="n">file</span><span class="p">:</span><span class="o">///</span><span 
class="n">c</span><span class="p">:</span><span class="o">/</span><span 
class="n">town</span><span class="p">.</span><span class="n">csv</span><span 
class="o">&gt;</span> <span class="p">{</span>
+    ?<span class="n">x</span> <span class="p">:</span><span 
class="n">Town</span> ?<span class="n">townName</span> <span class="p">;</span>
+       <span class="p">:</span><span class="n">Popuation</span> ?<span 
class="n">pop</span> <span class="p">.</span>
+    <span class="n">FILTER</span><span class="p">(</span>?<span 
class="n">pop</span> <span class="o">&gt;</span> 500000<span class="p">)</span>
+  <span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
+
+
+<h2 id="get-started">Get Started</h2>
+<h2 id="design">Design</h2>
+<h2 id="implementation">Implementation</h2>
   </div>
 </div>
 


Reply via email to