The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Redland RDF Application Framework - Ruby RDoc - Class: Redland::Node</title>
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
<script type="text/javascript">
  // <![CDATA[

  function popupCode( url ) {
    window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
  }

  function toggleCode( id ) {
    if ( document.getElementById )
      elem = document.getElementById( id );
    else if ( document.all )
      elem = eval( "document.all." + id );
    else
      return false;

    elemStyle = elem.style;
    
    if ( elemStyle.display != "block" ) {
      elemStyle.display = "block"
    } else {
      elemStyle.display = "none"
    }

    return true;
  }
  
  // Make codeblocks hidden by default
  document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }<\/style>" )
  
  // ]]>
</script>
</head>
<body>
<div class="outerBlock">

<div class="outerHeader">
Go to <a href="/" target="_parent">Redland Home</a> - 
<a href="/bindings/" target="_parent">Language Bindings Home</a> - 
<a href="/docs/ruby.html" target="_parent">Ruby API Home</a>
</div>

<div id="classHeader">
<table class="header-table">
<tr class="top-aligned-row">
<td><strong>Class</strong></td>
<td class="class-name-in-header">Redland::Node</td>
</tr>
<tr class="top-aligned-row">
<td><strong>In:</strong></td>
<td><a href="../../files/rdf/redland/node_rb.html">rdf/redland/node.rb</a><br /></td>
</tr>
<tr class="top-aligned-row">
<td><strong>Parent:</strong></td>
<td>Object</td>
</tr>
</table>
</div>
<!-- banner header -->
<div id="bodyContent">
<div id="contextContent"></div>
<div id="method-list">
<h3 class="section-bar">Methods</h3>
<div class="name-list"><a href="#M000089">==</a>&nbsp;&nbsp; <a href="#M000085">anon</a>&nbsp;&nbsp; <a href="#M000088">blank?</a>&nbsp;&nbsp; <a href="#M000094">blank_identifier</a>&nbsp;&nbsp; <a href="#M000083">bnode</a>&nbsp;&nbsp; <a href="#M000084">create_finalizer</a>&nbsp;&nbsp; <a href="#M000095">ensure</a>&nbsp;&nbsp; <a href="#M000093">literal</a>&nbsp;&nbsp; <a href="#M000086">literal?</a>&nbsp;&nbsp; <a href="#M000080">new</a>&nbsp;&nbsp; <a href="#M000081">node_from_hash</a>&nbsp;&nbsp; <a href="#M000082">node_from_literal</a>&nbsp;&nbsp; <a href="#M000091">node_type</a>&nbsp;&nbsp; <a href="#M000087">resource?</a>&nbsp;&nbsp; <a href="#M000090">to_s</a>&nbsp;&nbsp; <a href="#M000092">uri</a>&nbsp;&nbsp;</div>
</div>
</div>
<!-- if includes -->
<div id="section">
<div id="attribute-list">
<h3 class="section-bar">Attributes</h3>
<div class="name-list">
<table>
<tr class="top-aligned-row context-row">
<td class="context-item-name">node</td>
<td class="context-item-value">&nbsp;[R]&nbsp;</td>
<td class="context-item-desc"></td>
</tr>
</table>
</div>
</div>
<!-- if method_list -->
<div id="methods">
<h3 class="section-bar">Public Class methods</h3>
<div id="method-M000085" class="method-detail"><a name="M000085" id="M000085"></a>
<div class="method-heading"><a href="#M000085" class="method-signature"><span class="method-name">anon</span><span class="method-args">(id)</span></a></div>
<div class="method-description">
<p>Creates a <a href="Node.html#M000080">new</a> blank node with the specified ID (?? confirm)</p>
<p><a class="source-toggle" href="#" onclick="toggleCode('M000085-source');return false;">[Source]</a></p>
<div class="method-source-code" id="M000085-source">
<pre>
<span class="ruby-comment cmt"># File rdf/redland/node.rb, line 84</span>
    <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Node</span>.<span class="ruby-identifier">anon</span>(<span class="ruby-identifier">id</span>)
      <span class="ruby-identifier">n</span> = <span class="ruby-constant">Node</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">''</span>)
      <span class="ruby-identifier">n</span>.<span class="ruby-identifier">bnode</span>(<span class="ruby-identifier">id</span>)
      <span class="ruby-identifier">n</span>
    <span class="ruby-keyword kw">end</span>
</pre></div>
</div>
</div>
<div id="method-M000084" class="method-detail"><a name="M000084" id="M000084"></a>
<div class="method-heading"><a href="#M000084" class="method-signature"><span class="method-name">create_finalizer</span><span class="method-args">(node)</span></a></div>
<div class="method-description">
<p>You shouldn&lsquo;t use this. Used internally for cleanup.</p>
<p><a class="source-toggle" href="#" onclick="toggleCode('M000084-source');return false;">[Source]</a></p>
<div class="method-source-code" id="M000084-source">
<pre>
<span class="ruby-comment cmt"># File rdf/redland/node.rb, line 79</span>
    <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Node</span>.<span class="ruby-identifier">create_finalizer</span>(<span class="ruby-identifier">node</span>)
      <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>) }
    <span class="ruby-keyword kw">end</span>
</pre></div>
</div>
</div>
<div id="method-M000095" class="method-detail"><a name="M000095" id="M000095"></a>
<div class="method-heading"><a href="#M000095" class="method-signature"><span class="method-name">ensure</span><span class="method-args">(node)</span></a></div>
<div class="method-description">
<p>Ensures that the argument is a node by constructing one or returning nil (?? confirm)</p>
<p><a class="source-toggle" href="#" onclick="toggleCode('M000095-source');return false;">[Source]</a></p>
<div class="method-source-code" id="M000095-source">
<pre>
<span class="ruby-comment cmt"># File rdf/redland/node.rb, line 158</span>
    <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Node</span>.<span class="ruby-keyword kw">ensure</span>(<span class="ruby-identifier">node</span>)
      <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">node</span>
      <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Node</span>
        <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>)
      <span class="ruby-keyword kw">when</span> <span class="ruby-constant">SWIG</span><span class="ruby-operator">::</span><span class="ruby-constant">TYPE_p_librdf_node_s</span>
        <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-keyword kw">when</span> <span class="ruby-constant">Uri</span>
        <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>)
      <span class="ruby-keyword kw">when</span> <span class="ruby-constant">URI</span>
        <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>)
      <span class="ruby-keyword kw">else</span>
        <span class="ruby-identifier">my_node</span> = <span class="ruby-keyword kw">nil</span>
      <span class="ruby-keyword kw">end</span>
      <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">my_node</span>
    <span class="ruby-keyword kw">end</span>
</pre></div>
</div>
</div>
<div id="method-M000080" class="method-detail"><a name="M000080" id="M000080"></a>
<div class="method-heading"><a href="#M000080" class="method-signature"><span class="method-name">new</span><span class="method-args">(arg=nil)</span></a></div>
<div class="method-description">
<p>Create an RDF <a href="Node.html">Node</a></p>
<p><a href="Resource.html">Resource</a> or property node creation</p>
<pre>
  n1 = Node.new(Uri.new("http://example.com/foo"))
</pre>
<p>String <a href="Node.html#M000093">literal</a> node creation</p>
<pre>
  n2 = Node.new("foo")
</pre>
<p><a class="source-toggle" href="#" onclick="toggleCode('M000080-source');return false;">[Source]</a></p>
<div class="method-source-code" id="M000080-source">
<pre>
<span class="ruby-comment cmt"># File rdf/redland/node.rb, line 21</span>
    <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">arg</span>=<span class="ruby-keyword kw">nil</span>)
      <span class="ruby-keyword kw">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>
        <span class="ruby-identifier">temp</span> = <span class="ruby-identifier">arg</span>
        <span class="ruby-identifier">arg</span> = {}
        <span class="ruby-identifier">arg</span>[<span class="ruby-identifier">:literal</span>]= <span class="ruby-identifier">temp</span>
        <span class="ruby-ivar">@node</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">node_from_hash</span>(<span class="ruby-identifier">arg</span>)
      <span class="ruby-keyword kw">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>
        <span class="ruby-ivar">@node</span> = <span class="ruby-identifier">node_from_hash</span>(<span class="ruby-identifier">arg</span>)
      <span class="ruby-keyword kw">else</span>
        <span class="ruby-ivar">@node</span> = <span class="ruby-constant">Node</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">arg</span>)
      <span class="ruby-keyword kw">end</span>
      <span class="ruby-identifier">raise</span> <span class="ruby-constant">RedlandError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">"Node construction failed"</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">not</span> <span class="ruby-ivar">@node</span>
      <span class="ruby-constant">ObjectSpace</span>.<span class="ruby-identifier">define_finalizer</span>(<span class="ruby-keyword kw">self</span>,<span class="ruby-constant">Node</span>.<span class="ruby-identifier">create_finalizer</span>(<span class="ruby-ivar">@node</span>))
    <span class="ruby-keyword kw">end</span>
</pre></div>
</div>
</div>
<h3 class="section-bar">Public Instance methods</h3>
<div id="method-M000089" class="method-detail"><a name="M000089" id="M000089"></a>
<div class="method-heading"><a href="#M000089" class="method-signature"><span class="method-name">==</span><span class="method-args">(other)</span></a></div>
<div class="method-description">
<p>Equivalency. Only works for comparing two Nodes</p>
<p><a class="source-toggle" href="#" onclick="toggleCode('M000089-source');return false;">[Source]</a></p>
<div class="method-source-code" id="M000089-source">
<pre>
<span class="ruby-comment cmt"># File rdf/redland/node.rb, line 106</span>
    <span class="ruby-keyword kw">def</span> <span class="ruby-operator">==</span>(<span class="ruby-identifier">other</span>)
      <span class="ruby-keyword kw">return</span> (<span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_node_equals</span>(<span class="ruby-keyword kw">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>)
    <span class="ruby-keyword kw">end</span>
</pre></div>
</div>
</div>
<div id="method-M000088" class="method-detail"><a name="M000088" id="M000088"></a>
<div class="method-heading"><a href="#M000088" class="method-signature"><span class="method-name">blank?</span><span class="method-args">()</span></a></div>
<div class="method-description">
<p>Return true if node is a blank node</p>
<p><a class="source-toggle" href="#" onclick="toggleCode('M000088-source');return false;">[Source]</a></p>
<div class="method-source-code" id="M000088-source">
<pre>
<span class="ruby-comment cmt"># File rdf/redland/node.rb, line 101</span>
    <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">blank?</span>
      <span class="ruby-keyword kw">return</span> (<span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_node_is_blank</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">node</span>) <span class="ruby-operator">!=</span><span class="ruby-value">0</span>)
    <span class="ruby-keyword kw">end</span>
</pre></div>
</div>
</div>
<div id="method-M000094" class="method-detail"><a name="M000094" id="M000094"></a>
<div class="method-heading"><a href="#M000094" class="method-signature"><span class="method-name">blank_identifier</span><span class="method-args">()</span></a></div>
<div class="method-description">
<p>returns the blank identifier for this node if the internal model is a blank node</p>
<p><a class="source-toggle" href="#" onclick="toggleCode('M000094-source');return false;">[Source]</a></p>
<div class="method-source-code" id="M000094-source">
<pre>
<span class="ruby-comment cmt"># File rdf/redland/node.rb, line 148</span>
    <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">blank_identifier</span>()
      <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">blank?</span>
        <span class="ruby-identifier">raise</span> <span class="ruby-constant">NodeTypeError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">"Can't get blank identifier for node type %s"</span> <span class="ruby-operator">%</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">node_type</span>)
      <span class="ruby-keyword kw">else</span>
        <span class="ruby-keyword kw">return</span> <span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_node_get_blank_identifier</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">node</span>)
      <span class="ruby-keyword kw">end</span>
    <span class="ruby-keyword kw">end</span>
</pre></div>
</div>
</div>
<div id="method-M000083" class="method-detail"><a name="M000083" id="M000083"></a>
<div class="method-heading"><a href="#M000083" class="method-signature"><span class="method-name">bnode</span><span class="method-args">(id=nil)</span></a></div>
<div class="method-description">
<p>Sets this node&lsquo;s value to a blank node with the specified ID (?? confirm)</p>
<p><a class="source-toggle" href="#" onclick="toggleCode('M000083-source');return false;">[Source]</a></p>
<div class="method-source-code" id="M000083-source">
<pre>
<span class="ruby-comment cmt"># File rdf/redland/node.rb, line 74</span>
    <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">bnode</span>(<span class="ruby-identifier">id</span>=<span class="ruby-keyword kw">nil</span>)
      <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>)
    <span class="ruby-keyword kw">end</span>
</pre></div>
</div>
</div>
<div id="method-M000093" class="method-detail"><a name="M000093" id="M000093"></a>
<div class="method-heading"><a href="#M000093" class="method-signature"><span class="method-name">literal</span><span class="method-args">()</span></a></div>
<div class="method-description">
<p>returns a <a href="Literal.html">Literal</a> if the node is a <a href="Node.html#M000093">literal</a> type</p>
<p><a class="source-toggle" href="#" onclick="toggleCode('M000093-source');return false;">[Source]</a></p>
<div class="method-source-code" id="M000093-source">
<pre>
<span class="ruby-comment cmt"># File rdf/redland/node.rb, line 139</span>
    <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">literal</span>
      <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">literal?</span>
        <span class="ruby-identifier">raise</span> <span class="ruby-constant">NodeTypeError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">"Can't get literal value for node type %s"</span> <span class="ruby-operator">%</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">node_type</span>)
      <span class="ruby-keyword kw">end</span>
      <span class="ruby-keyword kw">return</span> <span class="ruby-constant">Literal</span>.<span class="ruby-identifier">from_node</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">node</span>)
    <span class="ruby-keyword kw">end</span>
</pre></div>
</div>
</div>
<div id="method-M000086" class="method-detail"><a name="M000086" id="M000086"></a>
<div class="method-heading"><a href="#M000086" class="method-signature"><span class="method-name">literal?</span><span class="method-args">()</span></a></div>
<div class="method-description">
<p>Return true if node is a <a href="Node.html#M000093">literal</a></p>
<p><a class="source-toggle" href="#" onclick="toggleCode('M000086-source');return false;">[Source]</a></p>
<div class="method-source-code" id="M000086-source">
<pre>
<span class="ruby-comment cmt"># File rdf/redland/node.rb, line 91</span>
    <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">literal?</span>
      <span class="ruby-keyword kw">return</span> (<span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_node_is_literal</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">node</span>) <span class="ruby-operator">!=</span><span class="ruby-value">0</span>)
    <span class="ruby-keyword kw">end</span>
</pre></div>
</div>
</div>
<div id="method-M000081" class="method-detail"><a name="M000081" id="M000081"></a>
<div class="method-heading"><a href="#M000081" class="method-signature"><span class="method-name">node_from_hash</span><span class="method-args">(hash)</span></a></div>
<div class="method-description">
<p>sets this node&lsquo;s value using a blank or URI extracted from a Hash (?? confirm)</p>
<p><a class="source-toggle" href="#" onclick="toggleCode('M000081-source');return false;">[Source]</a></p>
<div class="method-source-code" id="M000081-source">
<pre>
<span class="ruby-comment cmt"># File rdf/redland/node.rb, line 38</span>
    <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">node_from_hash</span>(<span class="ruby-identifier">hash</span>)
      <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hash</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">:blank</span>)
        <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-identifier">:blank</span>])
      <span class="ruby-keyword kw">end</span>
      <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hash</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">:from_object</span>)
        <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hash</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">:do_not_copy</span>)
          <span class="ruby-identifier">node</span> = <span class="ruby-identifier">hash</span>[<span class="ruby-identifier">:from_object</span>]
        <span class="ruby-keyword kw">else</span>
          <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-identifier">:from_object</span>])
        <span class="ruby-keyword kw">end</span>
      <span class="ruby-keyword kw">end</span>
      
      <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hash</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">:uri_string</span>)
        <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-identifier">:uri_string</span>])
      <span class="ruby-keyword kw">end</span>
      <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hash</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">:literal</span>)
        <span class="ruby-identifier">node</span> = <span class="ruby-identifier">node_from_literal</span>(<span class="ruby-identifier">hash</span>)
      <span class="ruby-keyword kw">end</span>
      <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">node</span>
    <span class="ruby-keyword kw">end</span>
</pre></div>
</div>
</div>
<div id="method-M000082" class="method-detail"><a name="M000082" id="M000082"></a>
<div class="method-heading"><a href="#M000082" class="method-signature"><span class="method-name">node_from_literal</span><span class="method-args">(hash)</span></a></div>
<div class="method-description">
<p>sets this node&lsquo;s value using a <a href="Node.html#M000093">literal</a> value extracted from a Hash (?? confirm)</p>
<p><a class="source-toggle" href="#" onclick="toggleCode('M000082-source');return false;">[Source]</a></p>
<div class="method-source-code" id="M000082-source">
<pre>
<span class="ruby-comment cmt"># File rdf/redland/node.rb, line 61</span>
    <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">node_from_literal</span>(<span class="ruby-identifier">hash</span>)
      <span class="ruby-identifier">xml_language</span> = <span class="ruby-identifier">hash</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">:xml_language</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">hash</span>[<span class="ruby-identifier">:xml_language</span>] <span class="ruby-operator">:</span> <span class="ruby-value str">""</span>
      <span class="ruby-identifier">wf_xml</span> = <span class="ruby-identifier">hash</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">: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>
      <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hash</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">:datatype</span>)
        <span class="ruby-identifier">datatype</span> = <span class="ruby-identifier">hash</span>[<span class="ruby-identifier">:datatype</span>]
        <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-identifier">:literal</span>],<span class="ruby-identifier">xml_language</span>,<span class="ruby-identifier">datatype</span>.<span class="ruby-identifier">uri</span>)
      <span class="ruby-keyword kw">else</span>
        <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-identifier">:literal</span>],<span class="ruby-identifier">xml_language</span>,<span class="ruby-identifier">wf_xml</span>)
      <span class="ruby-keyword kw">end</span>
      <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">node</span>
    <span class="ruby-keyword kw">end</span>
</pre></div>
</div>
</div>
<div id="method-M000091" class="method-detail"><a name="M000091" id="M000091"></a>
<div class="method-heading"><a href="#M000091" class="method-signature"><span class="method-name">node_type</span><span class="method-args">()</span></a></div>
<div class="method-description">
<p>Get the type of this node as a string (Node.node_types)</p>
<p><a class="source-toggle" href="#" onclick="toggleCode('M000091-source');return false;">[Source]</a></p>
<div class="method-source-code" id="M000091-source">
<pre>
<span class="ruby-comment cmt"># File rdf/redland/node.rb, line 125</span>
    <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">node_type</span>()
      <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@@node_types</span>[<span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_node_get_type</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">node</span>)]
    <span class="ruby-keyword kw">end</span>
</pre></div>
</div>
</div>
<div id="method-M000087" class="method-detail"><a name="M000087" id="M000087"></a>
<div class="method-heading"><a href="#M000087" class="method-signature"><span class="method-name">resource?</span><span class="method-args">()</span></a></div>
<div class="method-description">
<p>Return true if node is a resource with a URI</p>
<p><a class="source-toggle" href="#" onclick="toggleCode('M000087-source');return false;">[Source]</a></p>
<div class="method-source-code" id="M000087-source">
<pre>
<span class="ruby-comment cmt"># File rdf/redland/node.rb, line 96</span>
    <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resource?</span>
      <span class="ruby-keyword kw">return</span> (<span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_node_is_resource</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">node</span>) <span class="ruby-operator">!=</span><span class="ruby-value">0</span>)
    <span class="ruby-keyword kw">end</span>
</pre></div>
</div>
</div>
<div id="method-M000090" class="method-detail"><a name="M000090" id="M000090"></a>
<div class="method-heading"><a href="#M000090" class="method-signature"><span class="method-name">to_s</span><span class="method-args">()</span></a></div>
<div class="method-description">
<p>Convert this to a string</p>
<p><a class="source-toggle" href="#" onclick="toggleCode('M000090-source');return false;">[Source]</a></p>
<div class="method-source-code" id="M000090-source">
<pre>
<span class="ruby-comment cmt"># File rdf/redland/node.rb, line 111</span>
    <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
      <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">literal?</span>
        <span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_node_get_literal_value</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">node</span>)
      <span class="ruby-keyword kw">elsif</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">blank?</span>
        <span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_node_get_blank_identifier</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">node</span>)
      <span class="ruby-keyword kw">elsif</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">resource?</span>
        <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 kw">self</span>.<span class="ruby-identifier">node</span>)
        <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 kw">unless</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">nil?</span>
      <span class="ruby-keyword kw">else</span>
        <span class="ruby-keyword kw">nil</span>
      <span class="ruby-keyword kw">end</span>
    <span class="ruby-keyword kw">end</span>
</pre></div>
</div>
</div>
<div id="method-M000092" class="method-detail"><a name="M000092" id="M000092"></a>
<div class="method-heading"><a href="#M000092" class="method-signature"><span class="method-name">uri</span><span class="method-args">()</span></a></div>
<div class="method-description">
<p>return a copy of the internal <a href="Node.html#M000092">uri</a></p>
<p><a class="source-toggle" href="#" onclick="toggleCode('M000092-source');return false;">[Source]</a></p>
<div class="method-source-code" id="M000092-source">
<pre>
<span class="ruby-comment cmt"># File rdf/redland/node.rb, line 130</span>
    <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">uri</span>
      <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">resource?</span>
        <span class="ruby-keyword kw">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 kw">self</span>.<span class="ruby-identifier">node</span>))
      <span class="ruby-keyword kw">else</span>
        <span class="ruby-identifier">raise</span> <span class="ruby-constant">NodeTypeError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">"Can't get URI for node type %s"</span> <span class="ruby-operator">%</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">node_type</span>() )
      <span class="ruby-keyword kw">end</span>
    <span class="ruby-keyword kw">end</span>
</pre></div>
</div>
</div>
</div>
</div>
<hr />

<div class="outerHeader">
Go to <a href="/" target="_parent">Redland Home</a> - 
<a href="/bindings/" target="_parent">Language Bindings Home</a> - 
<a href="/docs/ruby.html" target="_parent">Ruby API Home</a>
</div>

<p>(C) Copyright 2004-2011 <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>

</div> <!-- end outerBlock -->

</body>
</html>