pho 0.7.2 → 0.7.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. data/CHANGES +5 -0
  2. data/Rakefile +1 -1
  3. data/lib/pho/snapshot.rb +6 -1
  4. data/lib/pho/sparql.rb +4 -1
  5. data/tests/tc_snapshots.rb +14 -1
  6. data/tests/tc_sparql_helper.rb +23 -0
  7. metadata +60 -160
  8. data/doc/rdoc/classes/Pho/Analyzers.html +0 -310
  9. data/doc/rdoc/classes/Pho/CommandLine.html +0 -770
  10. data/doc/rdoc/classes/Pho/DatatypeProperty.html +0 -241
  11. data/doc/rdoc/classes/Pho/Enrichment/StoreEnricher.html +0 -410
  12. data/doc/rdoc/classes/Pho/Enrichment.html +0 -119
  13. data/doc/rdoc/classes/Pho/Etags.html +0 -310
  14. data/doc/rdoc/classes/Pho/Facet/Results.html +0 -299
  15. data/doc/rdoc/classes/Pho/Facet/Term.html +0 -177
  16. data/doc/rdoc/classes/Pho/Facet.html +0 -119
  17. data/doc/rdoc/classes/Pho/FieldPredicateMap.html +0 -668
  18. data/doc/rdoc/classes/Pho/FieldWeighting.html +0 -230
  19. data/doc/rdoc/classes/Pho/FileManagement/AbstractFileManager.html +0 -478
  20. data/doc/rdoc/classes/Pho/FileManagement/FileManager.html +0 -264
  21. data/doc/rdoc/classes/Pho/FileManagement/RDFManager.html +0 -259
  22. data/doc/rdoc/classes/Pho/FileManagement.html +0 -121
  23. data/doc/rdoc/classes/Pho/Job.html +0 -627
  24. data/doc/rdoc/classes/Pho/JobUpdate.html +0 -141
  25. data/doc/rdoc/classes/Pho/Jobs.html +0 -538
  26. data/doc/rdoc/classes/Pho/Namespaces.html +0 -164
  27. data/doc/rdoc/classes/Pho/OAI/Record.html +0 -165
  28. data/doc/rdoc/classes/Pho/OAI/Records.html +0 -331
  29. data/doc/rdoc/classes/Pho/OAI.html +0 -118
  30. data/doc/rdoc/classes/Pho/QueryProfile.html +0 -497
  31. data/doc/rdoc/classes/Pho/RDF/Parser.html +0 -279
  32. data/doc/rdoc/classes/Pho/RDF.html +0 -120
  33. data/doc/rdoc/classes/Pho/RDFCollection.html +0 -119
  34. data/doc/rdoc/classes/Pho/ResourceHash/Converter.html +0 -325
  35. data/doc/rdoc/classes/Pho/ResourceHash/SetAlgebra.html +0 -241
  36. data/doc/rdoc/classes/Pho/ResourceHash.html +0 -123
  37. data/doc/rdoc/classes/Pho/Snapshot.html +0 -397
  38. data/doc/rdoc/classes/Pho/Sparql/SparqlClient.html +0 -594
  39. data/doc/rdoc/classes/Pho/Sparql/SparqlHelper.html +0 -692
  40. data/doc/rdoc/classes/Pho/Sparql.html +0 -187
  41. data/doc/rdoc/classes/Pho/Status.html +0 -296
  42. data/doc/rdoc/classes/Pho/Store.html +0 -1560
  43. data/doc/rdoc/classes/Pho/StoreSparqlClient.html +0 -183
  44. data/doc/rdoc/classes/Pho/Update/Changeset.html +0 -521
  45. data/doc/rdoc/classes/Pho/Update/ChangesetBuilder.html +0 -330
  46. data/doc/rdoc/classes/Pho/Update/ChangesetHelper.html +0 -159
  47. data/doc/rdoc/classes/Pho/Update/Changesets.html +0 -205
  48. data/doc/rdoc/classes/Pho/Update/LiteralStatement.html +0 -257
  49. data/doc/rdoc/classes/Pho/Update/ResourceStatement.html +0 -237
  50. data/doc/rdoc/classes/Pho/Update/Statement.html +0 -303
  51. data/doc/rdoc/classes/Pho/Update.html +0 -128
  52. data/doc/rdoc/classes/Pho.html +0 -283
  53. data/doc/rdoc/classes/String.html +0 -146
  54. data/doc/rdoc/created.rid +0 -1
  55. data/doc/rdoc/files/CHANGES.html +0 -351
  56. data/doc/rdoc/files/README.html +0 -191
  57. data/doc/rdoc/files/lib/pho/changeset_builder_rb.html +0 -108
  58. data/doc/rdoc/files/lib/pho/changeset_rb.html +0 -108
  59. data/doc/rdoc/files/lib/pho/command_line_rb.html +0 -101
  60. data/doc/rdoc/files/lib/pho/converter_rb.html +0 -108
  61. data/doc/rdoc/files/lib/pho/enrichment_rb.html +0 -101
  62. data/doc/rdoc/files/lib/pho/etags_rb.html +0 -108
  63. data/doc/rdoc/files/lib/pho/facet_rb.html +0 -101
  64. data/doc/rdoc/files/lib/pho/field_predicate_map_rb.html +0 -101
  65. data/doc/rdoc/files/lib/pho/file_management_rb.html +0 -101
  66. data/doc/rdoc/files/lib/pho/file_manager_rb.html +0 -108
  67. data/doc/rdoc/files/lib/pho/job_rb.html +0 -101
  68. data/doc/rdoc/files/lib/pho/oai_rb.html +0 -101
  69. data/doc/rdoc/files/lib/pho/query_profile_rb.html +0 -101
  70. data/doc/rdoc/files/lib/pho/rdf_collection_rb.html +0 -101
  71. data/doc/rdoc/files/lib/pho/rdf_rb.html +0 -108
  72. data/doc/rdoc/files/lib/pho/resource_hash_rb.html +0 -101
  73. data/doc/rdoc/files/lib/pho/snapshot_rb.html +0 -109
  74. data/doc/rdoc/files/lib/pho/sparql_rb.html +0 -101
  75. data/doc/rdoc/files/lib/pho/status_rb.html +0 -101
  76. data/doc/rdoc/files/lib/pho/store_rb.html +0 -108
  77. data/doc/rdoc/files/lib/pho_rb.html +0 -133
  78. data/doc/rdoc/fr_class_index.html +0 -72
  79. data/doc/rdoc/fr_file_index.html +0 -49
  80. data/doc/rdoc/fr_method_index.html +0 -237
  81. data/doc/rdoc/index.html +0 -24
  82. data/doc/rdoc/rdoc-style.css +0 -208
@@ -1,1560 +0,0 @@
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::Store</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::Store</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../files/lib/pho/store_rb.html">
59
- lib/pho/store.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
- The <a href="Store.html">Store</a> class acts as a lightweight client
84
- interface to the Talis Platform API (<a
85
- href="http://n2.talis.com/wiki/Platform_API">n2.talis.com/wiki/Platform_API</a>).
86
- The class provides methods for interacting with each of the core platform
87
- services, e.g. retrieving and storing <a href="RDF.html">RDF</a>,
88
- performing searches, SPARQL queries, etc.
89
- </p>
90
- <h2>Usage</h2>
91
- <pre>
92
- store = Pho::Store.new(&quot;http://api.talis.com/stores/testing&quot;, &quot;user&quot;, &quot;pass&quot;)
93
- store.store_file( File.new(&quot;/tmp/example.rdf&quot;) )
94
- store.store_url( &quot;http://www.example.org/example.rdf&quot; )
95
- store.describe( &quot;http://www.example.org/thing&quot; )
96
- store.reset
97
- </pre>
98
- <h2>Examples</h2>
99
- <p>
100
- See the examples directory in the distribution
101
- </p>
102
-
103
- </div>
104
-
105
-
106
- </div>
107
-
108
- <div id="method-list">
109
- <h3 class="section-bar">Methods</h3>
110
-
111
- <div class="name-list">
112
- <a href="#M000173">augment</a>&nbsp;&nbsp;
113
- <a href="#M000172">augment_uri</a>&nbsp;&nbsp;
114
- <a href="#M000157">build_uri</a>&nbsp;&nbsp;
115
- <a href="#M000174">configure_headers_for_conditional_get</a>&nbsp;&nbsp;
116
- <a href="#M000177">delete_item</a>&nbsp;&nbsp;
117
- <a href="#M000161">describe</a>&nbsp;&nbsp;
118
- <a href="#M000170">facet</a>&nbsp;&nbsp;
119
- <a href="#M000185">get_field_predicate_map</a>&nbsp;&nbsp;
120
- <a href="#M000178">get_item</a>&nbsp;&nbsp;
121
- <a href="#M000179">get_job</a>&nbsp;&nbsp;
122
- <a href="#M000180">get_jobs</a>&nbsp;&nbsp;
123
- <a href="#M000187">get_query_profile</a>&nbsp;&nbsp;
124
- <a href="#M000171">get_search_params</a>&nbsp;&nbsp;
125
- <a href="#M000183">get_snapshots</a>&nbsp;&nbsp;
126
- <a href="#M000182">get_status</a>&nbsp;&nbsp;
127
- <a href="#M000184">list_records</a>&nbsp;&nbsp;
128
- <a href="#M000155">new</a>&nbsp;&nbsp;
129
- <a href="#M000186">put_field_predicate_map</a>&nbsp;&nbsp;
130
- <a href="#M000188">put_query_profile</a>&nbsp;&nbsp;
131
- <a href="#M000175">record_etags</a>&nbsp;&nbsp;
132
- <a href="#M000169">search</a>&nbsp;&nbsp;
133
- <a href="#M000156">set_credentials</a>&nbsp;&nbsp;
134
- <a href="#M000168">sparql</a>&nbsp;&nbsp;
135
- <a href="#M000166">sparql_ask</a>&nbsp;&nbsp;
136
- <a href="#M000163">sparql_client</a>&nbsp;&nbsp;
137
- <a href="#M000165">sparql_construct</a>&nbsp;&nbsp;
138
- <a href="#M000164">sparql_describe</a>&nbsp;&nbsp;
139
- <a href="#M000167">sparql_select</a>&nbsp;&nbsp;
140
- <a href="#M000158">store_data</a>&nbsp;&nbsp;
141
- <a href="#M000159">store_file</a>&nbsp;&nbsp;
142
- <a href="#M000160">store_url</a>&nbsp;&nbsp;
143
- <a href="#M000162">submit_changeset</a>&nbsp;&nbsp;
144
- <a href="#M000181">submit_job</a>&nbsp;&nbsp;
145
- <a href="#M000176">upload_item</a>&nbsp;&nbsp;
146
- </div>
147
- </div>
148
-
149
- </div>
150
-
151
-
152
- <!-- if includes -->
153
-
154
- <div id="section">
155
-
156
-
157
-
158
-
159
-
160
- <div id="attribute-list">
161
- <h3 class="section-bar">Attributes</h3>
162
-
163
- <div class="name-list">
164
- <table>
165
- <tr class="top-aligned-row context-row">
166
- <td class="context-item-name">client</td>
167
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
168
- <td class="context-item-desc">
169
- Retrieve the HTTPClient instance being used by this object
170
-
171
- </td>
172
- </tr>
173
- <tr class="top-aligned-row context-row">
174
- <td class="context-item-name">storeuri</td>
175
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
176
- <td class="context-item-desc">
177
- Retrieve the base uri of this store
178
-
179
- </td>
180
- </tr>
181
- <tr class="top-aligned-row context-row">
182
- <td class="context-item-name">username</td>
183
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
184
- <td class="context-item-desc">
185
- Retrieve the admin username configured in this instance
186
-
187
- </td>
188
- </tr>
189
- </table>
190
- </div>
191
- </div>
192
-
193
-
194
-
195
- <!-- if method_list -->
196
- <div id="methods">
197
- <h3 class="section-bar">Public Class methods</h3>
198
-
199
- <div id="method-M000155" class="method-detail">
200
- <a name="M000155"></a>
201
-
202
- <div class="method-heading">
203
- <a href="#M000155" class="method-signature">
204
- <span class="method-name">new</span><span class="method-args">(storeuri, username=nil, password=nil, client = HTTPClient.new() )</span>
205
- </a>
206
- </div>
207
-
208
- <div class="method-description">
209
- <p>
210
- Create an instance of the store class
211
- </p>
212
- <table>
213
- <tr><td valign="top">storeuri:</td><td>base uri for the Platform store to be accessed
214
-
215
- </td></tr>
216
- <tr><td valign="top">username:</td><td>admin username, may be nil
217
-
218
- </td></tr>
219
- <tr><td valign="top">password:</td><td>admin password, may be nil
220
-
221
- </td></tr>
222
- <tr><td valign="top">client:</td><td>an instance of HTTPClient
223
-
224
- </td></tr>
225
- </table>
226
- <p><a class="source-toggle" href="#"
227
- onclick="toggleCode('M000155-source');return false;">[Source]</a></p>
228
- <div class="method-source-code" id="M000155-source">
229
- <pre>
230
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 43</span>
231
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">storeuri</span>, <span class="ruby-identifier">username</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">password</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">client</span> = <span class="ruby-constant">HTTPClient</span>.<span class="ruby-identifier">new</span>() )
232
- <span class="ruby-ivar">@storeuri</span> = <span class="ruby-identifier">storeuri</span>.<span class="ruby-identifier">chomp</span>(<span class="ruby-value str">&quot;/&quot;</span>)
233
- <span class="ruby-ivar">@username</span> = <span class="ruby-identifier">username</span>
234
- <span class="ruby-ivar">@password</span> = <span class="ruby-identifier">password</span>
235
- <span class="ruby-ivar">@client</span> = <span class="ruby-identifier">client</span>
236
- <span class="ruby-identifier">set_credentials</span>(<span class="ruby-identifier">username</span>, <span class="ruby-identifier">password</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">username</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">password</span>
237
- <span class="ruby-keyword kw">end</span>
238
- </pre>
239
- </div>
240
- </div>
241
- </div>
242
-
243
- <h3 class="section-bar">Public Instance methods</h3>
244
-
245
- <div id="method-M000173" class="method-detail">
246
- <a name="M000173"></a>
247
-
248
- <div class="method-heading">
249
- <a href="#M000173" class="method-signature">
250
- <span class="method-name">augment</span><span class="method-args">(data)</span>
251
- </a>
252
- </div>
253
-
254
- <div class="method-description">
255
- <p>
256
- Augment an RSS feed against data int this store by POSTing it to the
257
- Platform
258
- </p>
259
- <table>
260
- <tr><td valign="top">data:</td><td>a <a href="../String.html">String</a> containing the RSS feed
261
-
262
- </td></tr>
263
- </table>
264
- <p><a class="source-toggle" href="#"
265
- onclick="toggleCode('M000173-source');return false;">[Source]</a></p>
266
- <div class="method-source-code" id="M000173-source">
267
- <pre>
268
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 307</span>
269
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">augment</span>(<span class="ruby-identifier">data</span>)
270
- <span class="ruby-identifier">u</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">build_uri</span>(<span class="ruby-value str">&quot;/services/augment&quot;</span>)
271
- <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">post</span>(<span class="ruby-identifier">u</span>, <span class="ruby-identifier">data</span>, {<span class="ruby-value str">&quot;Content-Type&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;application/rss+xml&quot;</span>})
272
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">response</span>
273
- <span class="ruby-keyword kw">end</span>
274
- </pre>
275
- </div>
276
- </div>
277
- </div>
278
-
279
- <div id="method-M000172" class="method-detail">
280
- <a name="M000172"></a>
281
-
282
- <div class="method-heading">
283
- <a href="#M000172" class="method-signature">
284
- <span class="method-name">augment_uri</span><span class="method-args">(uri)</span>
285
- </a>
286
- </div>
287
-
288
- <div class="method-description">
289
- <p>
290
- Augment an RSS feed that can be retrieved from the specified URL, against
291
- data in this store
292
- </p>
293
- <table>
294
- <tr><td valign="top">uri:</td><td>the URL for the RSS 1.0 feed
295
-
296
- </td></tr>
297
- </table>
298
- <p><a class="source-toggle" href="#"
299
- onclick="toggleCode('M000172-source');return false;">[Source]</a></p>
300
- <div class="method-source-code" id="M000172-source">
301
- <pre>
302
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 298</span>
303
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">augment_uri</span>(<span class="ruby-identifier">uri</span>)
304
- <span class="ruby-identifier">u</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">build_uri</span>(<span class="ruby-value str">&quot;/services/augment&quot;</span>)
305
- <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">u</span>, {<span class="ruby-value str">&quot;data-uri&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">uri</span>})
306
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">response</span>
307
- <span class="ruby-keyword kw">end</span>
308
- </pre>
309
- </div>
310
- </div>
311
- </div>
312
-
313
- <div id="method-M000157" class="method-detail">
314
- <a name="M000157"></a>
315
-
316
- <div class="method-heading">
317
- <a href="#M000157" class="method-signature">
318
- <span class="method-name">build_uri</span><span class="method-args">(uri)</span>
319
- </a>
320
- </div>
321
-
322
- <div class="method-description">
323
- <p>
324
- Build a request uri, by concatenating it with the base uri of the store
325
- </p>
326
- <table>
327
- <tr><td valign="top">uri:</td><td>relative URI to store service, e.g. &quot;/service/sparql&quot;
328
-
329
- </td></tr>
330
- </table>
331
- <p><a class="source-toggle" href="#"
332
- onclick="toggleCode('M000157-source');return false;">[Source]</a></p>
333
- <div class="method-source-code" id="M000157-source">
334
- <pre>
335
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 61</span>
336
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">build_uri</span>(<span class="ruby-identifier">uri</span>)
337
- <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">start_with?</span>(<span class="ruby-ivar">@storeuri</span>))
338
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">uri</span>
339
- <span class="ruby-keyword kw">end</span>
340
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">start_with?</span>(<span class="ruby-value str">&quot;/&quot;</span>)
341
- <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@storeuri</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">uri</span>
342
- <span class="ruby-keyword kw">else</span>
343
- <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@storeuri</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;/&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">uri</span>
344
- <span class="ruby-keyword kw">end</span>
345
- <span class="ruby-keyword kw">end</span>
346
- </pre>
347
- </div>
348
- </div>
349
- </div>
350
-
351
- <div id="method-M000174" class="method-detail">
352
- <a name="M000174"></a>
353
-
354
- <div class="method-heading">
355
- <a href="#M000174" class="method-signature">
356
- <span class="method-name">configure_headers_for_conditional_get</span><span class="method-args">(u, headers, etags, if_match)</span>
357
- </a>
358
- </div>
359
-
360
- <div class="method-description">
361
- <p>
362
- Added appropriate http header for conditional get requests
363
- </p>
364
- <p><a class="source-toggle" href="#"
365
- onclick="toggleCode('M000174-source');return false;">[Source]</a></p>
366
- <div class="method-source-code" id="M000174-source">
367
- <pre>
368
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 314</span>
369
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">configure_headers_for_conditional_get</span>(<span class="ruby-identifier">u</span>, <span class="ruby-identifier">headers</span>, <span class="ruby-identifier">etags</span>, <span class="ruby-identifier">if_match</span>)
370
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">etags</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">etags</span>.<span class="ruby-identifier">has_tag?</span>(<span class="ruby-identifier">u</span>)
371
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">if_match</span>
372
- <span class="ruby-identifier">headers</span>[<span class="ruby-value str">&quot;If-Match&quot;</span>] = <span class="ruby-identifier">etags</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">u</span>)
373
- <span class="ruby-keyword kw">else</span>
374
- <span class="ruby-identifier">headers</span>[<span class="ruby-value str">&quot;If-None-Match&quot;</span>] = <span class="ruby-identifier">etags</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">u</span>)
375
- <span class="ruby-keyword kw">end</span>
376
- <span class="ruby-keyword kw">end</span>
377
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">headers</span>
378
- <span class="ruby-keyword kw">end</span>
379
- </pre>
380
- </div>
381
- </div>
382
- </div>
383
-
384
- <div id="method-M000177" class="method-detail">
385
- <a name="M000177"></a>
386
-
387
- <div class="method-heading">
388
- <a href="#M000177" class="method-signature">
389
- <span class="method-name">delete_item</span><span class="method-args">(uri)</span>
390
- </a>
391
- </div>
392
-
393
- <div class="method-description">
394
- <p>
395
- Delete an item from the Contentbox in this <a href="Store.html">Store</a>
396
- </p>
397
- <table>
398
- <tr><td valign="top">uri:</td><td>the URL of the item, can be relative
399
-
400
- </td></tr>
401
- </table>
402
- <p>
403
- TODO: conditional deletes
404
- </p>
405
- <p><a class="source-toggle" href="#"
406
- onclick="toggleCode('M000177-source');return false;">[Source]</a></p>
407
- <div class="method-source-code" id="M000177-source">
408
- <pre>
409
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 369</span>
410
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">delete_item</span>(<span class="ruby-identifier">uri</span>)
411
- <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">uri</span>.<span class="ruby-identifier">start_with?</span>(<span class="ruby-ivar">@storeuri</span>)
412
- <span class="ruby-identifier">uri</span> = <span class="ruby-identifier">build_uri</span>(<span class="ruby-identifier">uri</span>)
413
- <span class="ruby-keyword kw">end</span>
414
- <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">uri</span>)
415
- <span class="ruby-keyword kw">end</span>
416
- </pre>
417
- </div>
418
- </div>
419
- </div>
420
-
421
- <div id="method-M000161" class="method-detail">
422
- <a name="M000161"></a>
423
-
424
- <div class="method-heading">
425
- <a href="#M000161" class="method-signature">
426
- <span class="method-name">describe</span><span class="method-args">(uri, format=&quot;application/rdf+xml&quot;, etags=nil, if_match=false)</span>
427
- </a>
428
- </div>
429
-
430
- <div class="method-description">
431
- <p>
432
- Retrieve an <a href="RDF.html">RDF</a> description of a specific URI. The
433
- default behaviour will be to retrieve an <a href="RDF.html">RDF</a>/XML
434
- document, but other formats can be requested, as supported by the Talis
435
- Platform. E.g. application/json
436
- </p>
437
- <table>
438
- <tr><td valign="top">uri:</td><td>the URI of the resource to <a href="Store.html#M000161">describe</a>
439
-
440
- </td></tr>
441
- <tr><td valign="top">format:</td><td>the preferred response format
442
-
443
- </td></tr>
444
- <tr><td valign="top">etags:</td><td>an instance of the <a href="Etags.html">Pho::Etags</a> class to support
445
- conditional GETs
446
-
447
- </td></tr>
448
- <tr><td valign="top">if_match:</td><td>specify true to retrieve data only if the version matches a known ETag,
449
- false to perform a Conditional GET
450
-
451
- </td></tr>
452
- </table>
453
- <p>
454
- Note that this method is different from <a
455
- href="Store.html#M000164">sparql_describe</a> in that it is intended to be
456
- used to generate a description of a single URI, using an separated service
457
- exposed by the Platform. This service is optimised for retrieval of
458
- descriptions for single resources and supports HTTP caching and conditional
459
- retrieval. The <a href="Store.html#M000164">sparql_describe</a> method
460
- should be used to submit more complex DESCRIBE queries to the Platform,
461
- e.g. to generate descriptions of resources matching a particular graph
462
- pattern.
463
- </p>
464
- <p><a class="source-toggle" href="#"
465
- onclick="toggleCode('M000161-source');return false;">[Source]</a></p>
466
- <div class="method-source-code" id="M000161-source">
467
- <pre>
468
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 148</span>
469
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">describe</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">etags</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">if_match</span>=<span class="ruby-keyword kw">false</span>)
470
- <span class="ruby-identifier">u</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">build_uri</span>(<span class="ruby-value str">&quot;/meta&quot;</span>)
471
- <span class="ruby-identifier">headers</span> = {<span class="ruby-value str">&quot;Accept&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">format</span>}
472
- <span class="ruby-identifier">headers</span> = <span class="ruby-identifier">configure_headers_for_conditional_get</span>(<span class="ruby-node">&quot;#{u}?about=#{uri}&quot;</span>, <span class="ruby-identifier">headers</span>, <span class="ruby-identifier">etags</span>, <span class="ruby-identifier">if_match</span>)
473
- <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">u</span>, {<span class="ruby-value str">&quot;about&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">uri</span>}, <span class="ruby-identifier">headers</span> )
474
- <span class="ruby-identifier">record_etags</span>(<span class="ruby-node">&quot;#{u}?about=#{uri}&quot;</span>, <span class="ruby-identifier">etags</span>, <span class="ruby-identifier">response</span>)
475
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">response</span>
476
- <span class="ruby-keyword kw">end</span>
477
- </pre>
478
- </div>
479
- </div>
480
- </div>
481
-
482
- <div id="method-M000170" class="method-detail">
483
- <a name="M000170"></a>
484
-
485
- <div class="method-heading">
486
- <a href="#M000170" class="method-signature">
487
- <span class="method-name">facet</span><span class="method-args">(query, facets, params=nil)</span>
488
- </a>
489
- </div>
490
-
491
- <div class="method-description">
492
- <p>
493
- Perform a facetted <a href="Store.html#M000169">search</a> against the
494
- Metabox indexes.
495
- </p>
496
- <table>
497
- <tr><td valign="top">query:</td><td>the query to perform. See XXXX for query syntax
498
-
499
- </td></tr>
500
- <tr><td valign="top">facets:</td><td>an ordered list of facets to be used
501
-
502
- </td></tr>
503
- <tr><td valign="top">params:</td><td>additional query parameters (see below)
504
-
505
- </td></tr>
506
- </table>
507
- <p>
508
- The <em>params</em> hash can contain the following values:
509
- </p>
510
- <ul>
511
- <li><b>top</b>: the maximum number of results to return for each <a
512
- href="Store.html#M000170">facet</a>
513
-
514
- </li>
515
- <li><b>output</b>: the preferred response format, can be html or xml (the
516
- default)
517
-
518
- </li>
519
- </ul>
520
- <p><a class="source-toggle" href="#"
521
- onclick="toggleCode('M000170-source');return false;">[Source]</a></p>
522
- <div class="method-source-code" id="M000170-source">
523
- <pre>
524
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 273</span>
525
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">facet</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">facets</span>, <span class="ruby-identifier">params</span>=<span class="ruby-keyword kw">nil</span>)
526
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">facets</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">facets</span>.<span class="ruby-identifier">empty?</span>
527
- <span class="ruby-comment cmt">#todo</span>
528
- <span class="ruby-identifier">throw</span>
529
- <span class="ruby-keyword kw">end</span>
530
- <span class="ruby-identifier">u</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">build_uri</span>(<span class="ruby-value str">&quot;/services/facet&quot;</span>)
531
- <span class="ruby-identifier">search_params</span> = <span class="ruby-identifier">get_search_params</span>(<span class="ruby-identifier">u</span>, <span class="ruby-identifier">query</span>, <span class="ruby-identifier">params</span>)
532
- <span class="ruby-identifier">search_params</span>[<span class="ruby-value str">&quot;fields&quot;</span>] = <span class="ruby-identifier">facets</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;,&quot;</span>)
533
- <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">u</span>, <span class="ruby-identifier">search_params</span>)
534
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">response</span>
535
- <span class="ruby-keyword kw">end</span>
536
- </pre>
537
- </div>
538
- </div>
539
- </div>
540
-
541
- <div id="method-M000185" class="method-detail">
542
- <a name="M000185"></a>
543
-
544
- <div class="method-heading">
545
- <a href="#M000185" class="method-signature">
546
- <span class="method-name">get_field_predicate_map</span><span class="method-args">(output=ACCEPT_JSON)</span>
547
- </a>
548
- </div>
549
-
550
- <div class="method-description">
551
- <p>
552
- Read the field predicate map configuration for this store. The config can
553
- be requested in any format supported by the platform, but the default will
554
- return JSON. See <a
555
- href="FieldPredicateMap.html#M000094">FieldPredicateMap.read_from_store</a>
556
- for a convenient way to quickly create a <a
557
- href="FieldPredicateMap.html">FieldPredicateMap</a> object based on a
558
- specific stores&#8216;s configuration.
559
- </p>
560
- <table>
561
- <tr><td valign="top">output:</td><td>mimetype to use in request
562
-
563
- </td></tr>
564
- </table>
565
- <p><a class="source-toggle" href="#"
566
- onclick="toggleCode('M000185-source');return false;">[Source]</a></p>
567
- <div class="method-source-code" id="M000185-source">
568
- <pre>
569
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 471</span>
570
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_field_predicate_map</span>(<span class="ruby-identifier">output</span>=<span class="ruby-constant">ACCEPT_JSON</span>)
571
- <span class="ruby-identifier">u</span> = <span class="ruby-identifier">build_uri</span>(<span class="ruby-value str">&quot;/config/fpmaps/1&quot;</span>)
572
- <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">u</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">output</span>)
573
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">response</span>
574
- <span class="ruby-keyword kw">end</span>
575
- </pre>
576
- </div>
577
- </div>
578
- </div>
579
-
580
- <div id="method-M000178" class="method-detail">
581
- <a name="M000178"></a>
582
-
583
- <div class="method-heading">
584
- <a href="#M000178" class="method-signature">
585
- <span class="method-name">get_item</span><span class="method-args">(uri, etags=nil, if_match=false)</span>
586
- </a>
587
- </div>
588
-
589
- <div class="method-description">
590
- <p>
591
- Get an item from the Contebtbox.
592
- </p>
593
- <table>
594
- <tr><td valign="top">uri:</td><td>the URL of the item, can be relative.
595
-
596
- </td></tr>
597
- </table>
598
- <p>
599
- If the provided URL of the item is not in the Contentbox, then the response
600
- will be a redirect to the <a href="RDF.html">RDF</a> description of this
601
- item, as available from the Metabox.
602
- </p>
603
- <p>
604
- TODO: document etags, redirects
605
- </p>
606
- <p><a class="source-toggle" href="#"
607
- onclick="toggleCode('M000178-source');return false;">[Source]</a></p>
608
- <div class="method-source-code" id="M000178-source">
609
- <pre>
610
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 383</span>
611
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_item</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">etags</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">if_match</span>=<span class="ruby-keyword kw">false</span>)
612
- <span class="ruby-identifier">u</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">build_uri</span>(<span class="ruby-identifier">uri</span>)
613
- <span class="ruby-identifier">headers</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
614
- <span class="ruby-identifier">headers</span> = <span class="ruby-identifier">configure_headers_for_conditional_get</span>(<span class="ruby-node">&quot;#{u}&quot;</span>, <span class="ruby-identifier">headers</span>, <span class="ruby-identifier">etags</span>, <span class="ruby-identifier">if_match</span>)
615
- <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">u</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">headers</span>)
616
- <span class="ruby-identifier">record_etags</span>(<span class="ruby-node">&quot;#{u}&quot;</span>, <span class="ruby-identifier">etags</span>, <span class="ruby-identifier">response</span>)
617
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">response</span>
618
- <span class="ruby-keyword kw">end</span>
619
- </pre>
620
- </div>
621
- </div>
622
- </div>
623
-
624
- <div id="method-M000179" class="method-detail">
625
- <a name="M000179"></a>
626
-
627
- <div class="method-heading">
628
- <a href="#M000179" class="method-signature">
629
- <span class="method-name">get_job</span><span class="method-args">(uri)</span>
630
- </a>
631
- </div>
632
-
633
- <div class="method-description">
634
- <p>
635
- Retrieve metadata about a single job. Use <a
636
- href="Job.html#M000195">Job.read_from_store</a> as a convenience function
637
- which will return a fully-populated <a href="Job.html">Job</a> object
638
- </p>
639
- <table>
640
- <tr><td valign="top">uri:</td><td>the uri of the job to retrieve
641
-
642
- </td></tr>
643
- </table>
644
- <p><a class="source-toggle" href="#"
645
- onclick="toggleCode('M000179-source');return false;">[Source]</a></p>
646
- <div class="method-source-code" id="M000179-source">
647
- <pre>
648
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 400</span>
649
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_job</span>(<span class="ruby-identifier">uri</span>)
650
- <span class="ruby-identifier">u</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">build_uri</span>(<span class="ruby-identifier">uri</span>)
651
- <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">u</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-constant">ACCEPT_RDF</span>)
652
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">response</span>
653
- <span class="ruby-keyword kw">end</span>
654
- </pre>
655
- </div>
656
- </div>
657
- </div>
658
-
659
- <div id="method-M000180" class="method-detail">
660
- <a name="M000180"></a>
661
-
662
- <div class="method-heading">
663
- <a href="#M000180" class="method-signature">
664
- <span class="method-name">get_jobs</span><span class="method-args">()</span>
665
- </a>
666
- </div>
667
-
668
- <div class="method-description">
669
- <p>
670
- Retrieve metadata about the Scheduled <a href="Jobs.html">Jobs</a>
671
- Collection from the store
672
- </p>
673
- <p><a class="source-toggle" href="#"
674
- onclick="toggleCode('M000180-source');return false;">[Source]</a></p>
675
- <div class="method-source-code" id="M000180-source">
676
- <pre>
677
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 407</span>
678
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_jobs</span>()
679
- <span class="ruby-identifier">u</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">build_uri</span>(<span class="ruby-value str">&quot;/jobs&quot;</span>)
680
- <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">u</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-constant">ACCEPT_RDF</span>)
681
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">response</span>
682
- <span class="ruby-keyword kw">end</span>
683
- </pre>
684
- </div>
685
- </div>
686
- </div>
687
-
688
- <div id="method-M000187" class="method-detail">
689
- <a name="M000187"></a>
690
-
691
- <div class="method-heading">
692
- <a href="#M000187" class="method-signature">
693
- <span class="method-name">get_query_profile</span><span class="method-args">(output=ACCEPT_JSON)</span>
694
- </a>
695
- </div>
696
-
697
- <div class="method-description">
698
- <p>
699
- Read the query profile configuration for this store. The config can be
700
- requested in any format supported by the platform, but the default will
701
- return JSON. See <a
702
- href="QueryProfile.html#M000131">QueryProfile.read_from_store</a> for a
703
- convenient way to quickly create a <a
704
- href="QueryProfile.html">QueryProfile</a> object based on a specific
705
- stores&#8216;s configuration.
706
- </p>
707
- <table>
708
- <tr><td valign="top">output:</td><td>mimetype to use in request
709
-
710
- </td></tr>
711
- </table>
712
- <p><a class="source-toggle" href="#"
713
- onclick="toggleCode('M000187-source');return false;">[Source]</a></p>
714
- <div class="method-source-code" id="M000187-source">
715
- <pre>
716
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 492</span>
717
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_query_profile</span>(<span class="ruby-identifier">output</span>=<span class="ruby-constant">ACCEPT_JSON</span>)
718
- <span class="ruby-identifier">u</span> = <span class="ruby-identifier">build_uri</span>(<span class="ruby-value str">&quot;/config/queryprofiles/1&quot;</span>)
719
- <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">u</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">output</span>)
720
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">response</span>
721
- <span class="ruby-keyword kw">end</span>
722
- </pre>
723
- </div>
724
- </div>
725
- </div>
726
-
727
- <div id="method-M000171" class="method-detail">
728
- <a name="M000171"></a>
729
-
730
- <div class="method-heading">
731
- <a href="#M000171" class="method-signature">
732
- <span class="method-name">get_search_params</span><span class="method-args">(u, query, params)</span>
733
- </a>
734
- </div>
735
-
736
- <div class="method-description">
737
- <p><a class="source-toggle" href="#"
738
- onclick="toggleCode('M000171-source');return false;">[Source]</a></p>
739
- <div class="method-source-code" id="M000171-source">
740
- <pre>
741
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 285</span>
742
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_search_params</span>(<span class="ruby-identifier">u</span>, <span class="ruby-identifier">query</span>, <span class="ruby-identifier">params</span>)
743
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">params</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
744
- <span class="ruby-identifier">search_params</span> = <span class="ruby-identifier">params</span>.<span class="ruby-identifier">clone</span>()
745
- <span class="ruby-keyword kw">else</span>
746
- <span class="ruby-identifier">search_params</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
747
- <span class="ruby-keyword kw">end</span>
748
- <span class="ruby-identifier">search_params</span>[<span class="ruby-value str">&quot;query&quot;</span>] = <span class="ruby-identifier">query</span>
749
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">search_params</span>
750
- <span class="ruby-keyword kw">end</span>
751
- </pre>
752
- </div>
753
- </div>
754
- </div>
755
-
756
- <div id="method-M000183" class="method-detail">
757
- <a name="M000183"></a>
758
-
759
- <div class="method-heading">
760
- <a href="#M000183" class="method-signature">
761
- <span class="method-name">get_snapshots</span><span class="method-args">()</span>
762
- </a>
763
- </div>
764
-
765
- <div class="method-description">
766
- <p>
767
- Retrieve the list of snapshots for this store
768
- </p>
769
- <p>
770
- Currently the response will contain an HTML document. Use <a
771
- href="Snapshot.html#M000190">Snapshot.parse</a> to turn this into a <a
772
- href="Snapshot.html">Snapshot</a> object
773
- </p>
774
- <p><a class="source-toggle" href="#"
775
- onclick="toggleCode('M000183-source');return false;">[Source]</a></p>
776
- <div class="method-source-code" id="M000183-source">
777
- <pre>
778
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 436</span>
779
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_snapshots</span>()
780
- <span class="ruby-identifier">u</span> = <span class="ruby-identifier">build_uri</span>(<span class="ruby-value str">&quot;/snapshots&quot;</span>)
781
- <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">u</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-constant">ACCEPT_RDF</span>)
782
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">response</span>
783
- <span class="ruby-keyword kw">end</span>
784
- </pre>
785
- </div>
786
- </div>
787
- </div>
788
-
789
- <div id="method-M000182" class="method-detail">
790
- <a name="M000182"></a>
791
-
792
- <div class="method-heading">
793
- <a href="#M000182" class="method-signature">
794
- <span class="method-name">get_status</span><span class="method-args">()</span>
795
- </a>
796
- </div>
797
-
798
- <div class="method-description">
799
- <p>
800
- ADMIN
801
- </p>
802
- <p><a class="source-toggle" href="#"
803
- onclick="toggleCode('M000182-source');return false;">[Source]</a></p>
804
- <div class="method-source-code" id="M000182-source">
805
- <pre>
806
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 426</span>
807
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_status</span>()
808
- <span class="ruby-identifier">u</span> = <span class="ruby-identifier">build_uri</span>(<span class="ruby-value str">&quot;/config/access-status&quot;</span>)
809
- <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">u</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-constant">ACCEPT_JSON</span> )
810
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">response</span>
811
- <span class="ruby-keyword kw">end</span>
812
- </pre>
813
- </div>
814
- </div>
815
- </div>
816
-
817
- <div id="method-M000184" class="method-detail">
818
- <a name="M000184"></a>
819
-
820
- <div class="method-heading">
821
- <a href="#M000184" class="method-signature">
822
- <span class="method-name">list_records</span><span class="method-args">(from=nil, to=nil, resumption_token=nil)</span>
823
- </a>
824
- </div>
825
-
826
- <div class="method-description">
827
- <p>
828
- <a href="OAI.html">OAI</a>
829
- </p>
830
- <p><a class="source-toggle" href="#"
831
- onclick="toggleCode('M000184-source');return false;">[Source]</a></p>
832
- <div class="method-source-code" id="M000184-source">
833
- <pre>
834
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 446</span>
835
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">list_records</span>(<span class="ruby-identifier">from</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">to</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">resumption_token</span>=<span class="ruby-keyword kw">nil</span>)
836
- <span class="ruby-identifier">u</span> = <span class="ruby-identifier">build_uri</span>(<span class="ruby-value str">&quot;/services/oai-pmh&quot;</span>)
837
- <span class="ruby-identifier">params</span> = {<span class="ruby-value str">&quot;verb&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;ListRecords&quot;</span>, <span class="ruby-value str">&quot;metadataPrefix&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;oai_dc&quot;</span>}
838
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">from</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
839
- <span class="ruby-identifier">params</span>[<span class="ruby-value str">&quot;from&quot;</span>] = <span class="ruby-identifier">from</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-value str">&quot;%Y-%m-%dT%H:%M:%SZ&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">from</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:strftime</span>
840
- <span class="ruby-identifier">params</span>[<span class="ruby-value str">&quot;from&quot;</span>] = <span class="ruby-identifier">from</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">from</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:strftime</span>
841
- <span class="ruby-keyword kw">end</span>
842
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">to</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
843
- <span class="ruby-identifier">params</span>[<span class="ruby-value str">&quot;until&quot;</span>] = <span class="ruby-identifier">to</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-value str">&quot;%Y-%m-%dT%H:%M:%SZ&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">to</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:strftime</span>
844
- <span class="ruby-identifier">params</span>[<span class="ruby-value str">&quot;until&quot;</span>] = <span class="ruby-identifier">to</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">to</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:strftime</span>
845
- <span class="ruby-keyword kw">end</span>
846
- <span class="ruby-identifier">params</span>[<span class="ruby-value str">&quot;resumptionToken&quot;</span>] = <span class="ruby-identifier">resumption_token</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">resumption_token</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
847
- <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">u</span>, <span class="ruby-identifier">params</span>)
848
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">response</span>
849
- <span class="ruby-keyword kw">end</span>
850
- </pre>
851
- </div>
852
- </div>
853
- </div>
854
-
855
- <div id="method-M000186" class="method-detail">
856
- <a name="M000186"></a>
857
-
858
- <div class="method-heading">
859
- <a href="#M000186" class="method-signature">
860
- <span class="method-name">put_field_predicate_map</span><span class="method-args">(data)</span>
861
- </a>
862
- </div>
863
-
864
- <div class="method-description">
865
- <p>
866
- <a href="Update.html">Update</a>/replace the current Field Predicate map
867
- configuration in the store. Assumes that the provided data is valid <a
868
- href="RDF.html">RDF</a>/XML. Use <a
869
- href="FieldPredicateMap.html#M000108">FieldPredicateMap.upload</a> as a
870
- convenience function
871
- </p>
872
- <table>
873
- <tr><td valign="top">data:</td><td>a string containing an <a href="RDF.html">RDF</a>/XML document
874
-
875
- </td></tr>
876
- </table>
877
- <p><a class="source-toggle" href="#"
878
- onclick="toggleCode('M000186-source');return false;">[Source]</a></p>
879
- <div class="method-source-code" id="M000186-source">
880
- <pre>
881
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 481</span>
882
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">put_field_predicate_map</span>(<span class="ruby-identifier">data</span>)
883
- <span class="ruby-identifier">u</span> = <span class="ruby-identifier">build_uri</span>(<span class="ruby-value str">&quot;/config/fpmaps/1&quot;</span>)
884
- <span class="ruby-identifier">headers</span> = {<span class="ruby-value str">&quot;Content-Type&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;application/rdf+xml&quot;</span>}
885
- <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">put</span>(<span class="ruby-identifier">u</span>, <span class="ruby-identifier">data</span>, <span class="ruby-identifier">headers</span>)
886
- <span class="ruby-keyword kw">end</span>
887
- </pre>
888
- </div>
889
- </div>
890
- </div>
891
-
892
- <div id="method-M000188" class="method-detail">
893
- <a name="M000188"></a>
894
-
895
- <div class="method-heading">
896
- <a href="#M000188" class="method-signature">
897
- <span class="method-name">put_query_profile</span><span class="method-args">(data)</span>
898
- </a>
899
- </div>
900
-
901
- <div class="method-description">
902
- <p>
903
- <a href="Update.html">Update</a>/replace the current Query Profile
904
- configuration in the store. Assumes that the provided data is valid <a
905
- href="RDF.html">RDF</a>/XML. Use <a
906
- href="QueryProfile.html#M000140">QueryProfile.upload</a> as a convenience
907
- function
908
- </p>
909
- <table>
910
- <tr><td valign="top">data:</td><td>a string containing an <a href="RDF.html">RDF</a>/XML document
911
-
912
- </td></tr>
913
- </table>
914
- <p><a class="source-toggle" href="#"
915
- onclick="toggleCode('M000188-source');return false;">[Source]</a></p>
916
- <div class="method-source-code" id="M000188-source">
917
- <pre>
918
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 502</span>
919
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">put_query_profile</span>(<span class="ruby-identifier">data</span>)
920
- <span class="ruby-identifier">u</span> = <span class="ruby-identifier">build_uri</span>(<span class="ruby-value str">&quot;/config/queryprofiles/1&quot;</span>)
921
- <span class="ruby-identifier">headers</span> = {<span class="ruby-value str">&quot;Content-Type&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;application/rdf+xml&quot;</span>}
922
- <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">put</span>(<span class="ruby-identifier">u</span>, <span class="ruby-identifier">data</span>, <span class="ruby-identifier">headers</span>)
923
- <span class="ruby-keyword kw">end</span>
924
- </pre>
925
- </div>
926
- </div>
927
- </div>
928
-
929
- <div id="method-M000175" class="method-detail">
930
- <a name="M000175"></a>
931
-
932
- <div class="method-heading">
933
- <a href="#M000175" class="method-signature">
934
- <span class="method-name">record_etags</span><span class="method-args">(u, etags, response)</span>
935
- </a>
936
- </div>
937
-
938
- <div class="method-description">
939
- <p><a class="source-toggle" href="#"
940
- onclick="toggleCode('M000175-source');return false;">[Source]</a></p>
941
- <div class="method-source-code" id="M000175-source">
942
- <pre>
943
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 325</span>
944
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">record_etags</span>(<span class="ruby-identifier">u</span>, <span class="ruby-identifier">etags</span>, <span class="ruby-identifier">response</span>)
945
- <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">etags</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">status</span> = <span class="ruby-value">200</span>)
946
- <span class="ruby-identifier">etags</span>.<span class="ruby-identifier">add_from_response</span>(<span class="ruby-identifier">u</span>, <span class="ruby-identifier">response</span>)
947
- <span class="ruby-keyword kw">end</span>
948
- <span class="ruby-keyword kw">end</span>
949
- </pre>
950
- </div>
951
- </div>
952
- </div>
953
-
954
- <div id="method-M000169" class="method-detail">
955
- <a name="M000169"></a>
956
-
957
- <div class="method-heading">
958
- <a href="#M000169" class="method-signature">
959
- <span class="method-name">search</span><span class="method-args">(query, params=nil)</span>
960
- </a>
961
- </div>
962
-
963
- <div class="method-description">
964
- <p>
965
- Search the Metabox indexes.
966
- </p>
967
- <table>
968
- <tr><td valign="top">query:</td><td>the query to perform. See XXXX for query syntax
969
-
970
- </td></tr>
971
- <tr><td valign="top">params:</td><td>additional query parameters (see below)
972
-
973
- </td></tr>
974
- </table>
975
- <p>
976
- The <em>params</em> hash can contain the following values:
977
- </p>
978
- <ul>
979
- <li><b>max</b>: The maximum number of results to return (default is 10)
980
-
981
- </li>
982
- <li><b>offset</b>: Offset into the query results (for paging; default is 0)
983
-
984
- </li>
985
- <li><b>sort</b>: ordered list of fields to be used when applying sorting
986
-
987
- </li>
988
- <li>*xsl-uri*: URL of an XSLT transform to be applied to the results,
989
- transforming the default RSS 1.0 results format into an alternative
990
- representation
991
-
992
- </li>
993
- <li>*content-type*: when applying an XSLT transform, the content type to use
994
- when returning the results
995
-
996
- </li>
997
- </ul>
998
- <p>
999
- Any additional entries in the <em>params</em> hash will be passed through
1000
- to the Platform. These parameters will only be used when an XSLT
1001
- transformation is being applied, in which case they will be provided as
1002
- parameters to the stylesheet.
1003
- </p>
1004
- <p><a class="source-toggle" href="#"
1005
- onclick="toggleCode('M000169-source');return false;">[Source]</a></p>
1006
- <div class="method-source-code" id="M000169-source">
1007
- <pre>
1008
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 256</span>
1009
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">search</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">params</span>=<span class="ruby-keyword kw">nil</span>)
1010
- <span class="ruby-identifier">u</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">build_uri</span>(<span class="ruby-value str">&quot;/items&quot;</span>)
1011
- <span class="ruby-identifier">search_params</span> = <span class="ruby-identifier">get_search_params</span>(<span class="ruby-identifier">u</span>, <span class="ruby-identifier">query</span>, <span class="ruby-identifier">params</span>)
1012
- <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">u</span>, <span class="ruby-identifier">search_params</span>)
1013
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">response</span>
1014
-
1015
- <span class="ruby-keyword kw">end</span>
1016
- </pre>
1017
- </div>
1018
- </div>
1019
- </div>
1020
-
1021
- <div id="method-M000156" class="method-detail">
1022
- <a name="M000156"></a>
1023
-
1024
- <div class="method-heading">
1025
- <a href="#M000156" class="method-signature">
1026
- <span class="method-name">set_credentials</span><span class="method-args">(username, password)</span>
1027
- </a>
1028
- </div>
1029
-
1030
- <div class="method-description">
1031
- <p>
1032
- Set credentials that this store will use when carrying out authorization
1033
- </p>
1034
- <table>
1035
- <tr><td valign="top">username:</td><td>admin username
1036
-
1037
- </td></tr>
1038
- <tr><td valign="top">password:</td><td>admin password
1039
-
1040
- </td></tr>
1041
- </table>
1042
- <p><a class="source-toggle" href="#"
1043
- onclick="toggleCode('M000156-source');return false;">[Source]</a></p>
1044
- <div class="method-source-code" id="M000156-source">
1045
- <pre>
1046
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 55</span>
1047
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_credentials</span>(<span class="ruby-identifier">username</span>, <span class="ruby-identifier">password</span>)
1048
- <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">set_auth</span>(<span class="ruby-ivar">@storeuri</span>, <span class="ruby-identifier">username</span>, <span class="ruby-identifier">password</span>)
1049
- <span class="ruby-keyword kw">end</span>
1050
- </pre>
1051
- </div>
1052
- </div>
1053
- </div>
1054
-
1055
- <div id="method-M000168" class="method-detail">
1056
- <a name="M000168"></a>
1057
-
1058
- <div class="method-heading">
1059
- <a href="#M000168" class="method-signature">
1060
- <span class="method-name">sparql</span><span class="method-args">(query, format=nil, multisparql=false)</span>
1061
- </a>
1062
- </div>
1063
-
1064
- <div class="method-description">
1065
- <p>
1066
- Perform a SPARQL query
1067
- </p>
1068
- <pre>
1069
- query:: the SPARQL query
1070
- format:: the preferred response format
1071
- multisparql:: use default sparql service or multisparql service
1072
- </pre>
1073
- <p><a class="source-toggle" href="#"
1074
- onclick="toggleCode('M000168-source');return false;">[Source]</a></p>
1075
- <div class="method-source-code" id="M000168-source">
1076
- <pre>
1077
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 237</span>
1078
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sparql</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">format</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">multisparql</span>=<span class="ruby-keyword kw">false</span>)
1079
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">sparql_client</span>(<span class="ruby-identifier">multisparql</span>).<span class="ruby-identifier">query</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">format</span>)
1080
- <span class="ruby-keyword kw">end</span>
1081
- </pre>
1082
- </div>
1083
- </div>
1084
- </div>
1085
-
1086
- <div id="method-M000166" class="method-detail">
1087
- <a name="M000166"></a>
1088
-
1089
- <div class="method-heading">
1090
- <a href="#M000166" class="method-signature">
1091
- <span class="method-name">sparql_ask</span><span class="method-args">(query, format=&quot;application/sparql-results+xml&quot;, multisparql=false)</span>
1092
- </a>
1093
- </div>
1094
-
1095
- <div class="method-description">
1096
- <p>
1097
- Perform a SPARQL ASK query.
1098
- </p>
1099
- <pre>
1100
- query:: the SPARQL query
1101
- format:: the preferred response format
1102
- </pre>
1103
- <p><a class="source-toggle" href="#"
1104
- onclick="toggleCode('M000166-source');return false;">[Source]</a></p>
1105
- <div class="method-source-code" id="M000166-source">
1106
- <pre>
1107
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 220</span>
1108
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sparql_ask</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">format</span>=<span class="ruby-value str">&quot;application/sparql-results+xml&quot;</span>, <span class="ruby-identifier">multisparql</span>=<span class="ruby-keyword kw">false</span>)
1109
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">sparql</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">format</span>, <span class="ruby-identifier">multisparql</span>)
1110
- <span class="ruby-keyword kw">end</span>
1111
- </pre>
1112
- </div>
1113
- </div>
1114
- </div>
1115
-
1116
- <div id="method-M000163" class="method-detail">
1117
- <a name="M000163"></a>
1118
-
1119
- <div class="method-heading">
1120
- <a href="#M000163" class="method-signature">
1121
- <span class="method-name">sparql_client</span><span class="method-args">(multisparql=false)</span>
1122
- </a>
1123
- </div>
1124
-
1125
- <div class="method-description">
1126
- <p>
1127
- Retrieve a SparqlClient object for interacting with the endpoint for this
1128
- store
1129
- </p>
1130
- <pre>
1131
- multisparql:: optional, set to true to retrieve client for multisparql endpoint
1132
- </pre>
1133
- <p><a class="source-toggle" href="#"
1134
- onclick="toggleCode('M000163-source');return false;">[Source]</a></p>
1135
- <div class="method-source-code" id="M000163-source">
1136
- <pre>
1137
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 186</span>
1138
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sparql_client</span>(<span class="ruby-identifier">multisparql</span>=<span class="ruby-keyword kw">false</span>)
1139
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">multisparql</span>
1140
- <span class="ruby-identifier">u</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">build_uri</span>(<span class="ruby-value str">&quot;/services/multisparql&quot;</span>)
1141
- <span class="ruby-keyword kw">else</span>
1142
- <span class="ruby-identifier">u</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">build_uri</span>(<span class="ruby-value str">&quot;/services/sparql&quot;</span>)
1143
- <span class="ruby-keyword kw">end</span>
1144
-
1145
- <span class="ruby-identifier">sparql_client</span> = <span class="ruby-constant">StoreSparqlClient</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@self</span>, <span class="ruby-identifier">u</span>, <span class="ruby-ivar">@client</span>)
1146
- <span class="ruby-identifier">sparql_client</span>.<span class="ruby-identifier">supports_rdf_json</span> = <span class="ruby-keyword kw">true</span>
1147
- <span class="ruby-identifier">sparql_client</span>.<span class="ruby-identifier">supports_sparql_json</span> = <span class="ruby-keyword kw">true</span>
1148
-
1149
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">sparql_client</span>
1150
- <span class="ruby-keyword kw">end</span>
1151
- </pre>
1152
- </div>
1153
- </div>
1154
- </div>
1155
-
1156
- <div id="method-M000165" class="method-detail">
1157
- <a name="M000165"></a>
1158
-
1159
- <div class="method-heading">
1160
- <a href="#M000165" class="method-signature">
1161
- <span class="method-name">sparql_construct</span><span class="method-args">(query, format=&quot;application/rdf+xml&quot;, multisparql=false)</span>
1162
- </a>
1163
- </div>
1164
-
1165
- <div class="method-description">
1166
- <p>
1167
- Perform a SPARQL CONSTRUCT query.
1168
- </p>
1169
- <pre>
1170
- query:: the SPARQL query
1171
- format:: the preferred response format
1172
- </pre>
1173
- <p><a class="source-toggle" href="#"
1174
- onclick="toggleCode('M000165-source');return false;">[Source]</a></p>
1175
- <div class="method-source-code" id="M000165-source">
1176
- <pre>
1177
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 212</span>
1178
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sparql_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>, <span class="ruby-identifier">multisparql</span>=<span class="ruby-keyword kw">false</span>)
1179
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">sparql</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">format</span>, <span class="ruby-identifier">multisparql</span>)
1180
- <span class="ruby-keyword kw">end</span>
1181
- </pre>
1182
- </div>
1183
- </div>
1184
- </div>
1185
-
1186
- <div id="method-M000164" class="method-detail">
1187
- <a name="M000164"></a>
1188
-
1189
- <div class="method-heading">
1190
- <a href="#M000164" class="method-signature">
1191
- <span class="method-name">sparql_describe</span><span class="method-args">(query, format=&quot;application/rdf+xml&quot;, multisparql=false)</span>
1192
- </a>
1193
- </div>
1194
-
1195
- <div class="method-description">
1196
- <p>
1197
- Perform a SPARQL DESCRIBE query.
1198
- </p>
1199
- <pre>
1200
- query:: the SPARQL query
1201
- format:: the preferred response format
1202
- </pre>
1203
- <p><a class="source-toggle" href="#"
1204
- onclick="toggleCode('M000164-source');return false;">[Source]</a></p>
1205
- <div class="method-source-code" id="M000164-source">
1206
- <pre>
1207
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 204</span>
1208
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sparql_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>, <span class="ruby-identifier">multisparql</span>=<span class="ruby-keyword kw">false</span>)
1209
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">sparql</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">format</span>, <span class="ruby-identifier">multisparql</span>)
1210
- <span class="ruby-keyword kw">end</span>
1211
- </pre>
1212
- </div>
1213
- </div>
1214
- </div>
1215
-
1216
- <div id="method-M000167" class="method-detail">
1217
- <a name="M000167"></a>
1218
-
1219
- <div class="method-heading">
1220
- <a href="#M000167" class="method-signature">
1221
- <span class="method-name">sparql_select</span><span class="method-args">(query, format=&quot;application/sparql-results+xml&quot;, multisparql=false)</span>
1222
- </a>
1223
- </div>
1224
-
1225
- <div class="method-description">
1226
- <p>
1227
- Perform a SPARQL SELECT query.
1228
- </p>
1229
- <pre>
1230
- query:: the SPARQL query
1231
- format:: the preferred response format
1232
- </pre>
1233
- <p><a class="source-toggle" href="#"
1234
- onclick="toggleCode('M000167-source');return false;">[Source]</a></p>
1235
- <div class="method-source-code" id="M000167-source">
1236
- <pre>
1237
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 228</span>
1238
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sparql_select</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">format</span>=<span class="ruby-value str">&quot;application/sparql-results+xml&quot;</span>, <span class="ruby-identifier">multisparql</span>=<span class="ruby-keyword kw">false</span>)
1239
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">sparql</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">format</span>, <span class="ruby-identifier">multisparql</span>)
1240
- <span class="ruby-keyword kw">end</span>
1241
- </pre>
1242
- </div>
1243
- </div>
1244
- </div>
1245
-
1246
- <div id="method-M000158" class="method-detail">
1247
- <a name="M000158"></a>
1248
-
1249
- <div class="method-heading">
1250
- <a href="#M000158" class="method-signature">
1251
- <span class="method-name">store_data</span><span class="method-args">(data, graph_name=nil, format=&quot;application/rdf+xml&quot;)</span>
1252
- </a>
1253
- </div>
1254
-
1255
- <div class="method-description">
1256
- <table>
1257
- <tr><td valign="top">data:</td><td>a <a href="../String.html">String</a> containing the data to store
1258
-
1259
- </td></tr>
1260
- <tr><td valign="top">graph_name:</td><td>name of a private graph in which to store the data. E.g. &quot;1&quot; or
1261
- &quot;private&quot;. Resolves to /meta/graphs/graph_name
1262
-
1263
- </td></tr>
1264
- <tr><td valign="top">format:</td><td>mimetype of <a href="RDF.html">RDF</a> serialization
1265
-
1266
- </td></tr>
1267
- </table>
1268
- <p><a class="source-toggle" href="#"
1269
- onclick="toggleCode('M000158-source');return false;">[Source]</a></p>
1270
- <div class="method-source-code" id="M000158-source">
1271
- <pre>
1272
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 82</span>
1273
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">store_data</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">graph_name</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">format</span>=<span class="ruby-value str">&quot;application/rdf+xml&quot;</span>)
1274
- <span class="ruby-identifier">u</span> = <span class="ruby-keyword kw">nil</span>
1275
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">graph_name</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>
1276
- <span class="ruby-identifier">u</span> = <span class="ruby-identifier">build_uri</span>(<span class="ruby-value str">&quot;/meta&quot;</span>)
1277
- <span class="ruby-keyword kw">else</span>
1278
- <span class="ruby-identifier">u</span> = <span class="ruby-identifier">build_uri</span>(<span class="ruby-node">&quot;/meta/graphs/#{graph_name}&quot;</span>)
1279
- <span class="ruby-keyword kw">end</span>
1280
-
1281
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">format</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;text/plain&quot;</span>
1282
- <span class="ruby-identifier">format</span> = <span class="ruby-value str">&quot;text/turtle&quot;</span>
1283
- <span class="ruby-keyword kw">end</span>
1284
-
1285
- <span class="ruby-identifier">content_type</span> = {<span class="ruby-value str">&quot;Content-Type&quot;</span>=<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">format</span> }
1286
- <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">post</span>(<span class="ruby-identifier">u</span>, <span class="ruby-identifier">data</span>, <span class="ruby-identifier">content_type</span> )
1287
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">response</span>
1288
- <span class="ruby-keyword kw">end</span>
1289
- </pre>
1290
- </div>
1291
- </div>
1292
- </div>
1293
-
1294
- <div id="method-M000159" class="method-detail">
1295
- <a name="M000159"></a>
1296
-
1297
- <div class="method-heading">
1298
- <a href="#M000159" class="method-signature">
1299
- <span class="method-name">store_file</span><span class="method-args">(file, graph_name=nil, format=&quot;application/rdf+xml&quot;)</span>
1300
- </a>
1301
- </div>
1302
-
1303
- <div class="method-description">
1304
- <p>
1305
- <a href="Store.html">Store</a> the contents of a File (or any IO stream) in
1306
- the Metabox associated with this store The client does not support
1307
- streaming submissions of data, so the stream will be fully read before data
1308
- is submitted to the platform
1309
- </p>
1310
- <table>
1311
- <tr><td valign="top">file:</td><td>an IO object
1312
-
1313
- </td></tr>
1314
- <tr><td valign="top">graph_name:</td><td>name of a private graph in which to store teh data. E.g. &quot;1&quot; or
1315
- &quot;private&quot;. Resolves to /meta/graphs/graph_name
1316
-
1317
- </td></tr>
1318
- <tr><td valign="top">format:</td><td>mimetype of <a href="RDF.html">RDF</a> serialization
1319
-
1320
- </td></tr>
1321
- </table>
1322
- <p><a class="source-toggle" href="#"
1323
- onclick="toggleCode('M000159-source');return false;">[Source]</a></p>
1324
- <div class="method-source-code" id="M000159-source">
1325
- <pre>
1326
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 104</span>
1327
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">store_file</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">graph_name</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">format</span>=<span class="ruby-value str">&quot;application/rdf+xml&quot;</span>)
1328
- <span class="ruby-identifier">data</span> = <span class="ruby-identifier">file</span>.<span class="ruby-identifier">read</span>()
1329
- <span class="ruby-identifier">file</span>.<span class="ruby-identifier">close</span>()
1330
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">store_data</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">graph_name</span>, <span class="ruby-identifier">format</span>)
1331
- <span class="ruby-keyword kw">end</span>
1332
- </pre>
1333
- </div>
1334
- </div>
1335
- </div>
1336
-
1337
- <div id="method-M000160" class="method-detail">
1338
- <a name="M000160"></a>
1339
-
1340
- <div class="method-heading">
1341
- <a href="#M000160" class="method-signature">
1342
- <span class="method-name">store_url</span><span class="method-args">(u, parameters=nil, graph_name=nil)</span>
1343
- </a>
1344
- </div>
1345
-
1346
- <div class="method-description">
1347
- <p>
1348
- Retrieve <a href="RDF.html">RDF</a> data from the specified URL and store
1349
- it in the <a href="Store.html">Store</a> Metabox
1350
- </p>
1351
- <p>
1352
- An Accept header of &quot;application/rdf+xml&quot; will be sent in the
1353
- request to support retrieval of <a href="RDF.html">RDF</a> from URLs that
1354
- support Content Negotiation.
1355
- </p>
1356
- <p>
1357
- NOTE: Currently this method doesn&#8216;t properly handle base uris of
1358
- retrieved data. i.e. the data isn&#8216;t parsed and there is no way to
1359
- pass a base uri to the Platform. Be warned!
1360
- </p>
1361
- <p>
1362
- The default is to store the data in the Metabox. But a private graph name
1363
- can also be specified
1364
- </p>
1365
- <table>
1366
- <tr><td valign="top">u:</td><td>the url of the data
1367
-
1368
- </td></tr>
1369
- <tr><td valign="top">parameters:</td><td>a Hash of url parameters to pass when requesting data from the specified
1370
- URL
1371
-
1372
- </td></tr>
1373
- <tr><td valign="top">graph_name:</td><td>name of a private graph in which to store the data. E.g. &quot;1&quot; or
1374
- &quot;private&quot;. Resolves to /meta/graphs/graph_name
1375
-
1376
- </td></tr>
1377
- </table>
1378
- <p><a class="source-toggle" href="#"
1379
- onclick="toggleCode('M000160-source');return false;">[Source]</a></p>
1380
- <div class="method-source-code" id="M000160-source">
1381
- <pre>
1382
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 122</span>
1383
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">store_url</span>(<span class="ruby-identifier">u</span>, <span class="ruby-identifier">parameters</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">graph_name</span>=<span class="ruby-keyword kw">nil</span>)
1384
-
1385
- <span class="ruby-identifier">headers</span> = <span class="ruby-constant">ACCEPT_RDF</span>.<span class="ruby-identifier">clone</span>()
1386
- <span class="ruby-identifier">dataresp</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">u</span>, <span class="ruby-identifier">parameters</span>, <span class="ruby-identifier">headers</span> )
1387
-
1388
- <span class="ruby-comment cmt">#TODO make this more robust</span>
1389
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dataresp</span>.<span class="ruby-identifier">status</span> <span class="ruby-operator">!=</span> <span class="ruby-value">200</span>
1390
- <span class="ruby-identifier">throw</span>
1391
- <span class="ruby-keyword kw">end</span>
1392
-
1393
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">store_data</span>(<span class="ruby-identifier">dataresp</span>.<span class="ruby-identifier">content</span>, <span class="ruby-identifier">graph_name</span>)
1394
-
1395
- <span class="ruby-keyword kw">end</span>
1396
- </pre>
1397
- </div>
1398
- </div>
1399
- </div>
1400
-
1401
- <div id="method-M000162" class="method-detail">
1402
- <a name="M000162"></a>
1403
-
1404
- <div class="method-heading">
1405
- <a href="#M000162" class="method-signature">
1406
- <span class="method-name">submit_changeset</span><span class="method-args">(rdf, versioned=false, graph_name=nil)</span>
1407
- </a>
1408
- </div>
1409
-
1410
- <div class="method-description">
1411
- <p>
1412
- Submit a Changeset to the Platform to update the metabox
1413
- </p>
1414
- <p>
1415
- Default behaviour is to update the metabox with an unversioned name However
1416
- using the optional parameters, changes can be made versioned, and can also
1417
- be submitted to private graphs.
1418
- </p>
1419
- <table>
1420
- <tr><td valign="top">rdf:</td><td>the <a href="RDF.html">RDF</a>/XML describing the changes
1421
-
1422
- </td></tr>
1423
- <tr><td valign="top">versioned:</td><td>true or false to indicate this is a versioned change
1424
-
1425
- </td></tr>
1426
- <tr><td valign="top">graph_name:</td><td>name of private graph to update instead of metabox
1427
-
1428
- </td></tr>
1429
- </table>
1430
- <p><a class="source-toggle" href="#"
1431
- onclick="toggleCode('M000162-source');return false;">[Source]</a></p>
1432
- <div class="method-source-code" id="M000162-source">
1433
- <pre>
1434
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 166</span>
1435
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">submit_changeset</span>(<span class="ruby-identifier">rdf</span>, <span class="ruby-identifier">versioned</span>=<span class="ruby-keyword kw">false</span>, <span class="ruby-identifier">graph_name</span>=<span class="ruby-keyword kw">nil</span>)
1436
- <span class="ruby-identifier">uri</span> = <span class="ruby-value str">&quot;/meta&quot;</span>
1437
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">graph_name</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
1438
- <span class="ruby-identifier">uri</span> = <span class="ruby-identifier">uri</span> <span class="ruby-operator">+</span> <span class="ruby-node">&quot;/graphs/#{graph_name}&quot;</span>
1439
- <span class="ruby-keyword kw">end</span>
1440
- <span class="ruby-identifier">uri</span> = <span class="ruby-identifier">uri</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;/changesets&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">versioned</span>
1441
-
1442
- <span class="ruby-identifier">u</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">build_uri</span>( <span class="ruby-identifier">uri</span> )
1443
- <span class="ruby-identifier">headers</span> = {<span class="ruby-value str">&quot;Content-Type&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;application/vnd.talis.changeset+xml&quot;</span>}
1444
- <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">post</span>(<span class="ruby-identifier">u</span>, <span class="ruby-identifier">rdf</span>, <span class="ruby-identifier">headers</span>)
1445
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">response</span>
1446
- <span class="ruby-keyword kw">end</span>
1447
- </pre>
1448
- </div>
1449
- </div>
1450
- </div>
1451
-
1452
- <div id="method-M000181" class="method-detail">
1453
- <a name="M000181"></a>
1454
-
1455
- <div class="method-heading">
1456
- <a href="#M000181" class="method-signature">
1457
- <span class="method-name">submit_job</span><span class="method-args">(data)</span>
1458
- </a>
1459
- </div>
1460
-
1461
- <div class="method-description">
1462
- <p>
1463
- Submit a job to the platform.
1464
- </p>
1465
- <table>
1466
- <tr><td valign="top">data:</td><td><a href="RDF.html">RDF</a>/XML representing the job request. See methods on
1467
- <a href="Jobs.html">Jobs</a> class
1468
-
1469
- </td></tr>
1470
- </table>
1471
- <p><a class="source-toggle" href="#"
1472
- onclick="toggleCode('M000181-source');return false;">[Source]</a></p>
1473
- <div class="method-source-code" id="M000181-source">
1474
- <pre>
1475
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 416</span>
1476
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">submit_job</span>(<span class="ruby-identifier">data</span>)
1477
- <span class="ruby-identifier">u</span> = <span class="ruby-identifier">build_uri</span>(<span class="ruby-value str">&quot;/jobs&quot;</span>)
1478
- <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">post</span>(<span class="ruby-identifier">u</span>, <span class="ruby-identifier">data</span>, <span class="ruby-constant">RDF_XML</span> )
1479
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">response</span>
1480
- <span class="ruby-keyword kw">end</span>
1481
- </pre>
1482
- </div>
1483
- </div>
1484
- </div>
1485
-
1486
- <div id="method-M000176" class="method-detail">
1487
- <a name="M000176"></a>
1488
-
1489
- <div class="method-heading">
1490
- <a href="#M000176" class="method-signature">
1491
- <span class="method-name">upload_item</span><span class="method-args">(f, mimetype, uri=nil)</span>
1492
- </a>
1493
- </div>
1494
-
1495
- <div class="method-description">
1496
- <p>
1497
- <a href="Store.html">Store</a> an item in the Contentbox for this store
1498
- </p>
1499
- <table>
1500
- <tr><td valign="top">f:</td><td>a File or other IO object from which data will be read
1501
-
1502
- </td></tr>
1503
- <tr><td valign="top">mimetype:</td><td>the mimetype of the object to record in the Platform
1504
-
1505
- </td></tr>
1506
- <tr><td valign="top">uri:</td><td>the URI at which to store the item (relative to base uri for the store). If
1507
- nil, then a URI will be assigned by the Platform
1508
-
1509
- </td></tr>
1510
- </table>
1511
- <p>
1512
- When a <em>uri</em> is not specified, then the Platform will return a 201
1513
- Created response with a Location header containing the URI of the newly
1514
- stored item. If a URI is specified then a successful request will result in
1515
- a 200 OK response.
1516
- </p>
1517
- <p><a class="source-toggle" href="#"
1518
- onclick="toggleCode('M000176-source');return false;">[Source]</a></p>
1519
- <div class="method-source-code" id="M000176-source">
1520
- <pre>
1521
- <span class="ruby-comment cmt"># File lib/pho/store.rb, line 344</span>
1522
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">upload_item</span>(<span class="ruby-identifier">f</span>, <span class="ruby-identifier">mimetype</span>, <span class="ruby-identifier">uri</span>=<span class="ruby-keyword kw">nil</span>)
1523
- <span class="ruby-identifier">data</span> = <span class="ruby-identifier">f</span>.<span class="ruby-identifier">read</span>()
1524
- <span class="ruby-identifier">f</span>.<span class="ruby-identifier">close</span>()
1525
- <span class="ruby-identifier">headers</span> = {<span class="ruby-value str">&quot;Content-Type&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">mimetype</span>}
1526
-
1527
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">uri</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>
1528
- <span class="ruby-identifier">u</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">build_uri</span>(<span class="ruby-value str">&quot;/items&quot;</span>)
1529
- <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">post</span>(<span class="ruby-identifier">u</span>, <span class="ruby-identifier">data</span>, <span class="ruby-identifier">headers</span>)
1530
- <span class="ruby-keyword kw">else</span>
1531
- <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">uri</span>.<span class="ruby-identifier">start_with?</span>(<span class="ruby-ivar">@storeuri</span>)
1532
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">start_with?</span>(<span class="ruby-value str">&quot;/&quot;</span>)
1533
- <span class="ruby-identifier">uri</span> = <span class="ruby-identifier">build_uri</span>(<span class="ruby-node">&quot;/items#{uri}&quot;</span>)
1534
- <span class="ruby-keyword kw">else</span>
1535
- <span class="ruby-identifier">uri</span> = <span class="ruby-identifier">build_uri</span>(<span class="ruby-node">&quot;/items/#{uri}&quot;</span>)
1536
- <span class="ruby-keyword kw">end</span>
1537
-
1538
- <span class="ruby-keyword kw">end</span>
1539
- <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">put</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">data</span>, <span class="ruby-identifier">headers</span>)
1540
- <span class="ruby-keyword kw">end</span>
1541
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">response</span>
1542
- <span class="ruby-keyword kw">end</span>
1543
- </pre>
1544
- </div>
1545
- </div>
1546
- </div>
1547
-
1548
-
1549
- </div>
1550
-
1551
-
1552
- </div>
1553
-
1554
-
1555
- <div id="validator-badges">
1556
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
1557
- </div>
1558
-
1559
- </body>
1560
- </html>