pho 0.5 → 0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. data/CHANGES +17 -0
  2. data/Rakefile +10 -2
  3. data/bin/talis_store +37 -92
  4. data/doc/rdoc/classes/Pho.html +11 -0
  5. data/doc/rdoc/classes/Pho/CommandLine.html +508 -0
  6. data/doc/rdoc/classes/Pho/DatatypeProperty.html +15 -15
  7. data/doc/rdoc/classes/Pho/Enrichment.html +1 -1
  8. data/doc/rdoc/classes/Pho/Enrichment/{ResourceEnricher.html → StoreEnricher.html} +158 -58
  9. data/doc/rdoc/classes/Pho/Etags.html +36 -36
  10. data/doc/rdoc/classes/Pho/Facet/Results.html +19 -19
  11. data/doc/rdoc/classes/Pho/Facet/Term.html +6 -6
  12. data/doc/rdoc/classes/Pho/FieldPredicateMap.html +94 -94
  13. data/doc/rdoc/classes/Pho/FieldWeighting.html +14 -14
  14. data/doc/rdoc/classes/Pho/FileManagement/AbstractFileManager.html +126 -91
  15. data/doc/rdoc/classes/Pho/FileManagement/FileManager.html +68 -62
  16. data/doc/rdoc/classes/Pho/FileManagement/RDFManager.html +22 -57
  17. data/doc/rdoc/classes/Pho/Job.html +68 -67
  18. data/doc/rdoc/classes/Pho/Jobs.html +62 -62
  19. data/doc/rdoc/classes/Pho/QueryProfile.html +64 -64
  20. data/doc/rdoc/classes/Pho/RDF.html +120 -0
  21. data/doc/rdoc/classes/Pho/RDF/Parser.html +277 -0
  22. data/doc/rdoc/classes/Pho/ResourceHash.html +1 -1
  23. data/doc/rdoc/classes/Pho/ResourceHash/Converter.html +48 -46
  24. data/doc/rdoc/classes/Pho/ResourceHash/SetAlgebra.html +15 -14
  25. data/doc/rdoc/classes/Pho/Snapshot.html +36 -36
  26. data/doc/rdoc/classes/Pho/Sparql.html +50 -0
  27. data/doc/rdoc/classes/Pho/Sparql/SparqlClient.html +147 -68
  28. data/doc/rdoc/classes/Pho/Sparql/SparqlHelper.html +195 -114
  29. data/doc/rdoc/classes/Pho/Status.html +26 -26
  30. data/doc/rdoc/classes/Pho/Store.html +271 -264
  31. data/doc/rdoc/classes/Pho/StoreSparqlClient.html +183 -0
  32. data/doc/rdoc/classes/Pho/Update.html +1 -0
  33. data/doc/rdoc/classes/Pho/Update/Changeset.html +69 -68
  34. data/doc/rdoc/classes/Pho/Update/ChangesetBuilder.html +24 -24
  35. data/doc/rdoc/classes/Pho/Update/Changesets.html +15 -14
  36. data/doc/rdoc/classes/Pho/Update/LiteralStatement.html +18 -18
  37. data/doc/rdoc/classes/Pho/Update/ResourceStatement.html +24 -24
  38. data/doc/rdoc/classes/Pho/Update/Statement.html +28 -27
  39. data/doc/rdoc/classes/String.html +1 -1
  40. data/doc/rdoc/created.rid +1 -1
  41. data/doc/rdoc/files/CHANGES.html +53 -1
  42. data/doc/rdoc/files/lib/pho/changeset_rb.html +1 -1
  43. data/doc/rdoc/files/lib/pho/command_line_rb.html +101 -0
  44. data/doc/rdoc/files/lib/pho/converter_rb.html +1 -1
  45. data/doc/rdoc/files/lib/pho/enrichment_rb.html +1 -1
  46. data/doc/rdoc/files/lib/pho/file_management_rb.html +1 -1
  47. data/doc/rdoc/files/lib/pho/file_manager_rb.html +1 -1
  48. data/doc/rdoc/files/lib/pho/rdf_collection_rb.html +1 -1
  49. data/doc/rdoc/files/lib/pho/rdf_rb.html +108 -0
  50. data/doc/rdoc/files/lib/pho/sparql_rb.html +1 -1
  51. data/doc/rdoc/files/lib/pho/store_rb.html +8 -1
  52. data/doc/rdoc/files/lib/pho_rb.html +4 -2
  53. data/doc/rdoc/fr_class_index.html +6 -1
  54. data/doc/rdoc/fr_file_index.html +2 -0
  55. data/doc/rdoc/fr_method_index.html +192 -172
  56. data/examples/calais/bio.txt +7 -0
  57. data/examples/calais/dump.rb +17 -0
  58. data/examples/calais/enlighten.rb +23 -0
  59. data/examples/calais/output.rdf +25 -0
  60. data/examples/sinatra/viewer.rb +20 -0
  61. data/lib/pho.rb +4 -1
  62. data/lib/pho/changeset.rb +17 -1
  63. data/lib/pho/command_line.rb +166 -0
  64. data/lib/pho/converter.rb +8 -3
  65. data/lib/pho/enrichment.rb +93 -28
  66. data/lib/pho/file_management.rb +32 -19
  67. data/lib/pho/file_manager.rb +22 -26
  68. data/lib/pho/rdf.rb +74 -0
  69. data/lib/pho/rdf_collection.rb +2 -17
  70. data/lib/pho/sparql.rb +150 -38
  71. data/lib/pho/store.rb +28 -2
  72. data/tests/tc_contentbox.rb +41 -0
  73. data/tests/tc_enrichment.rb +41 -4
  74. data/tests/tc_file_manager.rb +97 -7
  75. data/tests/tc_rdf_collection.rb +25 -13
  76. data/tests/tc_rdf_parser.rb +37 -0
  77. data/tests/tc_sparql.rb +72 -2
  78. data/tests/tc_sparql_helper.rb +16 -0
  79. data/tests/ts_pho.rb +2 -1
  80. metadata +20 -3
@@ -92,8 +92,8 @@ Class providing set algebra methods over triple hashes
92
92
  <h3 class="section-bar">Methods</h3>
93
93
 
94
94
  <div class="name-list">
95
- <a href="#M000079">minus</a>&nbsp;&nbsp;
96
- <a href="#M000080">object_in_array?</a>&nbsp;&nbsp;
95
+ <a href="#M000082">minus</a>&nbsp;&nbsp;
96
+ <a href="#M000083">object_in_array?</a>&nbsp;&nbsp;
97
97
  </div>
98
98
  </div>
99
99
 
@@ -115,19 +115,20 @@ Class providing set algebra methods over triple hashes
115
115
  <div id="methods">
116
116
  <h3 class="section-bar">Public Class methods</h3>
117
117
 
118
- <div id="method-M000079" class="method-detail">
119
- <a name="M000079"></a>
118
+ <div id="method-M000082" class="method-detail">
119
+ <a name="M000082"></a>
120
120
 
121
121
  <div class="method-heading">
122
- <a href="#M000079" class="method-signature">
122
+ <a href="#M000082" class="method-signature">
123
123
  <span class="method-name">minus</span><span class="method-args">(first, second)</span>
124
124
  </a>
125
125
  </div>
126
126
 
127
127
  <div class="method-description">
128
128
  <p>
129
- Accepts two triple hashes, expressed as RDF-in-JSON and returns a new Ruby
130
- data structure that constitutes the different between the two graphs
129
+ Accepts two triple hashes, expressed as <a
130
+ href="../RDF.html">RDF</a>-in-JSON and returns a new Ruby data structure
131
+ that constitutes the different between the two graphs
131
132
  </p>
132
133
  <p>
133
134
  i.e. the return value will be a hash containing the triples that are in the
@@ -138,8 +139,8 @@ first graph but which are not present in the second.
138
139
  second:: the second graph.
139
140
  </pre>
140
141
  <p><a class="source-toggle" href="#"
141
- onclick="toggleCode('M000079-source');return false;">[Source]</a></p>
142
- <div class="method-source-code" id="M000079-source">
142
+ onclick="toggleCode('M000082-source');return false;">[Source]</a></p>
143
+ <div class="method-source-code" id="M000082-source">
143
144
  <pre>
144
145
  <span class="ruby-comment cmt"># File lib/pho/resource_hash.rb, line 20</span>
145
146
  <span class="ruby-keyword kw">def</span> <span class="ruby-constant">SetAlgebra</span>.<span class="ruby-identifier">minus</span>(<span class="ruby-identifier">first</span>, <span class="ruby-identifier">second</span>)
@@ -182,11 +183,11 @@ first graph but which are not present in the second.
182
183
  </div>
183
184
  </div>
184
185
 
185
- <div id="method-M000080" class="method-detail">
186
- <a name="M000080"></a>
186
+ <div id="method-M000083" class="method-detail">
187
+ <a name="M000083"></a>
187
188
 
188
189
  <div class="method-heading">
189
- <a href="#M000080" class="method-signature">
190
+ <a href="#M000083" class="method-signature">
190
191
  <span class="method-name">object_in_array?</span><span class="method-args">(array, val)</span>
191
192
  </a>
192
193
  </div>
@@ -197,8 +198,8 @@ Is there an object in the specified array, that matches the provided
197
198
  description
198
199
  </p>
199
200
  <p><a class="source-toggle" href="#"
200
- onclick="toggleCode('M000080-source');return false;">[Source]</a></p>
201
- <div class="method-source-code" id="M000080-source">
201
+ onclick="toggleCode('M000083-source');return false;">[Source]</a></p>
202
+ <div class="method-source-code" id="M000083-source">
202
203
  <pre>
203
204
  <span class="ruby-comment cmt"># File lib/pho/resource_hash.rb, line 57</span>
204
205
  <span class="ruby-keyword kw">def</span> <span class="ruby-constant">SetAlgebra</span>.<span class="ruby-identifier">object_in_array?</span>(<span class="ruby-identifier">array</span>, <span class="ruby-identifier">val</span>)
@@ -81,7 +81,7 @@
81
81
  <div id="description">
82
82
  <p>
83
83
  In the Talis Platform a &quot;snapshot&quot; is an <a
84
- href="Snapshot.html#M000159">backup</a> of the contents of a <a
84
+ href="Snapshot.html#M000179">backup</a> of the contents of a <a
85
85
  href="Store.html">Store</a>
86
86
  </p>
87
87
  <p>
@@ -102,11 +102,11 @@ A snapshot can be generated (or scheduled) using the Store.snapshot method.
102
102
  <h3 class="section-bar">Methods</h3>
103
103
 
104
104
  <div class="name-list">
105
- <a href="#M000159">backup</a>&nbsp;&nbsp;
106
- <a href="#M000157">new</a>&nbsp;&nbsp;
107
- <a href="#M000156">parse</a>&nbsp;&nbsp;
108
- <a href="#M000155">read_from_store</a>&nbsp;&nbsp;
109
- <a href="#M000158">read_md5</a>&nbsp;&nbsp;
105
+ <a href="#M000179">backup</a>&nbsp;&nbsp;
106
+ <a href="#M000177">new</a>&nbsp;&nbsp;
107
+ <a href="#M000176">parse</a>&nbsp;&nbsp;
108
+ <a href="#M000175">read_from_store</a>&nbsp;&nbsp;
109
+ <a href="#M000178">read_md5</a>&nbsp;&nbsp;
110
110
  </div>
111
111
  </div>
112
112
 
@@ -176,19 +176,19 @@ The URL from which the snapshot can be retrieved
176
176
  <div id="methods">
177
177
  <h3 class="section-bar">Public Class methods</h3>
178
178
 
179
- <div id="method-M000157" class="method-detail">
180
- <a name="M000157"></a>
179
+ <div id="method-M000177" class="method-detail">
180
+ <a name="M000177"></a>
181
181
 
182
182
  <div class="method-heading">
183
- <a href="#M000157" class="method-signature">
183
+ <a href="#M000177" class="method-signature">
184
184
  <span class="method-name">new</span><span class="method-args">(url, md5_url, size, units, date)</span>
185
185
  </a>
186
186
  </div>
187
187
 
188
188
  <div class="method-description">
189
189
  <p><a class="source-toggle" href="#"
190
- onclick="toggleCode('M000157-source');return false;">[Source]</a></p>
191
- <div class="method-source-code" id="M000157-source">
190
+ onclick="toggleCode('M000177-source');return false;">[Source]</a></p>
191
+ <div class="method-source-code" id="M000177-source">
192
192
  <pre>
193
193
  <span class="ruby-comment cmt"># File lib/pho/snapshot.rb, line 76</span>
194
194
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">url</span>, <span class="ruby-identifier">md5_url</span>, <span class="ruby-identifier">size</span>, <span class="ruby-identifier">units</span>, <span class="ruby-identifier">date</span>)
@@ -203,21 +203,21 @@ The URL from which the snapshot can be retrieved
203
203
  </div>
204
204
  </div>
205
205
 
206
- <div id="method-M000156" class="method-detail">
207
- <a name="M000156"></a>
206
+ <div id="method-M000176" class="method-detail">
207
+ <a name="M000176"></a>
208
208
 
209
209
  <div class="method-heading">
210
- <a href="#M000156" class="method-signature">
210
+ <a href="#M000176" class="method-signature">
211
211
  <span class="method-name">parse</span><span class="method-args">(storeuri, content)</span>
212
212
  </a>
213
213
  </div>
214
214
 
215
215
  <div class="method-description">
216
216
  <p>
217
- Class method to <a href="Snapshot.html#M000156">parse</a> the RDF response
218
- from the API, e.g. as produced by the <a
219
- href="Store.html#M000150">Store.get_snapshots</a> method and create a <a
220
- href="Snapshot.html#M000157">new</a> <a href="Snapshot.html">Snapshot</a>
217
+ Class method to <a href="Snapshot.html#M000176">parse</a> the <a
218
+ href="RDF.html">RDF</a> response from the API, e.g. as produced by the <a
219
+ href="Store.html#M000170">Store.get_snapshots</a> method and create a <a
220
+ href="Snapshot.html#M000177">new</a> <a href="Snapshot.html">Snapshot</a>
221
221
  object. At the moment the Platform only supports single snapshot.
222
222
  </p>
223
223
  <p>
@@ -228,8 +228,8 @@ If the response was an error, then an exception will be thrown
228
228
  content:: response from the API
229
229
  </pre>
230
230
  <p><a class="source-toggle" href="#"
231
- onclick="toggleCode('M000156-source');return false;">[Source]</a></p>
232
- <div class="method-source-code" id="M000156-source">
231
+ onclick="toggleCode('M000176-source');return false;">[Source]</a></p>
232
+ <div class="method-source-code" id="M000176-source">
233
233
  <pre>
234
234
  <span class="ruby-comment cmt"># File lib/pho/snapshot.rb, line 52</span>
235
235
  <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Snapshot</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">storeuri</span>, <span class="ruby-identifier">content</span>)
@@ -260,11 +260,11 @@ If the response was an error, then an exception will be thrown
260
260
  </div>
261
261
  </div>
262
262
 
263
- <div id="method-M000155" class="method-detail">
264
- <a name="M000155"></a>
263
+ <div id="method-M000175" class="method-detail">
264
+ <a name="M000175"></a>
265
265
 
266
266
  <div class="method-heading">
267
- <a href="#M000155" class="method-signature">
267
+ <a href="#M000175" class="method-signature">
268
268
  <span class="method-name">read_from_store</span><span class="method-args">(store)</span>
269
269
  </a>
270
270
  </div>
@@ -279,8 +279,8 @@ Read snapshot data from the given store
279
279
  </td></tr>
280
280
  </table>
281
281
  <p><a class="source-toggle" href="#"
282
- onclick="toggleCode('M000155-source');return false;">[Source]</a></p>
283
- <div class="method-source-code" id="M000155-source">
282
+ onclick="toggleCode('M000175-source');return false;">[Source]</a></p>
283
+ <div class="method-source-code" id="M000175-source">
284
284
  <pre>
285
285
  <span class="ruby-comment cmt"># File lib/pho/snapshot.rb, line 34</span>
286
286
  <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Snapshot</span>.<span class="ruby-identifier">read_from_store</span>(<span class="ruby-identifier">store</span>)
@@ -300,11 +300,11 @@ Read snapshot data from the given store
300
300
 
301
301
  <h3 class="section-bar">Public Instance methods</h3>
302
302
 
303
- <div id="method-M000159" class="method-detail">
304
- <a name="M000159"></a>
303
+ <div id="method-M000179" class="method-detail">
304
+ <a name="M000179"></a>
305
305
 
306
306
  <div class="method-heading">
307
- <a href="#M000159" class="method-signature">
307
+ <a href="#M000179" class="method-signature">
308
308
  <span class="method-name">backup</span><span class="method-args">(store, dir=Dir.tmpdir)</span>
309
309
  </a>
310
310
  </div>
@@ -317,7 +317,7 @@ published value. If they don&#8216;t match then a RuntimeError will be
317
317
  raised
318
318
  </p>
319
319
  <table>
320
- <tr><td valign="top">store:</td><td>the store to <a href="Snapshot.html#M000159">backup</a>
320
+ <tr><td valign="top">store:</td><td>the store to <a href="Snapshot.html#M000179">backup</a>
321
321
 
322
322
  </td></tr>
323
323
  <tr><td valign="top">dir:</td><td>directory in which snapshot will be stored
@@ -325,8 +325,8 @@ raised
325
325
  </td></tr>
326
326
  </table>
327
327
  <p><a class="source-toggle" href="#"
328
- onclick="toggleCode('M000159-source');return false;">[Source]</a></p>
329
- <div class="method-source-code" id="M000159-source">
328
+ onclick="toggleCode('M000179-source');return false;">[Source]</a></p>
329
+ <div class="method-source-code" id="M000179-source">
330
330
  <pre>
331
331
  <span class="ruby-comment cmt"># File lib/pho/snapshot.rb, line 96</span>
332
332
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">backup</span>(<span class="ruby-identifier">store</span>, <span class="ruby-identifier">dir</span>=<span class="ruby-constant">Dir</span>.<span class="ruby-identifier">tmpdir</span>)
@@ -356,11 +356,11 @@ raised
356
356
  </div>
357
357
  </div>
358
358
 
359
- <div id="method-M000158" class="method-detail">
360
- <a name="M000158"></a>
359
+ <div id="method-M000178" class="method-detail">
360
+ <a name="M000178"></a>
361
361
 
362
362
  <div class="method-heading">
363
- <a href="#M000158" class="method-signature">
363
+ <a href="#M000178" class="method-signature">
364
364
  <span class="method-name">read_md5</span><span class="method-args">(client=HttpClient.new())</span>
365
365
  </a>
366
366
  </div>
@@ -370,8 +370,8 @@ raised
370
370
  Read the published MD5 value
371
371
  </p>
372
372
  <p><a class="source-toggle" href="#"
373
- onclick="toggleCode('M000158-source');return false;">[Source]</a></p>
374
- <div class="method-source-code" id="M000158-source">
373
+ onclick="toggleCode('M000178-source');return false;">[Source]</a></p>
374
+ <div class="method-source-code" id="M000178-source">
375
375
  <pre>
376
376
  <span class="ruby-comment cmt"># File lib/pho/snapshot.rb, line 86</span>
377
377
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read_md5</span>(<span class="ruby-identifier">client</span>=<span class="ruby-constant">HttpClient</span>.<span class="ruby-identifier">new</span>())
@@ -114,6 +114,56 @@ Class <a href="Sparql/SparqlHelper.html" class="link">Pho::Sparql::SparqlHelper<
114
114
  <td>=</td>
115
115
  <td class="context-item-value">&quot;application/sparql-results+json&quot;</td>
116
116
  </tr>
117
+ <tr class="top-aligned-row context-row">
118
+ <td class="context-item-name">SYMMETRIC_BOUNDED_DESCRIPTION</td>
119
+ <td>=</td>
120
+ <td class="context-item-value">&lt;&lt;-EOL CONSTRUCT {?uri ?p ?o . ?s ?p2 ?uri .} WHERE { {?uri ?p ?o .} UNION {?s ?p2 ?uri .} } EOL</td>
121
+ <td width="3em">&nbsp;</td>
122
+ <td class="context-item-desc">
123
+ Includes all statements along both in-bound and out-bound arc paths
124
+
125
+ <p>
126
+ See <a
127
+ href="http://n2.talis.com/wiki/Bounded_Descriptions_in_RDF">n2.talis.com/wiki/Bounded_Descriptions_in_RDF</a>
128
+ </p>
129
+ </td>
130
+ </tr>
131
+ <tr class="top-aligned-row context-row">
132
+ <td class="context-item-name">LABELLED_BOUNDED_DESCRIPTION</td>
133
+ <td>=</td>
134
+ <td class="context-item-value">&lt;&lt;-EOL PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; CONSTRUCT { ?uri ?p ?o . ?o rdfs:label ?label . ?o rdfs:comment ?comment . ?o &lt;http://www.w3.org/2004/02/skos/core#prefLabel&gt; ?plabel . ?o rdfs:seeAlso ?seealso. } WHERE { ?uri ?p ?o . OPTIONAL { ?o rdfs:label ?label . } OPTIONAL { ?o &lt;http://www.w3.org/2004/02/skos/core#prefLabel&gt; ?plabel . } OPTIONAL { ?o rdfs:comment ?comment . } OPTIONAL { ?o rdfs:seeAlso ?seealso. } } EOL</td>
135
+ <td width="3em">&nbsp;</td>
136
+ <td class="context-item-desc">
137
+ Similar to Concise Bounded Description but includes labels for referenced
138
+ resources
139
+
140
+ <p>
141
+ See <a
142
+ href="http://n2.talis.com/wiki/Bounded_Descriptions_in_RDF">n2.talis.com/wiki/Bounded_Descriptions_in_RDF</a>
143
+ </p>
144
+ </td>
145
+ </tr>
146
+ <tr class="top-aligned-row context-row">
147
+ <td class="context-item-name">SYMMETRIC_LABELLED_BOUNDED_DESCRIPTION</td>
148
+ <td>=</td>
149
+ <td class="context-item-value">&lt;&lt;-EOL PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; CONSTRUCT { ?uri ?p ?o . ?o rdfs:label ?label . ?o rdfs:comment ?comment . ?o rdfs:seeAlso ?seealso. ?s ?p2 ?uri . ?s rdfs:label ?label . ?s rdfs:comment ?comment . ?s rdfs:seeAlso ?seealso. } WHERE { { ?uri ?p ?o . OPTIONAL { ?o rdfs:label ?label . } OPTIONAL { ?o rdfs:comment ?comment . } OPTIONAL { ?o rdfs:seeAlso ?seealso. } } UNION { ?s ?p2 ?uri . OPTIONAL { ?s rdfs:label ?label . } OPTIONAL { ?s rdfs:comment ?comment . } OPTIONAL { ?s rdfs:seeAlso ?seealso. } } } EOL</td>
150
+ <td width="3em">&nbsp;</td>
151
+ <td class="context-item-desc">
152
+ Derived from both the Symmetric and Labelled Bounded Descriptions. Includes
153
+ all in-bound and out-bound arc paths, with labels for any referenced
154
+ resources.
155
+
156
+ <p>
157
+ See <a
158
+ href="http://n2.talis.com/wiki/Bounded_Descriptions_in_RDF">n2.talis.com/wiki/Bounded_Descriptions_in_RDF</a>
159
+ </p>
160
+ </td>
161
+ </tr>
162
+ <tr class="top-aligned-row context-row">
163
+ <td class="context-item-name">DESCRIPTIONS</td>
164
+ <td>=</td>
165
+ <td class="context-item-value">{ :cbd =&gt; &quot;DESCRIBE ?uri&quot;, :scbd =&gt; SYMMETRIC_BOUNDED_DESCRIPTION, :lcbd =&gt; LABELLED_BOUNDED_DESCRIPTION, :slcbd =&gt; SYMMETRIC_LABELLED_BOUNDED_DESCRIPTION</td>
166
+ </tr>
117
167
  </table>
118
168
  </div>
119
169
  </div>
@@ -94,13 +94,14 @@ A simple SPARQL client that handles the basic HTTP traffic
94
94
  <div class="name-list">
95
95
  <a href="#M000003">add_default_graph</a>&nbsp;&nbsp;
96
96
  <a href="#M000004">add_named_graph</a>&nbsp;&nbsp;
97
- <a href="#M000009">ask</a>&nbsp;&nbsp;
98
- <a href="#M000008">construct</a>&nbsp;&nbsp;
99
- <a href="#M000006">describe</a>&nbsp;&nbsp;
100
- <a href="#M000007">multi_describe</a>&nbsp;&nbsp;
97
+ <a href="#M000010">ask</a>&nbsp;&nbsp;
98
+ <a href="#M000009">construct</a>&nbsp;&nbsp;
99
+ <a href="#M000007">describe</a>&nbsp;&nbsp;
100
+ <a href="#M000006">describe_uri</a>&nbsp;&nbsp;
101
+ <a href="#M000008">multi_describe</a>&nbsp;&nbsp;
101
102
  <a href="#M000002">new</a>&nbsp;&nbsp;
102
103
  <a href="#M000005">query</a>&nbsp;&nbsp;
103
- <a href="#M000010">select</a>&nbsp;&nbsp;
104
+ <a href="#M000011">select</a>&nbsp;&nbsp;
104
105
  </div>
105
106
  </div>
106
107
 
@@ -161,8 +162,9 @@ Content Negotiation
161
162
  <td class="context-item-name">supports_rdf_json</td>
162
163
  <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
163
164
  <td class="context-item-desc">
164
- Configures whether the remote endpoint supports the RDF-in-JSON
165
- specification for serializing RDF graphs as JSON. Will default to false.
165
+ Configures whether the remote endpoint supports the <a
166
+ href="../RDF.html">RDF</a>-in-JSON specification for serializing <a
167
+ href="../RDF.html">RDF</a> graphs as JSON. Will default to false.
166
168
 
167
169
  </td>
168
170
  </tr>
@@ -198,15 +200,19 @@ Will default to true.
198
200
  <p>
199
201
  Initialize a client for a specific endpoint
200
202
  </p>
201
- <pre>
202
- endpoint:: uri of the SPARQL endpoint
203
- client:: optionally, a reference to an existing HTTPClient object instance
204
- </pre>
203
+ <table>
204
+ <tr><td valign="top">endpoint:</td><td>uri of the SPARQL endpoint
205
+
206
+ </td></tr>
207
+ <tr><td valign="top">client:</td><td>optionally, a reference to an existing HTTPClient object instance
208
+
209
+ </td></tr>
210
+ </table>
205
211
  <p><a class="source-toggle" href="#"
206
212
  onclick="toggleCode('M000002-source');return false;">[Source]</a></p>
207
213
  <div class="method-source-code" id="M000002-source">
208
214
  <pre>
209
- <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 34</span>
215
+ <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 121</span>
210
216
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">endpoint</span>, <span class="ruby-identifier">client</span>=<span class="ruby-constant">HTTPClient</span>.<span class="ruby-identifier">new</span>() )
211
217
  <span class="ruby-ivar">@endpoint</span> = <span class="ruby-identifier">endpoint</span>
212
218
  <span class="ruby-ivar">@graphs</span> = <span class="ruby-keyword kw">nil</span>
@@ -241,7 +247,7 @@ protocol
241
247
  onclick="toggleCode('M000003-source');return false;">[Source]</a></p>
242
248
  <div class="method-source-code" id="M000003-source">
243
249
  <pre>
244
- <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 45</span>
250
+ <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 132</span>
245
251
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_default_graph</span>(<span class="ruby-identifier">graph_uri</span>)
246
252
  <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@graphs</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>
247
253
  <span class="ruby-ivar">@graphs</span> = []
@@ -271,7 +277,7 @@ protocol
271
277
  onclick="toggleCode('M000004-source');return false;">[Source]</a></p>
272
278
  <div class="method-source-code" id="M000004-source">
273
279
  <pre>
274
- <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 53</span>
280
+ <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 140</span>
275
281
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_named_graph</span>(<span class="ruby-identifier">graph_uri</span>)
276
282
  <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@named_graphs</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>
277
283
  <span class="ruby-ivar">@named_graphs</span> = []
@@ -283,11 +289,11 @@ protocol
283
289
  </div>
284
290
  </div>
285
291
 
286
- <div id="method-M000009" class="method-detail">
287
- <a name="M000009"></a>
292
+ <div id="method-M000010" class="method-detail">
293
+ <a name="M000010"></a>
288
294
 
289
295
  <div class="method-heading">
290
- <a href="#M000009" class="method-signature">
296
+ <a href="#M000010" class="method-signature">
291
297
  <span class="method-name">ask</span><span class="method-args">(query, format=Pho::Sparql::SPARQL_RESULTS_XML)</span>
292
298
  </a>
293
299
  </div>
@@ -296,15 +302,19 @@ protocol
296
302
  <p>
297
303
  Perform a SPARQL ASK <a href="SparqlClient.html#M000005">query</a>.
298
304
  </p>
299
- <pre>
300
- query:: the SPARQL query
301
- format:: the preferred response format
302
- </pre>
305
+ <table>
306
+ <tr><td valign="top"><a href="SparqlClient.html#M000005">query</a>:</td><td>the SPARQL <a href="SparqlClient.html#M000005">query</a>
307
+
308
+ </td></tr>
309
+ <tr><td valign="top">format:</td><td>the preferred response format
310
+
311
+ </td></tr>
312
+ </table>
303
313
  <p><a class="source-toggle" href="#"
304
- onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
305
- <div class="method-source-code" id="M000009-source">
314
+ onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
315
+ <div class="method-source-code" id="M000010-source">
306
316
  <pre>
307
- <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 130</span>
317
+ <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 231</span>
308
318
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ask</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">format</span>=<span class="ruby-constant">Pho</span><span class="ruby-operator">::</span><span class="ruby-constant">Sparql</span><span class="ruby-operator">::</span><span class="ruby-constant">SPARQL_RESULTS_XML</span>)
309
319
  <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">query</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">format</span>)
310
320
  <span class="ruby-keyword kw">end</span>
@@ -313,11 +323,11 @@ Perform a SPARQL ASK <a href="SparqlClient.html#M000005">query</a>.
313
323
  </div>
314
324
  </div>
315
325
 
316
- <div id="method-M000008" class="method-detail">
317
- <a name="M000008"></a>
326
+ <div id="method-M000009" class="method-detail">
327
+ <a name="M000009"></a>
318
328
 
319
329
  <div class="method-heading">
320
- <a href="#M000008" class="method-signature">
330
+ <a href="#M000009" class="method-signature">
321
331
  <span class="method-name">construct</span><span class="method-args">(query, format=&quot;application/rdf+xml&quot;)</span>
322
332
  </a>
323
333
  </div>
@@ -326,15 +336,19 @@ Perform a SPARQL ASK <a href="SparqlClient.html#M000005">query</a>.
326
336
  <p>
327
337
  Perform a SPARQL CONSTRUCT <a href="SparqlClient.html#M000005">query</a>.
328
338
  </p>
329
- <pre>
330
- query:: the SPARQL query
331
- format:: the preferred response format
332
- </pre>
339
+ <table>
340
+ <tr><td valign="top"><a href="SparqlClient.html#M000005">query</a>:</td><td>the SPARQL <a href="SparqlClient.html#M000005">query</a>
341
+
342
+ </td></tr>
343
+ <tr><td valign="top">format:</td><td>the preferred response format
344
+
345
+ </td></tr>
346
+ </table>
333
347
  <p><a class="source-toggle" href="#"
334
- onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
335
- <div class="method-source-code" id="M000008-source">
348
+ onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
349
+ <div class="method-source-code" id="M000009-source">
336
350
  <pre>
337
- <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 122</span>
351
+ <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 223</span>
338
352
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">construct</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">format</span>=<span class="ruby-value str">&quot;application/rdf+xml&quot;</span>)
339
353
  <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">query</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">format</span>)
340
354
  <span class="ruby-keyword kw">end</span>
@@ -343,11 +357,11 @@ Perform a SPARQL CONSTRUCT <a href="SparqlClient.html#M000005">query</a>.
343
357
  </div>
344
358
  </div>
345
359
 
346
- <div id="method-M000006" class="method-detail">
347
- <a name="M000006"></a>
360
+ <div id="method-M000007" class="method-detail">
361
+ <a name="M000007"></a>
348
362
 
349
363
  <div class="method-heading">
350
- <a href="#M000006" class="method-signature">
364
+ <a href="#M000007" class="method-signature">
351
365
  <span class="method-name">describe</span><span class="method-args">(query, format=&quot;application/rdf+xml&quot;)</span>
352
366
  </a>
353
367
  </div>
@@ -356,28 +370,75 @@ Perform a SPARQL CONSTRUCT <a href="SparqlClient.html#M000005">query</a>.
356
370
  <p>
357
371
  Perform a SPARQL DESCRIBE <a href="SparqlClient.html#M000005">query</a>.
358
372
  </p>
373
+ <table>
374
+ <tr><td valign="top"><a href="SparqlClient.html#M000005">query</a>:</td><td>the SPARQL <a href="SparqlClient.html#M000005">query</a>
375
+
376
+ </td></tr>
377
+ <tr><td valign="top">format:</td><td>the preferred response format
378
+
379
+ </td></tr>
380
+ </table>
381
+ <p><a class="source-toggle" href="#"
382
+ onclick="toggleCode('M000007-source');return false;">[Source]</a></p>
383
+ <div class="method-source-code" id="M000007-source">
359
384
  <pre>
360
- query:: the SPARQL query
361
- format:: the preferred response format
385
+ <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 202</span>
386
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">describe</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">format</span>=<span class="ruby-value str">&quot;application/rdf+xml&quot;</span>)
387
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">query</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">format</span>)
388
+ <span class="ruby-keyword kw">end</span>
362
389
  </pre>
390
+ </div>
391
+ </div>
392
+ </div>
393
+
394
+ <div id="method-M000006" class="method-detail">
395
+ <a name="M000006"></a>
396
+
397
+ <div class="method-heading">
398
+ <a href="#M000006" class="method-signature">
399
+ <span class="method-name">describe_uri</span><span class="method-args">(uri, format=&quot;application/rdf+xml&quot;, type=:cbd)</span>
400
+ </a>
401
+ </div>
402
+
403
+ <div class="method-description">
404
+ <p>
405
+ Describe a uri, optionally specifying a form of bounded description
406
+ </p>
407
+ <table>
408
+ <tr><td valign="top">uri:</td><td>the uri to <a href="SparqlClient.html#M000007">describe</a>
409
+
410
+ </td></tr>
411
+ <tr><td valign="top">format:</td><td>mimetype for results
412
+
413
+ </td></tr>
414
+ <tr><td valign="top">type:</td><td>symbol indicating type of description, i.e. +:cbd+, +:scbd+, +:lcbd+, or
415
+ +:slcbd+
416
+
417
+ </td></tr>
418
+ </table>
363
419
  <p><a class="source-toggle" href="#"
364
420
  onclick="toggleCode('M000006-source');return false;">[Source]</a></p>
365
421
  <div class="method-source-code" id="M000006-source">
366
422
  <pre>
367
- <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 101</span>
368
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">describe</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">format</span>=<span class="ruby-value str">&quot;application/rdf+xml&quot;</span>)
369
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">query</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">format</span>)
423
+ <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 189</span>
424
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">describe_uri</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">format</span>=<span class="ruby-value str">&quot;application/rdf+xml&quot;</span>, <span class="ruby-identifier">type</span>=<span class="ruby-identifier">:cbd</span>)
425
+ <span class="ruby-identifier">template</span> = <span class="ruby-constant">Pho</span><span class="ruby-operator">::</span><span class="ruby-constant">Sparql</span><span class="ruby-operator">::</span><span class="ruby-constant">DESCRIPTIONS</span>[<span class="ruby-identifier">type</span>]
426
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">template</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>
427
+ <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Unknown description type&quot;</span>
428
+ <span class="ruby-keyword kw">end</span>
429
+ <span class="ruby-identifier">query</span> = <span class="ruby-constant">Pho</span><span class="ruby-operator">::</span><span class="ruby-constant">Sparql</span><span class="ruby-operator">::</span><span class="ruby-constant">SparqlHelper</span>.<span class="ruby-identifier">apply_initial_bindings</span>(<span class="ruby-identifier">template</span>, {<span class="ruby-value str">&quot;uri&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;&lt;#{uri}&gt;&quot;</span>} )
430
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">describe</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">format</span>)
370
431
  <span class="ruby-keyword kw">end</span>
371
432
  </pre>
372
433
  </div>
373
434
  </div>
374
435
  </div>
375
436
 
376
- <div id="method-M000007" class="method-detail">
377
- <a name="M000007"></a>
437
+ <div id="method-M000008" class="method-detail">
438
+ <a name="M000008"></a>
378
439
 
379
440
  <div class="method-heading">
380
- <a href="#M000007" class="method-signature">
441
+ <a href="#M000008" class="method-signature">
381
442
  <span class="method-name">multi_describe</span><span class="method-args">(uris, format=&quot;application/rdf+xml&quot;)</span>
382
443
  </a>
383
444
  </div>
@@ -393,15 +454,20 @@ This will generate a <a href="SparqlClient.html#M000005">query</a> like:
393
454
  </p>
394
455
  <pre>
395
456
  DESCRIBE &lt;http://www.example.org&gt; &lt;http://www.example.com&gt; ...
396
-
397
- uris:: list of the uris to be described
398
- format:: the preferred response format. Default is RDF/XML
399
457
  </pre>
458
+ <table>
459
+ <tr><td valign="top">uris:</td><td>list of the uris to be described
460
+
461
+ </td></tr>
462
+ <tr><td valign="top">format:</td><td>the preferred response format. Default is <a href="../RDF.html">RDF</a>/XML
463
+
464
+ </td></tr>
465
+ </table>
400
466
  <p><a class="source-toggle" href="#"
401
- onclick="toggleCode('M000007-source');return false;">[Source]</a></p>
402
- <div class="method-source-code" id="M000007-source">
467
+ onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
468
+ <div class="method-source-code" id="M000008-source">
403
469
  <pre>
404
- <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 113</span>
470
+ <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 214</span>
405
471
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">multi_describe</span>(<span class="ruby-identifier">uris</span>, <span class="ruby-identifier">format</span>=<span class="ruby-value str">&quot;application/rdf+xml&quot;</span>)
406
472
  <span class="ruby-identifier">query</span> = <span class="ruby-value str">&quot;DESCRIBE &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">uris</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">u</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot;&lt;#{u}&gt;&quot;</span> }.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot; &quot;</span>)
407
473
  <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">query</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">format</span>)
@@ -424,17 +490,26 @@ This will generate a <a href="SparqlClient.html#M000005">query</a> like:
424
490
  <p>
425
491
  Perform a sparql <a href="SparqlClient.html#M000005">query</a>
426
492
  </p>
427
- <pre>
428
- sparql:: a valid SPARQL query
429
- format:: specific a request format. Usually a media-type, but may be a name for a type, if not using Conneg
430
- graphs:: an array of default graphs
431
- named_graphs:: an array of named graphs
432
- </pre>
493
+ <table>
494
+ <tr><td valign="top">sparql:</td><td>a valid SPARQL <a href="SparqlClient.html#M000005">query</a>
495
+
496
+ </td></tr>
497
+ <tr><td valign="top">format:</td><td>specific a request format. Usually a media-type, but may be a name for a
498
+ type, if not using Conneg
499
+
500
+ </td></tr>
501
+ <tr><td valign="top">graphs:</td><td>an array of default graphs
502
+
503
+ </td></tr>
504
+ <tr><td valign="top">named_graphs:</td><td>an array of named graphs
505
+
506
+ </td></tr>
507
+ </table>
433
508
  <p><a class="source-toggle" href="#"
434
509
  onclick="toggleCode('M000005-source');return false;">[Source]</a></p>
435
510
  <div class="method-source-code" id="M000005-source">
436
511
  <pre>
437
- <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 66</span>
512
+ <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 153</span>
438
513
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query</span>(<span class="ruby-identifier">sparql</span>, <span class="ruby-identifier">format</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">graphs</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">named_graphs</span>=<span class="ruby-keyword kw">nil</span>)
439
514
 
440
515
  <span class="ruby-identifier">params</span> = {}
@@ -470,11 +545,11 @@ Perform a sparql <a href="SparqlClient.html#M000005">query</a>
470
545
  </div>
471
546
  </div>
472
547
 
473
- <div id="method-M000010" class="method-detail">
474
- <a name="M000010"></a>
548
+ <div id="method-M000011" class="method-detail">
549
+ <a name="M000011"></a>
475
550
 
476
551
  <div class="method-heading">
477
- <a href="#M000010" class="method-signature">
552
+ <a href="#M000011" class="method-signature">
478
553
  <span class="method-name">select</span><span class="method-args">(query, format=Pho::Sparql::SPARQL_RESULTS_XML)</span>
479
554
  </a>
480
555
  </div>
@@ -483,15 +558,19 @@ Perform a sparql <a href="SparqlClient.html#M000005">query</a>
483
558
  <p>
484
559
  Perform a SPARQL SELECT <a href="SparqlClient.html#M000005">query</a>.
485
560
  </p>
486
- <pre>
487
- query:: the SPARQL query
488
- format:: the preferred response format
489
- </pre>
561
+ <table>
562
+ <tr><td valign="top"><a href="SparqlClient.html#M000005">query</a>:</td><td>the SPARQL <a href="SparqlClient.html#M000005">query</a>
563
+
564
+ </td></tr>
565
+ <tr><td valign="top">format:</td><td>the preferred response format
566
+
567
+ </td></tr>
568
+ </table>
490
569
  <p><a class="source-toggle" href="#"
491
- onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
492
- <div class="method-source-code" id="M000010-source">
570
+ onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
571
+ <div class="method-source-code" id="M000011-source">
493
572
  <pre>
494
- <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 138</span>
573
+ <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 239</span>
495
574
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">select</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">format</span>=<span class="ruby-constant">Pho</span><span class="ruby-operator">::</span><span class="ruby-constant">Sparql</span><span class="ruby-operator">::</span><span class="ruby-constant">SPARQL_RESULTS_XML</span>)
496
575
  <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">query</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">format</span>)
497
576
  <span class="ruby-keyword kw">end</span>