pho 0.4.1 → 0.5

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 (82) hide show
  1. data/CHANGES +18 -1
  2. data/README +10 -0
  3. data/Rakefile +2 -1
  4. data/doc/rdoc/classes/Pho.html +33 -22
  5. data/doc/rdoc/classes/Pho/DatatypeProperty.html +12 -12
  6. data/doc/rdoc/classes/Pho/{RDF_JSON.html → Enrichment.html} +8 -7
  7. data/doc/rdoc/classes/Pho/Enrichment/ResourceEnricher.html +310 -0
  8. data/doc/rdoc/classes/Pho/Etags.html +42 -42
  9. data/doc/rdoc/classes/Pho/Facet/Results.html +19 -19
  10. data/doc/rdoc/classes/Pho/Facet/Term.html +6 -6
  11. data/doc/rdoc/classes/Pho/FieldPredicateMap.html +110 -105
  12. data/doc/rdoc/classes/Pho/FieldWeighting.html +12 -12
  13. data/doc/rdoc/classes/Pho/FileManagement.html +121 -0
  14. data/doc/rdoc/classes/Pho/FileManagement/AbstractFileManager.html +443 -0
  15. data/doc/rdoc/classes/Pho/FileManagement/FileManager.html +258 -0
  16. data/doc/rdoc/classes/Pho/FileManagement/RDFManager.html +271 -0
  17. data/doc/rdoc/classes/Pho/Job.html +64 -64
  18. data/doc/rdoc/classes/Pho/Jobs.html +60 -60
  19. data/doc/rdoc/classes/Pho/QueryProfile.html +60 -60
  20. data/doc/rdoc/classes/Pho/RDFCollection.html +4 -378
  21. data/doc/rdoc/classes/Pho/ResourceHash.html +123 -0
  22. data/doc/rdoc/classes/Pho/ResourceHash/Converter.html +323 -0
  23. data/doc/rdoc/classes/Pho/{RDF_JSON → ResourceHash}/SetAlgebra.html +18 -18
  24. data/doc/rdoc/classes/Pho/Snapshot.html +35 -35
  25. data/doc/rdoc/classes/Pho/Sparql.html +137 -0
  26. data/doc/rdoc/classes/Pho/Sparql/SparqlClient.html +515 -0
  27. data/doc/rdoc/classes/Pho/Sparql/SparqlHelper.html +575 -0
  28. data/doc/rdoc/classes/Pho/Status.html +26 -26
  29. data/doc/rdoc/classes/Pho/Store.html +271 -241
  30. data/doc/rdoc/classes/Pho/Update/Changeset.html +73 -73
  31. data/doc/rdoc/classes/Pho/Update/ChangesetBuilder.html +34 -34
  32. data/doc/rdoc/classes/Pho/Update/Changesets.html +14 -14
  33. data/doc/rdoc/classes/Pho/Update/LiteralStatement.html +31 -23
  34. data/doc/rdoc/classes/Pho/Update/ResourceStatement.html +45 -21
  35. data/doc/rdoc/classes/Pho/Update/Statement.html +29 -29
  36. data/doc/rdoc/classes/String.html +1 -1
  37. data/doc/rdoc/created.rid +1 -1
  38. data/doc/rdoc/files/CHANGES.html +49 -3
  39. data/doc/rdoc/files/README.html +15 -1
  40. data/doc/rdoc/files/lib/pho/changeset_builder_rb.html +1 -1
  41. data/doc/rdoc/files/lib/pho/changeset_rb.html +1 -1
  42. data/doc/rdoc/files/lib/pho/converter_rb.html +108 -0
  43. data/doc/rdoc/files/lib/pho/enrichment_rb.html +101 -0
  44. data/doc/rdoc/files/lib/pho/etags_rb.html +1 -1
  45. data/doc/rdoc/files/lib/pho/field_predicate_map_rb.html +1 -1
  46. data/doc/rdoc/files/lib/pho/file_management_rb.html +101 -0
  47. data/doc/rdoc/files/lib/pho/file_manager_rb.html +108 -0
  48. data/doc/rdoc/files/lib/pho/rdf_collection_rb.html +1 -1
  49. data/doc/rdoc/files/lib/pho/resource_hash_rb.html +101 -0
  50. data/doc/rdoc/files/lib/pho/{rdf_json_rb.html → sparql_rb.html} +4 -4
  51. data/doc/rdoc/files/lib/pho/store_rb.html +1 -1
  52. data/doc/rdoc/files/lib/pho_rb.html +7 -2
  53. data/doc/rdoc/fr_class_index.html +12 -2
  54. data/doc/rdoc/fr_file_index.html +6 -1
  55. data/doc/rdoc/fr_method_index.html +176 -139
  56. data/examples/sparql_construct_hash.rb +26 -0
  57. data/examples/sparql_select.rb +18 -0
  58. data/lib/pho.rb +6 -1
  59. data/lib/pho/changeset.rb +24 -9
  60. data/lib/pho/changeset_builder.rb +10 -10
  61. data/lib/pho/converter.rb +74 -0
  62. data/lib/pho/enrichment.rb +81 -0
  63. data/lib/pho/etags.rb +1 -0
  64. data/lib/pho/field_predicate_map.rb +6 -1
  65. data/lib/pho/file_management.rb +102 -0
  66. data/lib/pho/file_manager.rb +61 -0
  67. data/lib/pho/rdf_collection.rb +54 -120
  68. data/lib/pho/{rdf_json.rb → resource_hash.rb} +3 -4
  69. data/lib/pho/sparql.rb +332 -0
  70. data/lib/pho/store.rb +20 -14
  71. data/tests/tc_changeset.rb +46 -0
  72. data/tests/tc_changeset_builder.rb +122 -1
  73. data/tests/tc_converter.rb +95 -0
  74. data/tests/tc_enrichment.rb +83 -0
  75. data/tests/tc_file_manager.rb +88 -0
  76. data/tests/tc_rdf_collection.rb +3 -0
  77. data/tests/{tc_rdf_json.rb → tc_resource_hash.rb} +23 -23
  78. data/tests/tc_search.rb +1 -1
  79. data/tests/tc_sparql.rb +131 -6
  80. data/tests/tc_sparql_helper.rb +214 -0
  81. data/tests/ts_pho.rb +6 -2
  82. metadata +47 -8
@@ -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#M000111">backup</a> of the contents of a <a
84
+ href="Snapshot.html#M000159">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="#M000111">backup</a>&nbsp;&nbsp;
106
- <a href="#M000109">new</a>&nbsp;&nbsp;
107
- <a href="#M000108">parse</a>&nbsp;&nbsp;
108
- <a href="#M000107">read_from_store</a>&nbsp;&nbsp;
109
- <a href="#M000110">read_md5</a>&nbsp;&nbsp;
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;
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-M000109" class="method-detail">
180
- <a name="M000109"></a>
179
+ <div id="method-M000157" class="method-detail">
180
+ <a name="M000157"></a>
181
181
 
182
182
  <div class="method-heading">
183
- <a href="#M000109" class="method-signature">
183
+ <a href="#M000157" 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('M000109-source');return false;">[Source]</a></p>
191
- <div class="method-source-code" id="M000109-source">
190
+ onclick="toggleCode('M000157-source');return false;">[Source]</a></p>
191
+ <div class="method-source-code" id="M000157-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-M000108" class="method-detail">
207
- <a name="M000108"></a>
206
+ <div id="method-M000156" class="method-detail">
207
+ <a name="M000156"></a>
208
208
 
209
209
  <div class="method-heading">
210
- <a href="#M000108" class="method-signature">
210
+ <a href="#M000156" 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#M000108">parse</a> the RDF response
217
+ Class method to <a href="Snapshot.html#M000156">parse</a> the RDF response
218
218
  from the API, e.g. as produced by the <a
219
- href="Store.html#M000102">Store.get_snapshots</a> method and create a <a
220
- href="Snapshot.html#M000109">new</a> <a href="Snapshot.html">Snapshot</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>
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('M000108-source');return false;">[Source]</a></p>
232
- <div class="method-source-code" id="M000108-source">
231
+ onclick="toggleCode('M000156-source');return false;">[Source]</a></p>
232
+ <div class="method-source-code" id="M000156-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-M000107" class="method-detail">
264
- <a name="M000107"></a>
263
+ <div id="method-M000155" class="method-detail">
264
+ <a name="M000155"></a>
265
265
 
266
266
  <div class="method-heading">
267
- <a href="#M000107" class="method-signature">
267
+ <a href="#M000155" 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('M000107-source');return false;">[Source]</a></p>
283
- <div class="method-source-code" id="M000107-source">
282
+ onclick="toggleCode('M000155-source');return false;">[Source]</a></p>
283
+ <div class="method-source-code" id="M000155-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-M000111" class="method-detail">
304
- <a name="M000111"></a>
303
+ <div id="method-M000159" class="method-detail">
304
+ <a name="M000159"></a>
305
305
 
306
306
  <div class="method-heading">
307
- <a href="#M000111" class="method-signature">
307
+ <a href="#M000159" 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#M000111">backup</a>
320
+ <tr><td valign="top">store:</td><td>the store to <a href="Snapshot.html#M000159">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('M000111-source');return false;">[Source]</a></p>
329
- <div class="method-source-code" id="M000111-source">
328
+ onclick="toggleCode('M000159-source');return false;">[Source]</a></p>
329
+ <div class="method-source-code" id="M000159-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-M000110" class="method-detail">
360
- <a name="M000110"></a>
359
+ <div id="method-M000158" class="method-detail">
360
+ <a name="M000158"></a>
361
361
 
362
362
  <div class="method-heading">
363
- <a href="#M000110" class="method-signature">
363
+ <a href="#M000158" 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('M000110-source');return false;">[Source]</a></p>
374
- <div class="method-source-code" id="M000110-source">
373
+ onclick="toggleCode('M000158-source');return false;">[Source]</a></p>
374
+ <div class="method-source-code" id="M000158-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>())
@@ -0,0 +1,137 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Module: Pho::Sparql</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Module</strong></td>
53
+ <td class="class-name-in-header">Pho::Sparql</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/pho/sparql_rb.html">
59
+ lib/pho/sparql.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ </table>
66
+ </div>
67
+ <!-- banner header -->
68
+
69
+ <div id="bodyContent">
70
+
71
+
72
+
73
+ <div id="contextContent">
74
+
75
+ <div id="description">
76
+ <p>
77
+ Module providing a SPARQL client library, support for parsing SPARQL query
78
+ responses into Ruby objects and other useful behaviour
79
+ </p>
80
+
81
+ </div>
82
+
83
+
84
+ </div>
85
+
86
+
87
+ </div>
88
+
89
+
90
+ <!-- if includes -->
91
+
92
+ <div id="section">
93
+
94
+ <div id="class-list">
95
+ <h3 class="section-bar">Classes and Modules</h3>
96
+
97
+ Class <a href="Sparql/SparqlClient.html" class="link">Pho::Sparql::SparqlClient</a><br />
98
+ Class <a href="Sparql/SparqlHelper.html" class="link">Pho::Sparql::SparqlHelper</a><br />
99
+
100
+ </div>
101
+
102
+ <div id="constants-list">
103
+ <h3 class="section-bar">Constants</h3>
104
+
105
+ <div class="name-list">
106
+ <table summary="Constants">
107
+ <tr class="top-aligned-row context-row">
108
+ <td class="context-item-name">SPARQL_RESULTS_XML</td>
109
+ <td>=</td>
110
+ <td class="context-item-value">&quot;application/sparql-results+xml&quot;</td>
111
+ </tr>
112
+ <tr class="top-aligned-row context-row">
113
+ <td class="context-item-name">SPARQL_RESULTS_JSON</td>
114
+ <td>=</td>
115
+ <td class="context-item-value">&quot;application/sparql-results+json&quot;</td>
116
+ </tr>
117
+ </table>
118
+ </div>
119
+ </div>
120
+
121
+
122
+
123
+
124
+
125
+
126
+ <!-- if method_list -->
127
+
128
+
129
+ </div>
130
+
131
+
132
+ <div id="validator-badges">
133
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
134
+ </div>
135
+
136
+ </body>
137
+ </html>
@@ -0,0 +1,515 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: Pho::Sparql::SparqlClient</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">Pho::Sparql::SparqlClient</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../../files/lib/pho/sparql_rb.html">
59
+ lib/pho/sparql.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ Object
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+ <div id="description">
82
+ <p>
83
+ A simple SPARQL client that handles the basic HTTP traffic
84
+ </p>
85
+
86
+ </div>
87
+
88
+
89
+ </div>
90
+
91
+ <div id="method-list">
92
+ <h3 class="section-bar">Methods</h3>
93
+
94
+ <div class="name-list">
95
+ <a href="#M000003">add_default_graph</a>&nbsp;&nbsp;
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;
101
+ <a href="#M000002">new</a>&nbsp;&nbsp;
102
+ <a href="#M000005">query</a>&nbsp;&nbsp;
103
+ <a href="#M000010">select</a>&nbsp;&nbsp;
104
+ </div>
105
+ </div>
106
+
107
+ </div>
108
+
109
+
110
+ <!-- if includes -->
111
+
112
+ <div id="section">
113
+
114
+
115
+
116
+
117
+
118
+ <div id="attribute-list">
119
+ <h3 class="section-bar">Attributes</h3>
120
+
121
+ <div class="name-list">
122
+ <table>
123
+ <tr class="top-aligned-row context-row">
124
+ <td class="context-item-name">client</td>
125
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
126
+ <td class="context-item-desc">
127
+ HTTPClient object
128
+
129
+ </td>
130
+ </tr>
131
+ <tr class="top-aligned-row context-row">
132
+ <td class="context-item-name">endpoint</td>
133
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
134
+ <td class="context-item-desc">
135
+ URI of the endpoint
136
+
137
+ </td>
138
+ </tr>
139
+ <tr class="top-aligned-row context-row">
140
+ <td class="context-item-name">graphs</td>
141
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
142
+ <td class="context-item-desc"></td>
143
+ </tr>
144
+ <tr class="top-aligned-row context-row">
145
+ <td class="context-item-name">named_graphs</td>
146
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
147
+ <td class="context-item-desc"></td>
148
+ </tr>
149
+ <tr class="top-aligned-row context-row">
150
+ <td class="context-item-name">output_parameter_name</td>
151
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
152
+ <td class="context-item-desc">
153
+ Name of output parameter to use to control response format. If set then
154
+ this parameter is added to the <a
155
+ href="SparqlClient.html#M000005">query</a> string, rather than using
156
+ Content Negotiation
157
+
158
+ </td>
159
+ </tr>
160
+ <tr class="top-aligned-row context-row">
161
+ <td class="context-item-name">supports_rdf_json</td>
162
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
163
+ <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.
166
+
167
+ </td>
168
+ </tr>
169
+ <tr class="top-aligned-row context-row">
170
+ <td class="context-item-name">supports_sparql_json</td>
171
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
172
+ <td class="context-item-desc">
173
+ Configures whether the remote endpoint supports SPARQL JSON Results format
174
+ Will default to true.
175
+
176
+ </td>
177
+ </tr>
178
+ </table>
179
+ </div>
180
+ </div>
181
+
182
+
183
+
184
+ <!-- if method_list -->
185
+ <div id="methods">
186
+ <h3 class="section-bar">Public Class methods</h3>
187
+
188
+ <div id="method-M000002" class="method-detail">
189
+ <a name="M000002"></a>
190
+
191
+ <div class="method-heading">
192
+ <a href="#M000002" class="method-signature">
193
+ <span class="method-name">new</span><span class="method-args">(endpoint, client=HTTPClient.new() )</span>
194
+ </a>
195
+ </div>
196
+
197
+ <div class="method-description">
198
+ <p>
199
+ Initialize a client for a specific endpoint
200
+ </p>
201
+ <pre>
202
+ endpoint:: uri of the SPARQL endpoint
203
+ client:: optionally, a reference to an existing HTTPClient object instance
204
+ </pre>
205
+ <p><a class="source-toggle" href="#"
206
+ onclick="toggleCode('M000002-source');return false;">[Source]</a></p>
207
+ <div class="method-source-code" id="M000002-source">
208
+ <pre>
209
+ <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 34</span>
210
+ <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
+ <span class="ruby-ivar">@endpoint</span> = <span class="ruby-identifier">endpoint</span>
212
+ <span class="ruby-ivar">@graphs</span> = <span class="ruby-keyword kw">nil</span>
213
+ <span class="ruby-ivar">@named_graphs</span> = <span class="ruby-keyword kw">nil</span>
214
+ <span class="ruby-ivar">@client</span> = <span class="ruby-identifier">client</span>
215
+ <span class="ruby-ivar">@output_parameter_name</span> = <span class="ruby-keyword kw">nil</span>
216
+ <span class="ruby-ivar">@supports_rdf_json</span> = <span class="ruby-keyword kw">false</span>
217
+ <span class="ruby-ivar">@supports_sparql_json</span> = <span class="ruby-keyword kw">true</span>
218
+ <span class="ruby-keyword kw">end</span>
219
+ </pre>
220
+ </div>
221
+ </div>
222
+ </div>
223
+
224
+ <h3 class="section-bar">Public Instance methods</h3>
225
+
226
+ <div id="method-M000003" class="method-detail">
227
+ <a name="M000003"></a>
228
+
229
+ <div class="method-heading">
230
+ <a href="#M000003" class="method-signature">
231
+ <span class="method-name">add_default_graph</span><span class="method-args">(graph_uri)</span>
232
+ </a>
233
+ </div>
234
+
235
+ <div class="method-description">
236
+ <p>
237
+ Add a default graph. This will be added as a default graph in the request
238
+ protocol
239
+ </p>
240
+ <p><a class="source-toggle" href="#"
241
+ onclick="toggleCode('M000003-source');return false;">[Source]</a></p>
242
+ <div class="method-source-code" id="M000003-source">
243
+ <pre>
244
+ <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 45</span>
245
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_default_graph</span>(<span class="ruby-identifier">graph_uri</span>)
246
+ <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
+ <span class="ruby-ivar">@graphs</span> = []
248
+ <span class="ruby-keyword kw">end</span>
249
+ <span class="ruby-ivar">@graphs</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">graph_uri</span>
250
+ <span class="ruby-keyword kw">end</span>
251
+ </pre>
252
+ </div>
253
+ </div>
254
+ </div>
255
+
256
+ <div id="method-M000004" class="method-detail">
257
+ <a name="M000004"></a>
258
+
259
+ <div class="method-heading">
260
+ <a href="#M000004" class="method-signature">
261
+ <span class="method-name">add_named_graph</span><span class="method-args">(graph_uri)</span>
262
+ </a>
263
+ </div>
264
+
265
+ <div class="method-description">
266
+ <p>
267
+ Add a named graph. This will be added as a named graph in the request
268
+ protocol
269
+ </p>
270
+ <p><a class="source-toggle" href="#"
271
+ onclick="toggleCode('M000004-source');return false;">[Source]</a></p>
272
+ <div class="method-source-code" id="M000004-source">
273
+ <pre>
274
+ <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 53</span>
275
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_named_graph</span>(<span class="ruby-identifier">graph_uri</span>)
276
+ <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
+ <span class="ruby-ivar">@named_graphs</span> = []
278
+ <span class="ruby-keyword kw">end</span>
279
+ <span class="ruby-ivar">@named_graphs</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">graph_uri</span>
280
+ <span class="ruby-keyword kw">end</span>
281
+ </pre>
282
+ </div>
283
+ </div>
284
+ </div>
285
+
286
+ <div id="method-M000009" class="method-detail">
287
+ <a name="M000009"></a>
288
+
289
+ <div class="method-heading">
290
+ <a href="#M000009" class="method-signature">
291
+ <span class="method-name">ask</span><span class="method-args">(query, format=Pho::Sparql::SPARQL_RESULTS_XML)</span>
292
+ </a>
293
+ </div>
294
+
295
+ <div class="method-description">
296
+ <p>
297
+ Perform a SPARQL ASK <a href="SparqlClient.html#M000005">query</a>.
298
+ </p>
299
+ <pre>
300
+ query:: the SPARQL query
301
+ format:: the preferred response format
302
+ </pre>
303
+ <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">
306
+ <pre>
307
+ <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 130</span>
308
+ <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
+ <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
+ <span class="ruby-keyword kw">end</span>
311
+ </pre>
312
+ </div>
313
+ </div>
314
+ </div>
315
+
316
+ <div id="method-M000008" class="method-detail">
317
+ <a name="M000008"></a>
318
+
319
+ <div class="method-heading">
320
+ <a href="#M000008" class="method-signature">
321
+ <span class="method-name">construct</span><span class="method-args">(query, format=&quot;application/rdf+xml&quot;)</span>
322
+ </a>
323
+ </div>
324
+
325
+ <div class="method-description">
326
+ <p>
327
+ Perform a SPARQL CONSTRUCT <a href="SparqlClient.html#M000005">query</a>.
328
+ </p>
329
+ <pre>
330
+ query:: the SPARQL query
331
+ format:: the preferred response format
332
+ </pre>
333
+ <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">
336
+ <pre>
337
+ <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 122</span>
338
+ <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
+ <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
+ <span class="ruby-keyword kw">end</span>
341
+ </pre>
342
+ </div>
343
+ </div>
344
+ </div>
345
+
346
+ <div id="method-M000006" class="method-detail">
347
+ <a name="M000006"></a>
348
+
349
+ <div class="method-heading">
350
+ <a href="#M000006" class="method-signature">
351
+ <span class="method-name">describe</span><span class="method-args">(query, format=&quot;application/rdf+xml&quot;)</span>
352
+ </a>
353
+ </div>
354
+
355
+ <div class="method-description">
356
+ <p>
357
+ Perform a SPARQL DESCRIBE <a href="SparqlClient.html#M000005">query</a>.
358
+ </p>
359
+ <pre>
360
+ query:: the SPARQL query
361
+ format:: the preferred response format
362
+ </pre>
363
+ <p><a class="source-toggle" href="#"
364
+ onclick="toggleCode('M000006-source');return false;">[Source]</a></p>
365
+ <div class="method-source-code" id="M000006-source">
366
+ <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>)
370
+ <span class="ruby-keyword kw">end</span>
371
+ </pre>
372
+ </div>
373
+ </div>
374
+ </div>
375
+
376
+ <div id="method-M000007" class="method-detail">
377
+ <a name="M000007"></a>
378
+
379
+ <div class="method-heading">
380
+ <a href="#M000007" class="method-signature">
381
+ <span class="method-name">multi_describe</span><span class="method-args">(uris, format=&quot;application/rdf+xml&quot;)</span>
382
+ </a>
383
+ </div>
384
+
385
+ <div class="method-description">
386
+ <p>
387
+ DESCRIBE multiple resources in a single <a
388
+ href="SparqlClient.html#M000005">query</a>. The provided array should
389
+ contain the uris that are to be described
390
+ </p>
391
+ <p>
392
+ This will generate a <a href="SparqlClient.html#M000005">query</a> like:
393
+ </p>
394
+ <pre>
395
+ 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
+ </pre>
400
+ <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">
403
+ <pre>
404
+ <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 113</span>
405
+ <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
+ <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
+ <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>)
408
+ <span class="ruby-keyword kw">end</span>
409
+ </pre>
410
+ </div>
411
+ </div>
412
+ </div>
413
+
414
+ <div id="method-M000005" class="method-detail">
415
+ <a name="M000005"></a>
416
+
417
+ <div class="method-heading">
418
+ <a href="#M000005" class="method-signature">
419
+ <span class="method-name">query</span><span class="method-args">(sparql, format=nil, graphs=nil, named_graphs=nil)</span>
420
+ </a>
421
+ </div>
422
+
423
+ <div class="method-description">
424
+ <p>
425
+ Perform a sparql <a href="SparqlClient.html#M000005">query</a>
426
+ </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>
433
+ <p><a class="source-toggle" href="#"
434
+ onclick="toggleCode('M000005-source');return false;">[Source]</a></p>
435
+ <div class="method-source-code" id="M000005-source">
436
+ <pre>
437
+ <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 66</span>
438
+ <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
+
440
+ <span class="ruby-identifier">params</span> = {}
441
+ <span class="ruby-identifier">params</span>[<span class="ruby-value str">&quot;query&quot;</span>] = <span class="ruby-identifier">sparql</span>
442
+
443
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">graphs</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
444
+ <span class="ruby-identifier">params</span>[<span class="ruby-value str">&quot;default-graph-uri&quot;</span>] = <span class="ruby-identifier">graphs</span>
445
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@graphs</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
446
+ <span class="ruby-identifier">params</span>[<span class="ruby-value str">&quot;default-graph-uri&quot;</span>] = <span class="ruby-ivar">@graphs</span>
447
+ <span class="ruby-keyword kw">end</span>
448
+
449
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">named_graphs</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
450
+ <span class="ruby-identifier">params</span>[<span class="ruby-value str">&quot;named-graph-uri&quot;</span>] = <span class="ruby-identifier">named_graphs</span>
451
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@named_graphs</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
452
+ <span class="ruby-identifier">params</span>[<span class="ruby-value str">&quot;named-graph-uri&quot;</span>] = <span class="ruby-ivar">@named_graphs</span>
453
+ <span class="ruby-keyword kw">end</span>
454
+
455
+ <span class="ruby-identifier">headers</span> = {}
456
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">format</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
457
+
458
+ <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@output_parameter_name</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
459
+ <span class="ruby-identifier">params</span>[<span class="ruby-ivar">@output_parameter_name</span>] = <span class="ruby-identifier">format</span>
460
+ <span class="ruby-keyword kw">else</span>
461
+ <span class="ruby-identifier">headers</span>[<span class="ruby-value str">&quot;Accept&quot;</span>] = <span class="ruby-identifier">format</span>
462
+ <span class="ruby-keyword kw">end</span>
463
+
464
+ <span class="ruby-keyword kw">end</span>
465
+
466
+ <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">get</span>( <span class="ruby-ivar">@endpoint</span>, <span class="ruby-identifier">params</span>, <span class="ruby-identifier">headers</span> )
467
+ <span class="ruby-keyword kw">end</span>
468
+ </pre>
469
+ </div>
470
+ </div>
471
+ </div>
472
+
473
+ <div id="method-M000010" class="method-detail">
474
+ <a name="M000010"></a>
475
+
476
+ <div class="method-heading">
477
+ <a href="#M000010" class="method-signature">
478
+ <span class="method-name">select</span><span class="method-args">(query, format=Pho::Sparql::SPARQL_RESULTS_XML)</span>
479
+ </a>
480
+ </div>
481
+
482
+ <div class="method-description">
483
+ <p>
484
+ Perform a SPARQL SELECT <a href="SparqlClient.html#M000005">query</a>.
485
+ </p>
486
+ <pre>
487
+ query:: the SPARQL query
488
+ format:: the preferred response format
489
+ </pre>
490
+ <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">
493
+ <pre>
494
+ <span class="ruby-comment cmt"># File lib/pho/sparql.rb, line 138</span>
495
+ <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
+ <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
+ <span class="ruby-keyword kw">end</span>
498
+ </pre>
499
+ </div>
500
+ </div>
501
+ </div>
502
+
503
+
504
+ </div>
505
+
506
+
507
+ </div>
508
+
509
+
510
+ <div id="validator-badges">
511
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
512
+ </div>
513
+
514
+ </body>
515
+ </html>