pho 0.4 → 0.4.1
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.
- data/CHANGES +12 -1
- data/Rakefile +2 -2
- data/doc/index.html +15 -1
- data/doc/rdoc/classes/Pho.html +14 -0
- data/doc/rdoc/classes/Pho/DatatypeProperty.html +12 -12
- data/doc/rdoc/classes/Pho/Etags.html +36 -36
- data/doc/rdoc/classes/Pho/Facet/Results.html +19 -19
- data/doc/rdoc/classes/Pho/Facet/Term.html +6 -6
- data/doc/rdoc/classes/Pho/FieldPredicateMap.html +90 -90
- data/doc/rdoc/classes/Pho/FieldWeighting.html +12 -12
- data/doc/rdoc/classes/Pho/Job.html +64 -64
- data/doc/rdoc/classes/Pho/Jobs.html +61 -61
- data/doc/rdoc/classes/Pho/Namespaces.html +6 -1
- data/doc/rdoc/classes/Pho/QueryProfile.html +61 -61
- data/doc/rdoc/classes/Pho/RDFCollection.html +71 -71
- data/doc/rdoc/classes/Pho/RDF_JSON.html +118 -0
- data/doc/rdoc/classes/Pho/RDF_JSON/SetAlgebra.html +240 -0
- data/doc/rdoc/classes/Pho/Snapshot.html +35 -35
- data/doc/rdoc/classes/Pho/Status.html +26 -26
- data/doc/rdoc/classes/Pho/Store.html +342 -264
- data/doc/rdoc/classes/Pho/Update.html +127 -0
- data/doc/rdoc/classes/Pho/Update/Changeset.html +520 -0
- data/doc/rdoc/classes/Pho/Update/ChangesetBuilder.html +330 -0
- data/doc/rdoc/classes/Pho/Update/Changesets.html +204 -0
- data/doc/rdoc/classes/Pho/Update/LiteralStatement.html +248 -0
- data/doc/rdoc/classes/Pho/Update/ResourceStatement.html +213 -0
- data/doc/rdoc/classes/Pho/Update/Statement.html +302 -0
- data/doc/rdoc/classes/String.html +146 -0
- data/doc/rdoc/created.rid +1 -1
- data/doc/rdoc/files/CHANGES.html +33 -2
- data/doc/rdoc/files/lib/pho/changeset_builder_rb.html +108 -0
- data/doc/rdoc/files/lib/pho/changeset_rb.html +108 -0
- data/doc/rdoc/files/lib/pho/job_rb.html +1 -1
- data/doc/rdoc/files/lib/pho/query_profile_rb.html +1 -1
- data/doc/rdoc/files/lib/pho/rdf_json_rb.html +101 -0
- data/doc/rdoc/files/lib/pho/store_rb.html +1 -1
- data/doc/rdoc/files/lib/pho_rb.html +4 -1
- data/doc/rdoc/fr_class_index.html +10 -0
- data/doc/rdoc/fr_file_index.html +3 -0
- data/doc/rdoc/fr_method_index.html +140 -110
- data/lib/pho.rb +14 -1
- data/lib/pho/changeset.rb +312 -0
- data/lib/pho/changeset_builder.rb +118 -0
- data/lib/pho/job.rb +1 -1
- data/lib/pho/query_profile.rb +1 -1
- data/lib/pho/rdf_json.rb +81 -0
- data/lib/pho/store.rb +63 -25
- data/tests/tc_changeset.rb +273 -0
- data/tests/tc_changeset_builder.rb +151 -0
- data/tests/tc_changesets.rb +96 -0
- data/tests/tc_metabox.rb +20 -2
- data/tests/tc_query_profile.rb +4 -2
- data/tests/tc_rdf_json.rb +273 -0
- data/tests/tc_search.rb +5 -5
- data/tests/tc_sparql.rb +12 -0
- data/tests/ts_pho.rb +5 -1
- metadata +25 -3
@@ -0,0 +1,330 @@
|
|
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::Update::ChangesetBuilder</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::Update::ChangesetBuilder</td>
|
54
|
+
</tr>
|
55
|
+
<tr class="top-aligned-row">
|
56
|
+
<td><strong>In:</strong></td>
|
57
|
+
<td>
|
58
|
+
<a href="../../../files/lib/pho/changeset_builder_rb.html">
|
59
|
+
lib/pho/changeset_builder.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
|
+
Utility class providing methods for building <a
|
84
|
+
href="Changesets.html">Changesets</a> from triple hashes
|
85
|
+
</p>
|
86
|
+
|
87
|
+
</div>
|
88
|
+
|
89
|
+
|
90
|
+
</div>
|
91
|
+
|
92
|
+
<div id="method-list">
|
93
|
+
<h3 class="section-bar">Methods</h3>
|
94
|
+
|
95
|
+
<div class="name-list">
|
96
|
+
<a href="#M000006">build</a>
|
97
|
+
<a href="#M000005">build_batch</a>
|
98
|
+
<a href="#M000007">create_statements</a>
|
99
|
+
<a href="#M000008">create_statements_for_uri</a>
|
100
|
+
</div>
|
101
|
+
</div>
|
102
|
+
|
103
|
+
</div>
|
104
|
+
|
105
|
+
|
106
|
+
<!-- if includes -->
|
107
|
+
|
108
|
+
<div id="section">
|
109
|
+
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
<!-- if method_list -->
|
118
|
+
<div id="methods">
|
119
|
+
<h3 class="section-bar">Public Class methods</h3>
|
120
|
+
|
121
|
+
<div id="method-M000006" class="method-detail">
|
122
|
+
<a name="M000006"></a>
|
123
|
+
|
124
|
+
<div class="method-heading">
|
125
|
+
<a href="#M000006" class="method-signature">
|
126
|
+
<span class="method-name">build</span><span class="method-args">(subject_of_change, before, after, creator_name=nil, change_reason=nil)</span>
|
127
|
+
</a>
|
128
|
+
</div>
|
129
|
+
|
130
|
+
<div class="method-description">
|
131
|
+
<p>
|
132
|
+
Build a single changeset
|
133
|
+
</p>
|
134
|
+
<p>
|
135
|
+
This method is suitable for building changesets that describe changes made
|
136
|
+
to a single resource If the before/after hashes contain data for other
|
137
|
+
subjects, then an error will be thrown.
|
138
|
+
</p>
|
139
|
+
<p>
|
140
|
+
The method will return a single <a href="Changeset.html">Changeset</a>
|
141
|
+
object.
|
142
|
+
</p>
|
143
|
+
<pre>
|
144
|
+
subject_of_change:: uri of the resource being updated
|
145
|
+
before:: triple hash describing current state of the resource
|
146
|
+
after:: triple hash describing updated state of the resource
|
147
|
+
creator_name:: name of the creator of the changes
|
148
|
+
change_reason:: description of why the changes are being made
|
149
|
+
</pre>
|
150
|
+
<p><a class="source-toggle" href="#"
|
151
|
+
onclick="toggleCode('M000006-source');return false;">[Source]</a></p>
|
152
|
+
<div class="method-source-code" id="M000006-source">
|
153
|
+
<pre>
|
154
|
+
<span class="ruby-comment cmt"># File lib/pho/changeset_builder.rb, line 65</span>
|
155
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">ChangesetBuilder</span>.<span class="ruby-identifier">build</span>(<span class="ruby-identifier">subject_of_change</span>, <span class="ruby-identifier">before</span>, <span class="ruby-identifier">after</span>, <span class="ruby-identifier">creator_name</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">change_reason</span>=<span class="ruby-keyword kw">nil</span>)
|
156
|
+
<span class="ruby-identifier">removals</span> = <span class="ruby-constant">Pho</span><span class="ruby-operator">::</span><span class="ruby-constant">RDF_JSON</span><span class="ruby-operator">::</span><span class="ruby-constant">SetAlgebra</span>.<span class="ruby-identifier">minus</span>(<span class="ruby-identifier">before</span>, <span class="ruby-identifier">after</span>)
|
157
|
+
<span class="ruby-identifier">additions</span> = <span class="ruby-constant">Pho</span><span class="ruby-operator">::</span><span class="ruby-constant">RDF_JSON</span><span class="ruby-operator">::</span><span class="ruby-constant">SetAlgebra</span>.<span class="ruby-identifier">minus</span>(<span class="ruby-identifier">after</span>, <span class="ruby-identifier">before</span>)
|
158
|
+
|
159
|
+
<span class="ruby-identifier">cs</span> = <span class="ruby-constant">Pho</span><span class="ruby-operator">::</span><span class="ruby-constant">Update</span><span class="ruby-operator">::</span><span class="ruby-constant">Changeset</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">subject_of_change</span>, <span class="ruby-identifier">creator_name</span>, <span class="ruby-identifier">change_reason</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">cs</span><span class="ruby-operator">|</span>
|
160
|
+
<span class="ruby-identifier">cs</span>.<span class="ruby-identifier">add_removals</span>( <span class="ruby-identifier">create_statements</span>(<span class="ruby-identifier">removals</span>) )
|
161
|
+
<span class="ruby-identifier">cs</span>.<span class="ruby-identifier">add_additions</span>( <span class="ruby-identifier">create_statements</span>(<span class="ruby-identifier">additions</span>) )
|
162
|
+
<span class="ruby-keyword kw">end</span>
|
163
|
+
|
164
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">cs</span>
|
165
|
+
|
166
|
+
<span class="ruby-keyword kw">end</span>
|
167
|
+
</pre>
|
168
|
+
</div>
|
169
|
+
</div>
|
170
|
+
</div>
|
171
|
+
|
172
|
+
<div id="method-M000005" class="method-detail">
|
173
|
+
<a name="M000005"></a>
|
174
|
+
|
175
|
+
<div class="method-heading">
|
176
|
+
<a href="#M000005" class="method-signature">
|
177
|
+
<span class="method-name">build_batch</span><span class="method-args">(before, after, creator_name=nil, change_reason=nil)</span>
|
178
|
+
</a>
|
179
|
+
</div>
|
180
|
+
|
181
|
+
<div class="method-description">
|
182
|
+
<p>
|
183
|
+
Build a batch changeset
|
184
|
+
</p>
|
185
|
+
<p>
|
186
|
+
This method is suitable for building an array of changesets that describe
|
187
|
+
changes made to a number of different resources.
|
188
|
+
</p>
|
189
|
+
<p>
|
190
|
+
Returns an array of <a href="Changeset.html">Changeset</a> objects
|
191
|
+
</p>
|
192
|
+
<pre>
|
193
|
+
before:: triple hash describing current state of the resource
|
194
|
+
after:: triple hash describing updated state of the resource
|
195
|
+
creator_name:: name of the creator of the changes
|
196
|
+
change_reason:: description of why the changes are being made
|
197
|
+
</pre>
|
198
|
+
<p><a class="source-toggle" href="#"
|
199
|
+
onclick="toggleCode('M000005-source');return false;">[Source]</a></p>
|
200
|
+
<div class="method-source-code" id="M000005-source">
|
201
|
+
<pre>
|
202
|
+
<span class="ruby-comment cmt"># File lib/pho/changeset_builder.rb, line 22</span>
|
203
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">ChangesetBuilder</span>.<span class="ruby-identifier">build_batch</span>(<span class="ruby-identifier">before</span>, <span class="ruby-identifier">after</span>, <span class="ruby-identifier">creator_name</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">change_reason</span>=<span class="ruby-keyword kw">nil</span>)
|
204
|
+
|
205
|
+
<span class="ruby-identifier">removals</span> = <span class="ruby-constant">Pho</span><span class="ruby-operator">::</span><span class="ruby-constant">RDF_JSON</span><span class="ruby-operator">::</span><span class="ruby-constant">SetAlgebra</span>.<span class="ruby-identifier">minus</span>(<span class="ruby-identifier">before</span>, <span class="ruby-identifier">after</span>)
|
206
|
+
<span class="ruby-identifier">additions</span> = <span class="ruby-constant">Pho</span><span class="ruby-operator">::</span><span class="ruby-constant">RDF_JSON</span><span class="ruby-operator">::</span><span class="ruby-constant">SetAlgebra</span>.<span class="ruby-identifier">minus</span>(<span class="ruby-identifier">after</span>, <span class="ruby-identifier">before</span>)
|
207
|
+
|
208
|
+
<span class="ruby-identifier">batch</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
|
209
|
+
|
210
|
+
<span class="ruby-identifier">removals</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">uri</span>, <span class="ruby-identifier">properties</span><span class="ruby-operator">|</span>
|
211
|
+
<span class="ruby-identifier">cs</span> = <span class="ruby-constant">Pho</span><span class="ruby-operator">::</span><span class="ruby-constant">Update</span><span class="ruby-operator">::</span><span class="ruby-constant">Changeset</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">creator_name</span>, <span class="ruby-identifier">change_reason</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">cs</span><span class="ruby-operator">|</span>
|
212
|
+
<span class="ruby-identifier">cs</span>.<span class="ruby-identifier">add_removals</span>( <span class="ruby-identifier">create_statements_for_uri</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">properties</span>) )
|
213
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">additions</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">uri</span>)
|
214
|
+
<span class="ruby-identifier">cs</span>.<span class="ruby-identifier">add_additions</span>( <span class="ruby-identifier">create_statements_for_uri</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">additions</span>[<span class="ruby-identifier">uri</span>] ) )
|
215
|
+
<span class="ruby-identifier">additions</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">uri</span>)
|
216
|
+
<span class="ruby-keyword kw">end</span>
|
217
|
+
<span class="ruby-keyword kw">end</span>
|
218
|
+
<span class="ruby-identifier">batch</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">cs</span>
|
219
|
+
<span class="ruby-keyword kw">end</span>
|
220
|
+
|
221
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">additions</span>.<span class="ruby-identifier">empty?</span>
|
222
|
+
<span class="ruby-identifier">additions</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">uri</span>, <span class="ruby-identifier">properties</span><span class="ruby-operator">|</span>
|
223
|
+
<span class="ruby-identifier">cs</span> = <span class="ruby-constant">Pho</span><span class="ruby-operator">::</span><span class="ruby-constant">Update</span><span class="ruby-operator">::</span><span class="ruby-constant">Changeset</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">creator_name</span>, <span class="ruby-identifier">change_reason</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">cs</span><span class="ruby-operator">|</span>
|
224
|
+
<span class="ruby-identifier">cs</span>.<span class="ruby-identifier">add_additions</span>( <span class="ruby-identifier">create_statements_for_uri</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">properties</span>) )
|
225
|
+
<span class="ruby-keyword kw">end</span>
|
226
|
+
<span class="ruby-identifier">batch</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">cs</span>
|
227
|
+
<span class="ruby-keyword kw">end</span>
|
228
|
+
<span class="ruby-keyword kw">end</span>
|
229
|
+
|
230
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">batch</span>
|
231
|
+
|
232
|
+
<span class="ruby-keyword kw">end</span>
|
233
|
+
</pre>
|
234
|
+
</div>
|
235
|
+
</div>
|
236
|
+
</div>
|
237
|
+
|
238
|
+
<div id="method-M000007" class="method-detail">
|
239
|
+
<a name="M000007"></a>
|
240
|
+
|
241
|
+
<div class="method-heading">
|
242
|
+
<a href="#M000007" class="method-signature">
|
243
|
+
<span class="method-name">create_statements</span><span class="method-args">(triples)</span>
|
244
|
+
</a>
|
245
|
+
</div>
|
246
|
+
|
247
|
+
<div class="method-description">
|
248
|
+
<p>
|
249
|
+
Takes an triple hash and serializes it as an array of <a
|
250
|
+
href="Statement.html">Pho::Update::Statement</a> objects
|
251
|
+
</p>
|
252
|
+
<pre>
|
253
|
+
triples:: a hash of triples, conforming to RDF-in-JSON structure
|
254
|
+
</pre>
|
255
|
+
<p><a class="source-toggle" href="#"
|
256
|
+
onclick="toggleCode('M000007-source');return false;">[Source]</a></p>
|
257
|
+
<div class="method-source-code" id="M000007-source">
|
258
|
+
<pre>
|
259
|
+
<span class="ruby-comment cmt"># File lib/pho/changeset_builder.rb, line 81</span>
|
260
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">ChangesetBuilder</span>.<span class="ruby-identifier">create_statements</span>(<span class="ruby-identifier">triples</span>)
|
261
|
+
<span class="ruby-identifier">statements</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
|
262
|
+
<span class="ruby-identifier">triples</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">uri</span>, <span class="ruby-identifier">properties</span><span class="ruby-operator">|</span>
|
263
|
+
<span class="ruby-identifier">statements</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">create_statements_for_uri</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">properties</span>)
|
264
|
+
<span class="ruby-keyword kw">end</span>
|
265
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">statements</span>
|
266
|
+
<span class="ruby-keyword kw">end</span>
|
267
|
+
</pre>
|
268
|
+
</div>
|
269
|
+
</div>
|
270
|
+
</div>
|
271
|
+
|
272
|
+
<div id="method-M000008" class="method-detail">
|
273
|
+
<a name="M000008"></a>
|
274
|
+
|
275
|
+
<div class="method-heading">
|
276
|
+
<a href="#M000008" class="method-signature">
|
277
|
+
<span class="method-name">create_statements_for_uri</span><span class="method-args">(uri, properties)</span>
|
278
|
+
</a>
|
279
|
+
</div>
|
280
|
+
|
281
|
+
<div class="method-description">
|
282
|
+
<p>
|
283
|
+
Create statements for a specific uri, using predicate-object values in the
|
284
|
+
provided properties hash
|
285
|
+
</p>
|
286
|
+
<pre>
|
287
|
+
uri:: subject of change
|
288
|
+
properties:: hash of predicate-object values
|
289
|
+
</pre>
|
290
|
+
<p><a class="source-toggle" href="#"
|
291
|
+
onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
|
292
|
+
<div class="method-source-code" id="M000008-source">
|
293
|
+
<pre>
|
294
|
+
<span class="ruby-comment cmt"># File lib/pho/changeset_builder.rb, line 94</span>
|
295
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">ChangesetBuilder</span>.<span class="ruby-identifier">create_statements_for_uri</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">properties</span>)
|
296
|
+
<span class="ruby-identifier">statements</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
|
297
|
+
<span class="ruby-identifier">properties</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">predicate</span>, <span class="ruby-identifier">val_array</span><span class="ruby-operator">|</span>
|
298
|
+
<span class="ruby-identifier">val_array</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
|
299
|
+
<span class="ruby-identifier">s</span> = <span class="ruby-keyword kw">nil</span>
|
300
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">value</span>[<span class="ruby-value str">"type"</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">"literal"</span>
|
301
|
+
<span class="ruby-identifier">s</span> = <span class="ruby-constant">Pho</span><span class="ruby-operator">::</span><span class="ruby-constant">Update</span><span class="ruby-operator">::</span><span class="ruby-constant">Statement</span>.<span class="ruby-identifier">create_literal</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">predicate</span>, <span class="ruby-identifier">value</span>[<span class="ruby-value str">"value"</span>], <span class="ruby-identifier">value</span>[<span class="ruby-value str">"lang"</span>], <span class="ruby-identifier">value</span>[<span class="ruby-value str">"datatype"</span>])
|
302
|
+
<span class="ruby-keyword kw">else</span>
|
303
|
+
<span class="ruby-comment cmt">#TODO bnodes?</span>
|
304
|
+
<span class="ruby-identifier">s</span> = <span class="ruby-constant">Pho</span><span class="ruby-operator">::</span><span class="ruby-constant">Update</span><span class="ruby-operator">::</span><span class="ruby-constant">Statement</span>.<span class="ruby-identifier">create_resource</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">predicate</span>, <span class="ruby-identifier">value</span>[<span class="ruby-value str">"value"</span>])
|
305
|
+
<span class="ruby-keyword kw">end</span>
|
306
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">s</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>
|
307
|
+
<span class="ruby-identifier">statements</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">s</span>
|
308
|
+
<span class="ruby-keyword kw">end</span>
|
309
|
+
<span class="ruby-keyword kw">end</span>
|
310
|
+
<span class="ruby-keyword kw">end</span>
|
311
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">statements</span>
|
312
|
+
<span class="ruby-keyword kw">end</span>
|
313
|
+
</pre>
|
314
|
+
</div>
|
315
|
+
</div>
|
316
|
+
</div>
|
317
|
+
|
318
|
+
|
319
|
+
</div>
|
320
|
+
|
321
|
+
|
322
|
+
</div>
|
323
|
+
|
324
|
+
|
325
|
+
<div id="validator-badges">
|
326
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
327
|
+
</div>
|
328
|
+
|
329
|
+
</body>
|
330
|
+
</html>
|
@@ -0,0 +1,204 @@
|
|
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::Update::Changesets</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::Update::Changesets</td>
|
54
|
+
</tr>
|
55
|
+
<tr class="top-aligned-row">
|
56
|
+
<td><strong>In:</strong></td>
|
57
|
+
<td>
|
58
|
+
<a href="../../../files/lib/pho/changeset_rb.html">
|
59
|
+
lib/pho/changeset.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="Changesets.html">Changesets</a> class provides utility methods
|
84
|
+
for manipulating and generating collections of <a
|
85
|
+
href="Changeset.html">Changeset</a> objects
|
86
|
+
</p>
|
87
|
+
|
88
|
+
</div>
|
89
|
+
|
90
|
+
|
91
|
+
</div>
|
92
|
+
|
93
|
+
<div id="method-list">
|
94
|
+
<h3 class="section-bar">Methods</h3>
|
95
|
+
|
96
|
+
<div class="name-list">
|
97
|
+
<a href="#M000012">all_to_rdf</a>
|
98
|
+
<a href="#M000013">submit_all</a>
|
99
|
+
</div>
|
100
|
+
</div>
|
101
|
+
|
102
|
+
</div>
|
103
|
+
|
104
|
+
|
105
|
+
<!-- if includes -->
|
106
|
+
|
107
|
+
<div id="section">
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
|
116
|
+
<!-- if method_list -->
|
117
|
+
<div id="methods">
|
118
|
+
<h3 class="section-bar">Public Class methods</h3>
|
119
|
+
|
120
|
+
<div id="method-M000012" class="method-detail">
|
121
|
+
<a name="M000012"></a>
|
122
|
+
|
123
|
+
<div class="method-heading">
|
124
|
+
<a href="#M000012" class="method-signature">
|
125
|
+
<span class="method-name">all_to_rdf</span><span class="method-args">(changesets)</span>
|
126
|
+
</a>
|
127
|
+
</div>
|
128
|
+
|
129
|
+
<div class="method-description">
|
130
|
+
<p>
|
131
|
+
Convert an array of changesets into an RDF/XML document
|
132
|
+
</p>
|
133
|
+
<pre>
|
134
|
+
changesets:: an array of changesets
|
135
|
+
</pre>
|
136
|
+
<p><a class="source-toggle" href="#"
|
137
|
+
onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
|
138
|
+
<div class="method-source-code" id="M000012-source">
|
139
|
+
<pre>
|
140
|
+
<span class="ruby-comment cmt"># File lib/pho/changeset.rb, line 142</span>
|
141
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">Changesets</span>.<span class="ruby-identifier">all_to_rdf</span>(<span class="ruby-identifier">changesets</span>)
|
142
|
+
<span class="ruby-identifier">rdf</span> = <span class="ruby-value str">"<rdf:RDF xmlns:cs=\"http://purl.org/vocab/changeset/schema#\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">"</span>
|
143
|
+
<span class="ruby-identifier">changesets</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">cs</span><span class="ruby-operator">|</span>
|
144
|
+
<span class="ruby-identifier">rdf</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">cs</span>.<span class="ruby-identifier">to_rdf</span>(<span class="ruby-keyword kw">false</span>)
|
145
|
+
<span class="ruby-keyword kw">end</span>
|
146
|
+
<span class="ruby-identifier">rdf</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"</rdf:RDF>"</span>
|
147
|
+
<span class="ruby-keyword kw">end</span>
|
148
|
+
</pre>
|
149
|
+
</div>
|
150
|
+
</div>
|
151
|
+
</div>
|
152
|
+
|
153
|
+
<div id="method-M000013" class="method-detail">
|
154
|
+
<a name="M000013"></a>
|
155
|
+
|
156
|
+
<div class="method-heading">
|
157
|
+
<a href="#M000013" class="method-signature">
|
158
|
+
<span class="method-name">submit_all</span><span class="method-args">(changesets, store, versioned=false)</span>
|
159
|
+
</a>
|
160
|
+
</div>
|
161
|
+
|
162
|
+
<div class="method-description">
|
163
|
+
<p>
|
164
|
+
Submit an array of changests to the Platform. After first converting them
|
165
|
+
to an RDF/XML document.
|
166
|
+
</p>
|
167
|
+
<pre>
|
168
|
+
Note that this submits all of the changessets in a single request to the Platform
|
169
|
+
If the changeset is too large then it may be rejected. Similarly the Platform may
|
170
|
+
respond with a 202 Accepted status if the data is to be processed asynchronously;
|
171
|
+
again that depends on the size of the changes.
|
172
|
+
|
173
|
+
changesets:: an array of changesets
|
174
|
+
store:: the store to submit the changesets to
|
175
|
+
versioned:: whether this is a versioned changed. Versioned Changesets must have
|
176
|
+
change_reason and creator_name properties.
|
177
|
+
</pre>
|
178
|
+
<p><a class="source-toggle" href="#"
|
179
|
+
onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
|
180
|
+
<div class="method-source-code" id="M000013-source">
|
181
|
+
<pre>
|
182
|
+
<span class="ruby-comment cmt"># File lib/pho/changeset.rb, line 162</span>
|
183
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">Changesets</span>.<span class="ruby-identifier">submit_all</span>(<span class="ruby-identifier">changesets</span>, <span class="ruby-identifier">store</span>, <span class="ruby-identifier">versioned</span>=<span class="ruby-keyword kw">false</span>)
|
184
|
+
<span class="ruby-identifier">rdf</span> = <span class="ruby-identifier">all_to_rdf</span>(<span class="ruby-identifier">changesets</span>)
|
185
|
+
<span class="ruby-identifier">store</span>.<span class="ruby-identifier">submit_changeset</span>(<span class="ruby-identifier">rdf</span>, <span class="ruby-identifier">versioned</span>)
|
186
|
+
<span class="ruby-keyword kw">end</span>
|
187
|
+
</pre>
|
188
|
+
</div>
|
189
|
+
</div>
|
190
|
+
</div>
|
191
|
+
|
192
|
+
|
193
|
+
</div>
|
194
|
+
|
195
|
+
|
196
|
+
</div>
|
197
|
+
|
198
|
+
|
199
|
+
<div id="validator-badges">
|
200
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
201
|
+
</div>
|
202
|
+
|
203
|
+
</body>
|
204
|
+
</html>
|