1
<?xml version="1.0" encoding="utf-8"?>
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
6
<title>Redland RDF Language Bindings - Ruby RDoc - Class: Redland::Node</title>
7
<link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
8
<script src="../js/jquery.js" type="text/javascript" charset="utf-8">
10
<script src="../js/thickbox-compressed.js" type="text/javascript" charset="utf-8">
12
<script src="../js/quicksearch.js" type="text/javascript" charset="utf-8">
14
<script src="../js/darkfish.js" type="text/javascript" charset="utf-8">
17
<body id="top" class="class">
19
<div id="home-metadata">
20
<div id="home-section" class="section">
21
<h3 class="section-header"><a href="../index.html">Home</a> <a href="../index.html#classes">Classes</a> <a href="../index.html#methods">Methods</a></h3>
24
<div id="file-metadata">
25
<div id="file-list-section" class="section">
26
<h3 class="section-header">In Files</h3>
27
<div class="section-body">
29
<li><a href="../rdf/redland/node_rb.html?TB_iframe=true&height=550&width=785" class="thickbox" title="rdf/redland/node.rb">rdf/redland/node.rb</a></li>
34
<div id="class-metadata"><!-- Parent Class -->
35
<div id="parent-class-section" class="section">
36
<h3 class="section-header">Parent</h3>
37
<p class="link">Object</p>
39
<!-- Method Quickref -->
40
<div id="method-list-section" class="section">
41
<h3 class="section-header">Methods</h3>
42
<ul class="link-list">
43
<li><a href="#method-c-anon">::anon</a></li>
44
<li><a href="#method-c-create_finalizer">::create_finalizer</a></li>
45
<li><a href="#method-c-ensure">::ensure</a></li>
46
<li><a href="#method-c-new">::new</a></li>
47
<li><a href="#method-i-3D-3D">#==</a></li>
48
<li><a href="#method-i-blank-3F">#blank?</a></li>
49
<li><a href="#method-i-blank_identifier">#blank_identifier</a></li>
50
<li><a href="#method-i-bnode">#bnode</a></li>
51
<li><a href="#method-i-literal">#literal</a></li>
52
<li><a href="#method-i-literal-3F">#literal?</a></li>
53
<li><a href="#method-i-node_from_hash">#node_from_hash</a></li>
54
<li><a href="#method-i-node_from_literal">#node_from_literal</a></li>
55
<li><a href="#method-i-node_type">#node_type</a></li>
56
<li><a href="#method-i-resource-3F">#resource?</a></li>
57
<li><a href="#method-i-to_s">#to_s</a></li>
58
<li><a href="#method-i-uri">#uri</a></li>
62
<div id="project-metadata">
63
<div id="fileindex-section" class="section project-section">
64
<h3 class="section-header">Files</h3>
66
<li class="file"><a href="../Makefile.html">Makefile</a></li>
67
<li class="file"><a href="../rdf/Makefile.html">Makefile</a></li>
68
<li class="file"><a href="../rdf/redland/Makefile.html">Makefile</a></li>
69
<li class="file"><a href="../rdf/redland/schemas/Makefile.html">Makefile</a></li>
72
<div id="classindex-section" class="section project-section">
73
<h3 class="section-header">Class/Module Index <span class="search-toggle"><img src="../images/find.png" height="16" width="16" alt="[+]" title="show/hide quicksearch" /></span></h3>
74
<form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
75
<fieldset><legend>Quicksearch</legend> <input type="text" name="quicksearch" value="" class="quicksearch-field" /></fieldset>
77
<ul class="link-list">
78
<li><a href="../Redland.html">Redland</a></li>
79
<li><a href="../Redland/BNode.html">Redland::BNode</a></li>
80
<li><a href="../Redland/ContextParser.html">Redland::ContextParser</a></li>
81
<li><a href="../Redland/FileStore.html">Redland::FileStore</a></li>
82
<li><a href="../Redland/HashOpen.html">Redland::HashOpen</a></li>
83
<li><a href="../Redland/HashStore.html">Redland::HashStore</a></li>
84
<li><a href="../Redland/Literal.html">Redland::Literal</a></li>
85
<li><a href="../Redland/MemoryStore.html">Redland::MemoryStore</a></li>
86
<li><a href="../Redland/MergedModel.html">Redland::MergedModel</a></li>
87
<li><a href="../Redland/Model.html">Redland::Model</a></li>
88
<li><a href="../Redland/Namespace.html">Redland::Namespace</a></li>
89
<li><a href="../Redland/Node.html">Redland::Node</a></li>
90
<li><a href="../Redland/NodeIterator.html">Redland::NodeIterator</a></li>
91
<li><a href="../Redland/NodeTypeError.html">Redland::NodeTypeError</a></li>
92
<li><a href="../Redland/OWL.html">Redland::OWL</a></li>
93
<li><a href="../Redland/Parser.html">Redland::Parser</a></li>
94
<li><a href="../Redland/Query.html">Redland::Query</a></li>
95
<li><a href="../Redland/QueryResults.html">Redland::QueryResults</a></li>
96
<li><a href="../Redland/RDFS.html">Redland::RDFS</a></li>
97
<li><a href="../Redland/RedlandError.html">Redland::RedlandError</a></li>
98
<li><a href="../Redland/Resource.html">Redland::Resource</a></li>
99
<li><a href="../Redland/Serializer.html">Redland::Serializer</a></li>
100
<li><a href="../Redland/Statement.html">Redland::Statement</a></li>
101
<li><a href="../Redland/Stream.html">Redland::Stream</a></li>
102
<li><a href="../Redland/TripleStore.html">Redland::TripleStore</a></li>
103
<li><a href="../Redland/Uri.html">Redland::Uri</a></li>
104
<li><a href="../Redland/Util.html">Redland::Util</a></li>
105
<li><a href="../Redland/World.html">Redland::World</a></li>
106
<li><a href="../DC.html">DC</a></li>
107
<li><a href="../FOAF.html">FOAF</a></li>
109
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
113
<div id="documentation">
114
<h1 class="class">Redland::Node</h1>
115
<div id="description" class="description"></div>
117
<div id="5Buntitled-5D" class="documentation-section"><!-- Attributes -->
118
<div id="attribute-method-details" class="method-section section">
119
<h3 class="section-header">Attributes</h3>
120
<div id="node-attribute-method" class="method-detail"><a name="node" id="node"></a>
121
<div class="method-heading attribute-method-heading"><span class="method-name">node</span><span class="attribute-access-type">[R]</span></div>
122
<div class="method-description"></div>
125
<!-- attribute-method-details -->
127
<div id="public-class-method-details" class="method-section section">
128
<h3 class="section-header">Public Class Methods</h3>
129
<div id="anon-method" class="method-detail"><a name="method-c-anon" id="method-c-anon"></a>
130
<div class="method-heading"><span class="method-name">anon</span><span class="method-args">(id)</span> <span class="method-click-advice">click to toggle source</span></div>
131
<div class="method-description">
132
<p>Creates a new blank node with the specified ID (?? confirm)</p>
133
<div class="method-source-code" id="anon-source">
135
<span class="ruby-comment"># File rdf/redland/node.rb, line 84</span>
136
<span class="ruby-keyword">def</span> <span class="ruby-constant">Node</span>.<span class="ruby-identifier">anon</span>(<span class="ruby-identifier">id</span>)
137
<span class="ruby-identifier">n</span> = <span class="ruby-constant">Node</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">''</span>)
138
<span class="ruby-identifier">n</span>.<span class="ruby-identifier">bnode</span>(<span class="ruby-identifier">id</span>)
139
<span class="ruby-identifier">n</span>
140
<span class="ruby-keyword">end</span>
142
<!-- anon-source --></div>
145
<div id="create_finalizer-method" class="method-detail"><a name="method-c-create_finalizer" id="method-c-create_finalizer"></a>
146
<div class="method-heading"><span class="method-name">create_finalizer</span><span class="method-args">(node)</span> <span class="method-click-advice">click to toggle source</span></div>
147
<div class="method-description">
148
<p>You shouldn't use this. Used internally for cleanup.</p>
149
<div class="method-source-code" id="create_finalizer-source">
151
<span class="ruby-comment"># File rdf/redland/node.rb, line 79</span>
152
<span class="ruby-keyword">def</span> <span class="ruby-constant">Node</span>.<span class="ruby-identifier">create_finalizer</span>(<span class="ruby-identifier">node</span>)
153
<span class="ruby-identifier">proc</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">id</span><span class="ruby-operator">|</span> <span class="ruby-constant">Redland</span><span class="ruby-operator">::</span><span class="ruby-identifier">librdf_free_node</span>(<span class="ruby-identifier">node</span>) }
154
<span class="ruby-keyword">end</span>
156
<!-- create_finalizer-source --></div>
158
<!-- create_finalizer-method -->
159
<div id="ensure-method" class="method-detail"><a name="method-c-ensure" id="method-c-ensure"></a>
160
<div class="method-heading"><span class="method-name">ensure</span><span class="method-args">(node)</span> <span class="method-click-advice">click to toggle source</span></div>
161
<div class="method-description">
162
<p>Ensures that the argument is a node by constructing one or returning nil (?? confirm)</p>
163
<div class="method-source-code" id="ensure-source">
165
<span class="ruby-comment"># File rdf/redland/node.rb, line 158</span>
166
<span class="ruby-keyword">def</span> <span class="ruby-constant">Node</span>.<span class="ruby-keyword">ensure</span>(<span class="ruby-identifier">node</span>)
167
<span class="ruby-keyword">case</span> <span class="ruby-identifier">node</span>
168
<span class="ruby-keyword">when</span> <span class="ruby-constant">Node</span>
169
<span class="ruby-identifier">my_node</span> = <span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_new_node_from_node</span>(<span class="ruby-identifier">node</span>.<span class="ruby-identifier">node</span>)
170
<span class="ruby-keyword">when</span> <span class="ruby-constant">SWIG</span><span class="ruby-operator">::</span><span class="ruby-constant">TYPE_p_librdf_node_s</span>
171
<span class="ruby-identifier">my_node</span> = <span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_new_node_from_node</span>(<span class="ruby-identifier">node</span>)
172
<span class="ruby-keyword">when</span> <span class="ruby-constant">Uri</span>
173
<span class="ruby-identifier">my_node</span> = <span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_new_node_from_uri</span>(<span class="ruby-identifier">$world</span>.<span class="ruby-identifier">world</span>,<span class="ruby-identifier">node</span>.<span class="ruby-identifier">uri</span>)
174
<span class="ruby-keyword">when</span> <span class="ruby-constant">URI</span>
175
<span class="ruby-identifier">my_node</span> = <span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_new_node_from_uri_string</span>(<span class="ruby-identifier">$world</span>.<span class="ruby-identifier">world</span>,<span class="ruby-identifier">node</span>.<span class="ruby-identifier">to_s</span>)
176
<span class="ruby-keyword">else</span>
177
<span class="ruby-identifier">my_node</span> = <span class="ruby-keyword">nil</span>
178
<span class="ruby-keyword">end</span>
179
<span class="ruby-keyword">return</span> <span class="ruby-identifier">my_node</span>
180
<span class="ruby-keyword">end</span>
182
<!-- ensure-source --></div>
184
<!-- ensure-method -->
185
<div id="new-method" class="method-detail"><a name="method-c-new" id="method-c-new"></a>
186
<div class="method-heading"><span class="method-name">new</span><span class="method-args">(arg=nil)</span> <span class="method-click-advice">click to toggle source</span></div>
187
<div class="method-description">
188
<p>Create an RDF <a href="Node.html">Node</a></p>
189
<p><a href="Resource.html">Resource</a> or property node creation</p>
191
n1 = Node.new(Uri.new("http://example.com/foo"))
193
<p>String literal node creation</p>
197
<div class="method-source-code" id="new-source">
199
<span class="ruby-comment"># File rdf/redland/node.rb, line 21</span>
200
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">arg</span>=<span class="ruby-keyword">nil</span>)
201
<span class="ruby-keyword">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">String</span>
202
<span class="ruby-identifier">temp</span> = <span class="ruby-identifier">arg</span>
203
<span class="ruby-identifier">arg</span> = {}
204
<span class="ruby-identifier">arg</span>[<span class="ruby-value">:literal</span>]= <span class="ruby-identifier">temp</span>
205
<span class="ruby-ivar">@node</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">node_from_hash</span>(<span class="ruby-identifier">arg</span>)
206
<span class="ruby-keyword">elsif</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Hash</span>
207
<span class="ruby-ivar">@node</span> = <span class="ruby-identifier">node_from_hash</span>(<span class="ruby-identifier">arg</span>)
208
<span class="ruby-keyword">else</span>
209
<span class="ruby-ivar">@node</span> = <span class="ruby-constant">Node</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">arg</span>)
210
<span class="ruby-keyword">end</span>
211
<span class="ruby-identifier">raise</span> <span class="ruby-constant">RedlandError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">"Node construction failed"</span>) <span class="ruby-keyword">if</span> <span class="ruby-keyword">not</span> <span class="ruby-ivar">@node</span>
212
<span class="ruby-constant">ObjectSpace</span>.<span class="ruby-identifier">define_finalizer</span>(<span class="ruby-keyword">self</span>,<span class="ruby-constant">Node</span>.<span class="ruby-identifier">create_finalizer</span>(<span class="ruby-ivar">@node</span>))
213
<span class="ruby-keyword">end</span>
215
<!-- new-source --></div>
217
<!-- new-method --></div>
218
<!-- public-class-method-details -->
219
<div id="public-instance-method-details" class="method-section section">
220
<h3 class="section-header">Public Instance Methods</h3>
221
<div id="3D-3D-method" class="method-detail"><a name="method-i-3D-3D" id="method-i-3D-3D"></a>
222
<div class="method-heading"><span class="method-name">==</span><span class="method-args">(other)</span> <span class="method-click-advice">click to toggle source</span></div>
223
<div class="method-description">
224
<p>Equivalency. Only works for comparing two Nodes</p>
225
<div class="method-source-code" id="3D-3D-source">
227
<span class="ruby-comment"># File rdf/redland/node.rb, line 106</span>
228
<span class="ruby-keyword">def</span> <span class="ruby-operator">==</span>(<span class="ruby-identifier">other</span>)
229
<span class="ruby-keyword">return</span> (<span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_node_equals</span>(<span class="ruby-keyword">self</span>.<span class="ruby-identifier">node</span>,<span class="ruby-identifier">other</span>.<span class="ruby-identifier">node</span>) <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>)
230
<span class="ruby-keyword">end</span>
232
<!-- 3D-3D-source --></div>
234
<!-- 3D-3D-method -->
235
<div id="blank-3F-method" class="method-detail"><a name="method-i-blank-3F" id="method-i-blank-3F"></a>
236
<div class="method-heading"><span class="method-name">blank?</span><span class="method-args">()</span> <span class="method-click-advice">click to toggle source</span></div>
237
<div class="method-description">
238
<p>Return true if node is a blank node</p>
239
<div class="method-source-code" id="blank-3F-source">
241
<span class="ruby-comment"># File rdf/redland/node.rb, line 101</span>
242
<span class="ruby-keyword">def</span> <span class="ruby-identifier">blank?</span>
243
<span class="ruby-keyword">return</span> (<span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_node_is_blank</span>(<span class="ruby-keyword">self</span>.<span class="ruby-identifier">node</span>) <span class="ruby-operator">!=</span><span class="ruby-value">0</span>)
244
<span class="ruby-keyword">end</span>
246
<!-- blank-3F-source --></div>
248
<!-- blank-3F-method -->
249
<div id="blank_identifier-method" class="method-detail"><a name="method-i-blank_identifier" id="method-i-blank_identifier"></a>
250
<div class="method-heading"><span class="method-name">blank_identifier</span><span class="method-args">()</span> <span class="method-click-advice">click to toggle source</span></div>
251
<div class="method-description">
252
<p>returns the blank identifier for this node if the internal model is a blank node</p>
253
<div class="method-source-code" id="blank_identifier-source">
255
<span class="ruby-comment"># File rdf/redland/node.rb, line 148</span>
256
<span class="ruby-keyword">def</span> <span class="ruby-identifier">blank_identifier</span>()
257
<span class="ruby-keyword">unless</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">blank?</span>
258
<span class="ruby-identifier">raise</span> <span class="ruby-constant">NodeTypeError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">"Can't get blank identifier for node type %s"</span> <span class="ruby-operator">%</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">node_type</span>)
259
<span class="ruby-keyword">else</span>
260
<span class="ruby-keyword">return</span> <span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_node_get_blank_identifier</span>(<span class="ruby-keyword">self</span>.<span class="ruby-identifier">node</span>)
261
<span class="ruby-keyword">end</span>
262
<span class="ruby-keyword">end</span>
264
<!-- blank_identifier-source --></div>
266
<!-- blank_identifier-method -->
267
<div id="bnode-method" class="method-detail"><a name="method-i-bnode" id="method-i-bnode"></a>
268
<div class="method-heading"><span class="method-name">bnode</span><span class="method-args">(id=nil)</span> <span class="method-click-advice">click to toggle source</span></div>
269
<div class="method-description">
270
<p>Sets this node's value to a blank node with the specified ID (?? confirm)</p>
271
<div class="method-source-code" id="bnode-source">
273
<span class="ruby-comment"># File rdf/redland/node.rb, line 74</span>
274
<span class="ruby-keyword">def</span> <span class="ruby-identifier">bnode</span>(<span class="ruby-identifier">id</span>=<span class="ruby-keyword">nil</span>)
275
<span class="ruby-ivar">@node</span> = <span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_new_node_from_blank_identifier</span>(<span class="ruby-identifier">$world</span>.<span class="ruby-identifier">world</span>,<span class="ruby-identifier">id</span>)
276
<span class="ruby-keyword">end</span>
278
<!-- bnode-source --></div>
280
<!-- bnode-method -->
281
<div id="literal-method" class="method-detail"><a name="method-i-literal" id="method-i-literal"></a>
282
<div class="method-heading"><span class="method-name">literal</span><span class="method-args">()</span> <span class="method-click-advice">click to toggle source</span></div>
283
<div class="method-description">
284
<p>returns a <a href="Literal.html">Literal</a> if the node is a literal type</p>
285
<div class="method-source-code" id="literal-source">
287
<span class="ruby-comment"># File rdf/redland/node.rb, line 139</span>
288
<span class="ruby-keyword">def</span> <span class="ruby-identifier">literal</span>
289
<span class="ruby-keyword">unless</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">literal?</span>
290
<span class="ruby-identifier">raise</span> <span class="ruby-constant">NodeTypeError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">"Can't get literal value for node type %s"</span> <span class="ruby-operator">%</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">node_type</span>)
291
<span class="ruby-keyword">end</span>
292
<span class="ruby-keyword">return</span> <span class="ruby-constant">Literal</span>.<span class="ruby-identifier">from_node</span>(<span class="ruby-keyword">self</span>.<span class="ruby-identifier">node</span>)
293
<span class="ruby-keyword">end</span>
295
<!-- literal-source --></div>
297
<!-- literal-method -->
298
<div id="literal-3F-method" class="method-detail"><a name="method-i-literal-3F" id="method-i-literal-3F"></a>
299
<div class="method-heading"><span class="method-name">literal?</span><span class="method-args">()</span> <span class="method-click-advice">click to toggle source</span></div>
300
<div class="method-description">
301
<p>Return true if node is a literal</p>
302
<div class="method-source-code" id="literal-3F-source">
304
<span class="ruby-comment"># File rdf/redland/node.rb, line 91</span>
305
<span class="ruby-keyword">def</span> <span class="ruby-identifier">literal?</span>
306
<span class="ruby-keyword">return</span> (<span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_node_is_literal</span>(<span class="ruby-keyword">self</span>.<span class="ruby-identifier">node</span>) <span class="ruby-operator">!=</span><span class="ruby-value">0</span>)
307
<span class="ruby-keyword">end</span>
309
<!-- literal-3F-source --></div>
311
<!-- literal-3F-method -->
312
<div id="node_from_hash-method" class="method-detail"><a name="method-i-node_from_hash" id="method-i-node_from_hash"></a>
313
<div class="method-heading"><span class="method-name">node_from_hash</span><span class="method-args">(hash)</span> <span class="method-click-advice">click to toggle source</span></div>
314
<div class="method-description">
315
<p>sets this node's value using a blank or URI extracted from a Hash (?? confirm)</p>
316
<div class="method-source-code" id="node_from_hash-source">
318
<span class="ruby-comment"># File rdf/redland/node.rb, line 38</span>
319
<span class="ruby-keyword">def</span> <span class="ruby-identifier">node_from_hash</span>(<span class="ruby-identifier">hash</span>)
320
<span class="ruby-keyword">if</span> <span class="ruby-identifier">hash</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-value">:blank</span>)
321
<span class="ruby-identifier">node</span> = <span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_new_node_from_blank_identifier</span>(<span class="ruby-identifier">$world</span>.<span class="ruby-identifier">world</span>,<span class="ruby-identifier">hash</span>[<span class="ruby-value">:blank</span>])
322
<span class="ruby-keyword">end</span>
323
<span class="ruby-keyword">if</span> <span class="ruby-identifier">hash</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-value">:from_object</span>)
324
<span class="ruby-keyword">if</span> <span class="ruby-identifier">hash</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-value">:do_not_copy</span>)
325
<span class="ruby-identifier">node</span> = <span class="ruby-identifier">hash</span>[<span class="ruby-value">:from_object</span>]
326
<span class="ruby-keyword">else</span>
327
<span class="ruby-identifier">node</span> = <span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_new_node_from_node</span>(<span class="ruby-identifier">hash</span>[<span class="ruby-value">:from_object</span>])
328
<span class="ruby-keyword">end</span>
329
<span class="ruby-keyword">end</span>
331
<span class="ruby-keyword">if</span> <span class="ruby-identifier">hash</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-value">:uri_string</span>)
332
<span class="ruby-identifier">node</span> = <span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_new_node_from_uri_string</span>(<span class="ruby-identifier">$world</span>.<span class="ruby-identifier">world</span>,<span class="ruby-identifier">hash</span>[<span class="ruby-value">:uri_string</span>])
333
<span class="ruby-keyword">end</span>
334
<span class="ruby-keyword">if</span> <span class="ruby-identifier">hash</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-value">:literal</span>)
335
<span class="ruby-identifier">node</span> = <span class="ruby-identifier">node_from_literal</span>(<span class="ruby-identifier">hash</span>)
336
<span class="ruby-keyword">end</span>
337
<span class="ruby-keyword">return</span> <span class="ruby-identifier">node</span>
338
<span class="ruby-keyword">end</span>
340
<!-- node_from_hash-source --></div>
342
<!-- node_from_hash-method -->
343
<div id="node_from_literal-method" class="method-detail"><a name="method-i-node_from_literal" id="method-i-node_from_literal"></a>
344
<div class="method-heading"><span class="method-name">node_from_literal</span><span class="method-args">(hash)</span> <span class="method-click-advice">click to toggle source</span></div>
345
<div class="method-description">
346
<p>sets this node's value using a literal value extracted from a Hash (?? confirm)</p>
347
<div class="method-source-code" id="node_from_literal-source">
349
<span class="ruby-comment"># File rdf/redland/node.rb, line 61</span>
350
<span class="ruby-keyword">def</span> <span class="ruby-identifier">node_from_literal</span>(<span class="ruby-identifier">hash</span>)
351
<span class="ruby-identifier">xml_language</span> = <span class="ruby-identifier">hash</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-value">:xml_language</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">hash</span>[<span class="ruby-value">:xml_language</span>] <span class="ruby-operator">:</span> <span class="ruby-string">""</span>
352
<span class="ruby-identifier">wf_xml</span> = <span class="ruby-identifier">hash</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-value">:wf_xml?</span>) <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>
353
<span class="ruby-keyword">if</span> <span class="ruby-identifier">hash</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-value">:datatype</span>)
354
<span class="ruby-identifier">datatype</span> = <span class="ruby-identifier">hash</span>[<span class="ruby-value">:datatype</span>]
355
<span class="ruby-identifier">node</span> = <span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_new_node_from_typed_literal</span>(<span class="ruby-identifier">$world</span>.<span class="ruby-identifier">world</span>,<span class="ruby-identifier">hash</span>[<span class="ruby-value">:literal</span>],<span class="ruby-identifier">xml_language</span>,<span class="ruby-identifier">datatype</span>.<span class="ruby-identifier">uri</span>)
356
<span class="ruby-keyword">else</span>
357
<span class="ruby-identifier">node</span> = <span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_new_node_from_literal</span>(<span class="ruby-identifier">$world</span>.<span class="ruby-identifier">world</span>,<span class="ruby-identifier">hash</span>[<span class="ruby-value">:literal</span>],<span class="ruby-identifier">xml_language</span>,<span class="ruby-identifier">wf_xml</span>)
358
<span class="ruby-keyword">end</span>
359
<span class="ruby-keyword">return</span> <span class="ruby-identifier">node</span>
360
<span class="ruby-keyword">end</span>
362
<!-- node_from_literal-source --></div>
364
<!-- node_from_literal-method -->
365
<div id="node_type-method" class="method-detail"><a name="method-i-node_type" id="method-i-node_type"></a>
366
<div class="method-heading"><span class="method-name">node_type</span><span class="method-args">()</span> <span class="method-click-advice">click to toggle source</span></div>
367
<div class="method-description">
368
<p>Get the type of this node as a string (Node.node_types)</p>
369
<div class="method-source-code" id="node_type-source">
371
<span class="ruby-comment"># File rdf/redland/node.rb, line 125</span>
372
<span class="ruby-keyword">def</span> <span class="ruby-identifier">node_type</span>()
373
<span class="ruby-keyword">return</span> <span class="ruby-identifier">@@node_types</span>[<span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_node_get_type</span>(<span class="ruby-keyword">self</span>.<span class="ruby-identifier">node</span>)]
374
<span class="ruby-keyword">end</span>
376
<!-- node_type-source --></div>
378
<!-- node_type-method -->
379
<div id="resource-3F-method" class="method-detail"><a name="method-i-resource-3F" id="method-i-resource-3F"></a>
380
<div class="method-heading"><span class="method-name">resource?</span><span class="method-args">()</span> <span class="method-click-advice">click to toggle source</span></div>
381
<div class="method-description">
382
<p>Return true if node is a resource with a URI</p>
383
<div class="method-source-code" id="resource-3F-source">
385
<span class="ruby-comment"># File rdf/redland/node.rb, line 96</span>
386
<span class="ruby-keyword">def</span> <span class="ruby-identifier">resource?</span>
387
<span class="ruby-keyword">return</span> (<span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_node_is_resource</span>(<span class="ruby-keyword">self</span>.<span class="ruby-identifier">node</span>) <span class="ruby-operator">!=</span><span class="ruby-value">0</span>)
388
<span class="ruby-keyword">end</span>
390
<!-- resource-3F-source --></div>
392
<!-- resource-3F-method -->
393
<div id="to_s-method" class="method-detail"><a name="method-i-to_s" id="method-i-to_s"></a>
394
<div class="method-heading"><span class="method-name">to_s</span><span class="method-args">()</span> <span class="method-click-advice">click to toggle source</span></div>
395
<div class="method-description">
396
<p>Convert this to a string</p>
397
<div class="method-source-code" id="to_s-source">
399
<span class="ruby-comment"># File rdf/redland/node.rb, line 111</span>
400
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_s</span>
401
<span class="ruby-keyword">if</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">literal?</span>
402
<span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_node_get_literal_value</span>(<span class="ruby-keyword">self</span>.<span class="ruby-identifier">node</span>)
403
<span class="ruby-keyword">elsif</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">blank?</span>
404
<span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_node_get_blank_identifier</span>(<span class="ruby-keyword">self</span>.<span class="ruby-identifier">node</span>)
405
<span class="ruby-keyword">elsif</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">resource?</span>
406
<span class="ruby-identifier">uri</span> = <span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_node_get_uri</span>(<span class="ruby-keyword">self</span>.<span class="ruby-identifier">node</span>)
407
<span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_uri_to_string</span>(<span class="ruby-identifier">uri</span>) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">nil?</span>
408
<span class="ruby-keyword">else</span>
409
<span class="ruby-keyword">nil</span>
410
<span class="ruby-keyword">end</span>
411
<span class="ruby-keyword">end</span>
413
<!-- to_s-source --></div>
416
<div id="uri-method" class="method-detail"><a name="method-i-uri" id="method-i-uri"></a>
417
<div class="method-heading"><span class="method-name">uri</span><span class="method-args">()</span> <span class="method-click-advice">click to toggle source</span></div>
418
<div class="method-description">
419
<p>return a copy of the internal uri</p>
420
<div class="method-source-code" id="uri-source">
422
<span class="ruby-comment"># File rdf/redland/node.rb, line 130</span>
423
<span class="ruby-keyword">def</span> <span class="ruby-identifier">uri</span>
424
<span class="ruby-keyword">if</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">resource?</span>
425
<span class="ruby-keyword">return</span> <span class="ruby-constant">Uri</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_node_get_uri</span>(<span class="ruby-keyword">self</span>.<span class="ruby-identifier">node</span>))
426
<span class="ruby-keyword">else</span>
427
<span class="ruby-identifier">raise</span> <span class="ruby-constant">NodeTypeError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">"Can't get URI for node type %s"</span> <span class="ruby-operator">%</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">node_type</span>() )
428
<span class="ruby-keyword">end</span>
429
<span class="ruby-keyword">end</span>
431
<!-- uri-source --></div>
433
<!-- uri-method --></div>
434
<!-- public-instance-method-details --></div>
435
<!-- 5Buntitled-5D --></div>
436
<!-- documentation -->
439
<div class="outerHeader">
440
Go to <a href="/" target="_parent">Redland Home</a> -
441
<a href="/bindings/" target="_parent">Language Bindings Home</a> -
442
<a href="/docs/ruby.html" target="_parent">Ruby API Home</a>
445
<p>(C) Copyright 2004-2013 <a href="http://www.dajobe.org/" target="_parent">Dave Beckett</a>, (C) Copyright 2004-2005 <a href="http://www.bristol.ac.uk/" target="_parent">University of Bristol</a></p>
447
</div> <!-- end outerBlock -->