~ubuntu-branches/debian/sid/redland-bindings/sid

« back to all changes in this revision

Viewing changes to docs/rdoc/classes/Redland/Parser.html

  • Committer: Package Import Robot
  • Author(s): Dave Beckett
  • Date: 2013-01-22 16:03:44 UTC
  • mfrom: (0.1.10)
  • Revision ID: package-import@ubuntu.com-20130122160344-vxrnfl0xynfzbze7
Tags: 1.0.16.1-1
* New upstream release
* Add dpkg-buildflags to configure for hardening

Show diffs side-by-side

added added

removed removed

Lines of Context:
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">
5
 
<head>
6
 
<title>Redland RDF Application Framework - Ruby RDoc - Class: Redland::Parser</title>
7
 
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
8
 
<script type="text/javascript">
9
 
  // <![CDATA[
10
 
 
11
 
  function popupCode( url ) {
12
 
    window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
13
 
  }
14
 
 
15
 
  function toggleCode( id ) {
16
 
    if ( document.getElementById )
17
 
      elem = document.getElementById( id );
18
 
    else if ( document.all )
19
 
      elem = eval( "document.all." + id );
20
 
    else
21
 
      return false;
22
 
 
23
 
    elemStyle = elem.style;
24
 
    
25
 
    if ( elemStyle.display != "block" ) {
26
 
      elemStyle.display = "block"
27
 
    } else {
28
 
      elemStyle.display = "none"
29
 
    }
30
 
 
31
 
    return true;
32
 
  }
33
 
  
34
 
  // Make codeblocks hidden by default
35
 
  document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }<\/style>" )
36
 
  
37
 
  // ]]>
38
 
</script>
39
 
</head>
40
 
<body>
41
 
<div class="outerBlock">
42
 
 
43
 
<div class="outerHeader">
44
 
Go to <a href="/" target="_parent">Redland Home</a> - 
45
 
<a href="/bindings/" target="_parent">Language Bindings Home</a> - 
46
 
<a href="/docs/ruby.html" target="_parent">Ruby API Home</a>
47
 
</div>
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">Redland::Parser</td>
54
 
</tr>
55
 
<tr class="top-aligned-row">
56
 
<td><strong>In:</strong></td>
57
 
<td><a href="../../files/rdf/redland/parser_rb.html">rdf/redland/parser.rb</a><br /></td>
58
 
</tr>
59
 
<tr class="top-aligned-row">
60
 
<td><strong>Parent:</strong></td>
61
 
<td>Object</td>
62
 
</tr>
63
 
</table>
64
 
</div>
65
 
<!-- banner header -->
66
 
<div id="bodyContent">
67
 
<div id="contextContent">
68
 
<div id="description">
69
 
<p>The <a href="Parser.html">Parser</a> class for rdf. There are currently three types of parsers *&rsquo;rdfxml&rsquo;- a rdf parser *&rsquo;<a href="Parser.html#M000021">ntriples</a>&rsquo; a An triples parser *&rsquo;<a href="Parser.html#M000022">turtle</a>&rsquo; - a parser for the <a href="Parser.html#M000022">turtle</a> syntax as defined in</p>
70
 
<pre>
71
 
 http://www.dajobe.org/2004/01/turtle/
72
 
</pre>
73
 
<p>*&rsquo;rss-tag-soup&rsquo; - a parser for all RSS flavours and some atom *&rsquo;grddl&rsquo; - GRDDL</p>
74
 
<p>The last two may or may not be available depending on systems.</p>
75
 
<pre>
76
 
  model = Model.new()
77
 
  parser = Parser.ntriples()
78
 
  parser.parse_into_model(model,'file:./ical.rdf')
79
 
</pre></div>
80
 
</div>
81
 
<div id="method-list">
82
 
<h3 class="section-bar">Methods</h3>
83
 
<div class="name-list"><a href="#M000030">add_ident</a>&nbsp;&nbsp; <a href="#M000020">create_finalizer</a>&nbsp;&nbsp; <a href="#M000028">feature</a>&nbsp;&nbsp; <a href="#M000019">new</a>&nbsp;&nbsp; <a href="#M000021">ntriples</a>&nbsp;&nbsp; <a href="#M000024">parse_as_stream</a>&nbsp;&nbsp; <a href="#M000025">parse_into_model</a>&nbsp;&nbsp; <a href="#M000026">parse_string_as_stream</a>&nbsp;&nbsp; <a href="#M000027">parse_string_into_model</a>&nbsp;&nbsp; <a href="#M000023">raptor</a>&nbsp;&nbsp; <a href="#M000029">setFeature</a>&nbsp;&nbsp; <a href="#M000032">smush_file</a>&nbsp;&nbsp; <a href="#M000031">smush_string</a>&nbsp;&nbsp; <a href="#M000022">turtle</a>&nbsp;&nbsp;</div>
84
 
</div>
85
 
</div>
86
 
<!-- if includes -->
87
 
<div id="section">
88
 
<div id="attribute-list">
89
 
<h3 class="section-bar">Attributes</h3>
90
 
<div class="name-list">
91
 
<table>
92
 
<tr class="top-aligned-row context-row">
93
 
<td class="context-item-name">context</td>
94
 
<td class="context-item-value">&nbsp;[RW]&nbsp;</td>
95
 
<td class="context-item-desc"></td>
96
 
</tr>
97
 
</table>
98
 
</div>
99
 
</div>
100
 
<!-- if method_list -->
101
 
<div id="methods">
102
 
<h3 class="section-bar">Public Class methods</h3>
103
 
<div id="method-M000020" class="method-detail"><a name="M000020" id="M000020"></a>
104
 
<div class="method-heading"><a href="#M000020" class="method-signature"><span class="method-name">create_finalizer</span><span class="method-args">(parser)</span></a></div>
105
 
<div class="method-description">
106
 
<p><a class="source-toggle" href="#" onclick="toggleCode('M000020-source');return false;">[Source]</a></p>
107
 
<div class="method-source-code" id="M000020-source">
108
 
<pre>
109
 
<span class="ruby-comment cmt"># File rdf/redland/parser.rb, line 34</span>
110
 
    <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Parser</span>.<span class="ruby-identifier">create_finalizer</span>(<span class="ruby-identifier">parser</span>)
111
 
      <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-node">"Finalizer on #{id}"</span>
112
 
        <span class="ruby-comment cmt">#$log_final.info "closing parser"</span>
113
 
        <span class="ruby-constant">Redland</span><span class="ruby-operator">::</span><span class="ruby-identifier">librdf_free_parser</span>(<span class="ruby-identifier">parser</span>)
114
 
      }
115
 
    <span class="ruby-keyword kw">end</span>
116
 
</pre></div>
117
 
</div>
118
 
</div>
119
 
<div id="method-M000019" class="method-detail"><a name="M000019" id="M000019"></a>
120
 
<div class="method-heading"><a href="#M000019" class="method-signature"><span class="method-name">new</span><span class="method-args">(name='rdfxml',mime_type="application/rdf+xml",uri=nil,context=nil)</span></a></div>
121
 
<div class="method-description">
122
 
<p>create a <a href="Parser.html#M000019">new</a> <a href="Parser.html">Parser</a>. if no name is given, it defaults to parsing RDF/XML syntax</p>
123
 
<p><a class="source-toggle" href="#" onclick="toggleCode('M000019-source');return false;">[Source]</a></p>
124
 
<div class="method-source-code" id="M000019-source">
125
 
<pre>
126
 
<span class="ruby-comment cmt"># File rdf/redland/parser.rb, line 25</span>
127
 
    <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">name</span>=<span class="ruby-value str">'rdfxml'</span>,<span class="ruby-identifier">mime_type</span>=<span class="ruby-value str">"application/rdf+xml"</span>,<span class="ruby-identifier">uri</span>=<span class="ruby-keyword kw">nil</span>,<span class="ruby-identifier">context</span>=<span class="ruby-keyword kw">nil</span>)
128
 
      <span class="ruby-ivar">@context</span> = <span class="ruby-keyword kw">nil</span>
129
 
      <span class="ruby-ivar">@idents</span> = []
130
 
      <span class="ruby-identifier">uri</span>=<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">uri</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">uri</span>
131
 
      <span class="ruby-ivar">@parser</span> = <span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_new_parser</span>(<span class="ruby-identifier">$world</span>.<span class="ruby-identifier">world</span>,<span class="ruby-identifier">name</span>,<span class="ruby-identifier">mime_type</span>,<span class="ruby-identifier">uri</span>)
132
 
      <span class="ruby-identifier">raise</span> <span class="ruby-constant">RedlandError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">"Parser construction failed"</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@parser</span>
133
 
      <span class="ruby-constant">ObjectSpace</span>.<span class="ruby-identifier">define_finalizer</span>(<span class="ruby-keyword kw">self</span>,<span class="ruby-constant">Parser</span>.<span class="ruby-identifier">create_finalizer</span>(<span class="ruby-ivar">@parser</span>))
134
 
    <span class="ruby-keyword kw">end</span>
135
 
</pre></div>
136
 
</div>
137
 
</div>
138
 
<div id="method-M000021" class="method-detail"><a name="M000021" id="M000021"></a>
139
 
<div class="method-heading"><a href="#M000021" class="method-signature"><span class="method-name">ntriples</span><span class="method-args">(uri=nil)</span></a></div>
140
 
<div class="method-description">
141
 
<p>create a parser for the <a href="Parser.html#M000021">ntriples</a> syntax</p>
142
 
<p><a class="source-toggle" href="#" onclick="toggleCode('M000021-source');return false;">[Source]</a></p>
143
 
<div class="method-source-code" id="M000021-source">
144
 
<pre>
145
 
<span class="ruby-comment cmt"># File rdf/redland/parser.rb, line 42</span>
146
 
    <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Parser</span>.<span class="ruby-identifier">ntriples</span>(<span class="ruby-identifier">uri</span>=<span class="ruby-keyword kw">nil</span>)
147
 
      <span class="ruby-keyword kw">return</span> <span class="ruby-constant">Parser</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'ntriples'</span>,<span class="ruby-value str">""</span>,<span class="ruby-identifier">uri</span>)
148
 
    <span class="ruby-keyword kw">end</span>
149
 
</pre></div>
150
 
</div>
151
 
</div>
152
 
<div id="method-M000023" class="method-detail"><a name="M000023" id="M000023"></a>
153
 
<div class="method-heading"><a href="#M000023" class="method-signature"><span class="method-name">raptor</span><span class="method-args">(uri=nil)</span></a></div>
154
 
<div class="method-description">
155
 
<p>create a parser for rdf syntax</p>
156
 
<p><a class="source-toggle" href="#" onclick="toggleCode('M000023-source');return false;">[Source]</a></p>
157
 
<div class="method-source-code" id="M000023-source">
158
 
<pre>
159
 
<span class="ruby-comment cmt"># File rdf/redland/parser.rb, line 52</span>
160
 
    <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Parser</span>.<span class="ruby-identifier">raptor</span>(<span class="ruby-identifier">uri</span>=<span class="ruby-keyword kw">nil</span>)
161
 
      <span class="ruby-keyword kw">return</span> <span class="ruby-constant">Parser</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'rdfxml'</span>,<span class="ruby-value str">'application/rdf+xml'</span>,<span class="ruby-identifier">uri</span>)
162
 
    <span class="ruby-keyword kw">end</span>
163
 
</pre></div>
164
 
</div>
165
 
</div>
166
 
<div id="method-M000022" class="method-detail"><a name="M000022" id="M000022"></a>
167
 
<div class="method-heading"><a href="#M000022" class="method-signature"><span class="method-name">turtle</span><span class="method-args">(uri=nil)</span></a></div>
168
 
<div class="method-description">
169
 
<p>create a parser for the <a href="Parser.html#M000022">turtle</a> syntax</p>
170
 
<p><a class="source-toggle" href="#" onclick="toggleCode('M000022-source');return false;">[Source]</a></p>
171
 
<div class="method-source-code" id="M000022-source">
172
 
<pre>
173
 
<span class="ruby-comment cmt"># File rdf/redland/parser.rb, line 47</span>
174
 
    <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Parser</span>.<span class="ruby-identifier">turtle</span>(<span class="ruby-identifier">uri</span>=<span class="ruby-keyword kw">nil</span>)
175
 
      <span class="ruby-keyword kw">return</span> <span class="ruby-constant">Parser</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'turtle'</span>,<span class="ruby-value str">""</span>,<span class="ruby-identifier">uri</span>)
176
 
    <span class="ruby-keyword kw">end</span>
177
 
</pre></div>
178
 
</div>
179
 
</div>
180
 
<h3 class="section-bar">Public Instance methods</h3>
181
 
<div id="method-M000030" class="method-detail"><a name="M000030" id="M000030"></a>
182
 
<div class="method-heading"><a href="#M000030" class="method-signature"><span class="method-name">add_ident</span><span class="method-args">(node)</span></a></div>
183
 
<div class="method-description">
184
 
<p><a class="source-toggle" href="#" onclick="toggleCode('M000030-source');return false;">[Source]</a></p>
185
 
<div class="method-source-code" id="M000030-source">
186
 
<pre>
187
 
<span class="ruby-comment cmt"># File rdf/redland/parser.rb, line 165</span>
188
 
    <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_ident</span>(<span class="ruby-identifier">node</span>)
189
 
      <span class="ruby-ivar">@idents</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">node</span>
190
 
    <span class="ruby-keyword kw">end</span>
191
 
</pre></div>
192
 
</div>
193
 
</div>
194
 
<div id="method-M000028" class="method-detail"><a name="M000028" id="M000028"></a>
195
 
<div class="method-heading"><a href="#M000028" class="method-signature"><span class="method-name">feature</span><span class="method-args">(uri)</span></a></div>
196
 
<div class="method-description">
197
 
<p>Get a parser <a href="Parser.html#M000028">feature</a>. The <a href="Parser.html#M000028">feature</a> is a <a href="Uri.html">Uri</a></p>
198
 
<p><a class="source-toggle" href="#" onclick="toggleCode('M000028-source');return false;">[Source]</a></p>
199
 
<div class="method-source-code" id="M000028-source">
200
 
<pre>
201
 
<span class="ruby-comment cmt"># File rdf/redland/parser.rb, line 147</span>
202
 
    <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">feature</span>(<span class="ruby-identifier">uri</span>)
203
 
      <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">String</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">uri</span> = <span class="ruby-constant">Uri</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">uri</span>) <span class="ruby-keyword kw">end</span>
204
 
      <span class="ruby-identifier">value</span> = <span class="ruby-constant">Redland</span><span class="ruby-operator">::</span><span class="ruby-identifier">librdf_parser_get_feature</span>(<span class="ruby-ivar">@parser</span>,<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">uri</span>)
205
 
      <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">value</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"NULL"</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">value</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>
206
 
        <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
207
 
      <span class="ruby-keyword kw">else</span>
208
 
        <span class="ruby-keyword kw">return</span> <span class="ruby-constant">Node</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">:from_object=</span><span class="ruby-operator">&gt;</span><span class="ruby-identifier">value</span>)
209
 
      <span class="ruby-keyword kw">end</span>
210
 
    <span class="ruby-keyword kw">end</span>
211
 
</pre></div>
212
 
</div>
213
 
</div>
214
 
<div id="method-M000024" class="method-detail"><a name="M000024" id="M000024"></a>
215
 
<div class="method-heading"><a href="#M000024" class="method-signature"><span class="method-name">parse_as_stream</span><span class="method-args">(uri,base_uri=nil) {|stream.current| ...}</span></a></div>
216
 
<div class="method-description">
217
 
<p>Parse the given uri with optional base_uri and return a <a href="Stream.html">Stream</a>. If block_given, yield the <a href="Statement.html">Statement</a> instead Returns nil on failure.</p>
218
 
<p><a class="source-toggle" href="#" onclick="toggleCode('M000024-source');return false;">[Source]</a></p>
219
 
<div class="method-source-code" id="M000024-source">
220
 
<pre>
221
 
<span class="ruby-comment cmt"># File rdf/redland/parser.rb, line 59</span>
222
 
    <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_as_stream</span>(<span class="ruby-identifier">uri</span>,<span class="ruby-identifier">base_uri</span>=<span class="ruby-keyword kw">nil</span>)
223
 
      <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">String</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">uri</span> = <span class="ruby-constant">Uri</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">uri</span>) <span class="ruby-keyword kw">end</span>
224
 
      <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">base_uri</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">String</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">base_uri</span> = <span class="ruby-constant">Uri</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">base_uri</span>) <span class="ruby-keyword kw">end</span>
225
 
      <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">base_uri</span>
226
 
        <span class="ruby-identifier">my_stream</span> = <span class="ruby-constant">Redland</span><span class="ruby-operator">::</span><span class="ruby-identifier">librdf_parser_parse_as_stream</span> <span class="ruby-ivar">@parser</span>, <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">uri</span>, <span class="ruby-keyword kw">nil</span>
227
 
      <span class="ruby-keyword kw">else</span>
228
 
        <span class="ruby-identifier">my_stream</span> = <span class="ruby-constant">Redland</span><span class="ruby-operator">::</span><span class="ruby-identifier">librdf_parser_parse_as_stream</span> <span class="ruby-ivar">@parser</span>, <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">uri</span> ,<span class="ruby-identifier">base_uri</span>.<span class="ruby-identifier">uri</span>
229
 
      <span class="ruby-keyword kw">end</span>
230
 
      <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">my_stream</span>
231
 
      <span class="ruby-identifier">stream</span> = <span class="ruby-constant">Stream</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">my_stream</span>,<span class="ruby-keyword kw">self</span>)
232
 
      <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">block_given?</span>
233
 
        <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">stream</span>
234
 
      <span class="ruby-keyword kw">else</span>
235
 
        <span class="ruby-keyword kw">while</span> <span class="ruby-keyword kw">not</span> <span class="ruby-identifier">stream</span>.<span class="ruby-identifier">end?</span>
236
 
          <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">stream</span>.<span class="ruby-identifier">current</span>
237
 
          <span class="ruby-identifier">stream</span>.<span class="ruby-identifier">next</span>
238
 
        <span class="ruby-keyword kw">end</span>
239
 
      <span class="ruby-keyword kw">end</span>
240
 
    <span class="ruby-keyword kw">end</span>
241
 
</pre></div>
242
 
</div>
243
 
</div>
244
 
<div id="method-M000025" class="method-detail"><a name="M000025" id="M000025"></a>
245
 
<div class="method-heading"><a href="#M000025" class="method-signature"><span class="method-name">parse_into_model</span><span class="method-args">(model,uri,base_uri=nil,context=@context)</span></a></div>
246
 
<div class="method-description">
247
 
<p>Parse the syntax at the uri <a href="Uri.html">Uri</a> with optional base <a href="Uri.html">Uri</a> base_uri into <a href="Model.html">Model</a> model. If the base_uri is given then the content is parsed as if it was at the base_uri rather than the uri. If the optional context is given, the statement is added to the context</p>
248
 
<p>NOTE: The order of the arguments to this method is different from the C API and other language bindings.</p>
249
 
<p><a class="source-toggle" href="#" onclick="toggleCode('M000025-source');return false;">[Source]</a></p>
250
 
<div class="method-source-code" id="M000025-source">
251
 
<pre>
252
 
<span class="ruby-comment cmt"># File rdf/redland/parser.rb, line 85</span>
253
 
    <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_into_model</span>(<span class="ruby-identifier">model</span>,<span class="ruby-identifier">uri</span>,<span class="ruby-identifier">base_uri</span>=<span class="ruby-keyword kw">nil</span>,<span class="ruby-identifier">context</span>=<span class="ruby-ivar">@context</span>)
254
 
      <span class="ruby-comment cmt">#puts "parse_into_model context is #{context}"</span>
255
 
      <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">String</span>
256
 
        <span class="ruby-identifier">uri</span> = <span class="ruby-constant">Uri</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">uri</span>)
257
 
      <span class="ruby-keyword kw">end</span>
258
 
      <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">base_uri</span>
259
 
        <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">base_uri</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">String</span>
260
 
          <span class="ruby-identifier">base_uri</span> = <span class="ruby-constant">Uri</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">base_uri</span>)
261
 
        <span class="ruby-keyword kw">end</span>
262
 
      <span class="ruby-keyword kw">else</span>
263
 
        <span class="ruby-identifier">base_uri</span>=<span class="ruby-identifier">uri</span> 
264
 
      <span class="ruby-keyword kw">end</span>
265
 
      <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">not</span> <span class="ruby-identifier">context</span>
266
 
        <span class="ruby-keyword kw">begin</span>
267
 
          <span class="ruby-identifier">r</span> = <span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_parser_parse_into_model</span>(<span class="ruby-ivar">@parser</span>,<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">uri</span>,<span class="ruby-identifier">base_uri</span>.<span class="ruby-identifier">uri</span>,<span class="ruby-identifier">model</span>.<span class="ruby-identifier">model</span>)
268
 
        <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">RedlandError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">err</span>
269
 
          <span class="ruby-identifier">print</span> <span class="ruby-value str">"caught error"</span><span class="ruby-operator">+</span> <span class="ruby-identifier">err</span>
270
 
        <span class="ruby-keyword kw">end</span>
271
 
      <span class="ruby-keyword kw">else</span> <span class="ruby-comment cmt">#context</span>
272
 
        <span class="ruby-identifier">raise</span> <span class="ruby-constant">RedlandError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">"Cannot make a Node from an object of #{context.class}"</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">not</span> <span class="ruby-identifier">context</span>
273
 
        <span class="ruby-identifier">context</span> = <span class="ruby-constant">Node</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">context</span>)
274
 
        <span class="ruby-identifier">my_stream</span> = <span class="ruby-constant">Redland</span><span class="ruby-operator">::</span><span class="ruby-identifier">librdf_parser_parse_as_stream</span>(<span class="ruby-ivar">@parser</span>,<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">uri</span>,<span class="ruby-identifier">base_uri</span>.<span class="ruby-identifier">uri</span>)
275
 
        <span class="ruby-constant">Redland</span>.<span class="ruby-identifier">librdf_model_context_add_statements</span>(<span class="ruby-identifier">model</span>.<span class="ruby-identifier">model</span>,<span class="ruby-identifier">context</span>,<span class="ruby-identifier">my_stream</span>)
276
 
        <span class="ruby-comment cmt">#self.parse_as_stream(uri,base_uri){|s| model.add_statement(s,context)}</span>
277
 
      <span class="ruby-keyword kw">end</span>
278
 
 
279
 
    <span class="ruby-keyword kw">end</span>
280
 
</pre></div>
281
 
</div>
282
 
</div>
283
 
<div id="method-M000026" class="method-detail"><a name="M000026" id="M000026"></a>
284
 
<div class="method-heading"><a href="#M000026" class="method-signature"><span class="method-name">parse_string_as_stream</span><span class="method-args">(string,base_uri) {|stream.current| ...}</span></a></div>
285
 
<div class="method-description">
286
 
<p>Parse the syntax in string with required base <a href="Uri.html">Uri</a> base_uri</p>
287
 
<p>Returns a <a href="Stream.html">Stream</a> or yields <a href="Statement.html">Statement</a> if block given. Returns nil on failure.</p>
288
 
<p><a class="source-toggle" href="#" onclick="toggleCode('M000026-source');return false;">[Source]</a></p>
289
 
<div class="method-source-code" id="M000026-source">
290
 
<pre>
291
 
<span class="ruby-comment cmt"># File rdf/redland/parser.rb, line 118</span>
292
 
    <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_string_as_stream</span>(<span class="ruby-identifier">string</span>,<span class="ruby-identifier">base_uri</span>)
293
 
      <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">base_uri</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">String</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">base_uri</span> = <span class="ruby-constant">Uri</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">base_uri</span>) <span class="ruby-keyword kw">end</span>
294
 
      <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">not</span> <span class="ruby-identifier">base_uri</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">RedlandError</span>(<span class="ruby-value str">"A base URI is required when parsing a string"</span>) <span class="ruby-keyword kw">end</span>
295
 
      <span class="ruby-identifier">my_stream</span> = <span class="ruby-constant">Redland</span><span class="ruby-operator">::</span><span class="ruby-identifier">librdf_parser_parse_string_as_stream</span>(<span class="ruby-ivar">@parser</span>,<span class="ruby-identifier">string</span>,<span class="ruby-identifier">base_uri</span>.<span class="ruby-identifier">uri</span>)
296
 
      <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">my_stream</span>
297
 
      <span class="ruby-identifier">stream</span> = <span class="ruby-constant">Stream</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">my_stream</span>,<span class="ruby-keyword kw">self</span>)
298
 
      <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">stream</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">block_given?</span>
299
 
      <span class="ruby-keyword kw">while</span> <span class="ruby-keyword kw">not</span> <span class="ruby-identifier">stream</span>.<span class="ruby-identifier">end?</span>
300
 
        <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">stream</span>.<span class="ruby-identifier">current</span>
301
 
        <span class="ruby-identifier">stream</span>.<span class="ruby-identifier">next</span>
302
 
      <span class="ruby-keyword kw">end</span>
303
 
    <span class="ruby-keyword kw">end</span>
304
 
</pre></div>
305
 
</div>
306
 
</div>
307
 
<div id="method-M000027" class="method-detail"><a name="M000027" id="M000027"></a>
308
 
<div class="method-heading"><a href="#M000027" class="method-signature"><span class="method-name">parse_string_into_model</span><span class="method-args">(model,string,base_uri=nil,context=@context)</span></a></div>
309
 
<div class="method-description">
310
 
<p>Parse the syntax in String string with required <a href="Uri.html">Uri</a> base_uri into <a href="Model.html">Model</a> model. if context is given then the context information is stored as well</p>
311
 
<p>NOTE: The order of the arguments to this method is different from the C API and other language bindings.</p>
312
 
<p><a class="source-toggle" href="#" onclick="toggleCode('M000027-source');return false;">[Source]</a></p>
313
 
<div class="method-source-code" id="M000027-source">
314
 
<pre>
315
 
<span class="ruby-comment cmt"># File rdf/redland/parser.rb, line 136</span>
316
 
    <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_string_into_model</span>(<span class="ruby-identifier">model</span>,<span class="ruby-identifier">string</span>,<span class="ruby-identifier">base_uri</span>=<span class="ruby-keyword kw">nil</span>,<span class="ruby-identifier">context</span>=<span class="ruby-ivar">@context</span>)
317
 
      <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">base_uri</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">String</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">base_uri</span> = <span class="ruby-constant">Uri</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">base_uri</span>)<span class="ruby-keyword kw">end</span>
318
 
      <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">not</span> <span class="ruby-identifier">base_uri</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">RedlandError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">"A base URI is required when parsing a string"</span>) <span class="ruby-keyword kw">end</span>
319
 
      <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">not</span> <span class="ruby-identifier">context</span>
320
 
        <span class="ruby-keyword kw">return</span> (<span class="ruby-constant">Redland</span><span class="ruby-operator">::</span><span class="ruby-identifier">librdf_parser_parse_string_into_model</span>(<span class="ruby-ivar">@parser</span>,<span class="ruby-identifier">string</span>,<span class="ruby-identifier">base_uri</span>.<span class="ruby-identifier">uri</span>,<span class="ruby-identifier">model</span>.<span class="ruby-identifier">model</span>)<span class="ruby-operator">==</span> <span class="ruby-value">0</span>)
321
 
      <span class="ruby-keyword kw">else</span>
322
 
        <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">parse_string_as_stream</span>(<span class="ruby-ivar">@parser</span>,<span class="ruby-identifier">string</span>,<span class="ruby-identifier">base_uri</span>.<span class="ruby-identifier">uri</span>){<span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">model</span>.<span class="ruby-identifier">add_statement</span>(<span class="ruby-identifier">s</span>,<span class="ruby-identifier">context</span>)}
323
 
      <span class="ruby-keyword kw">end</span>        
324
 
    <span class="ruby-keyword kw">end</span>
325
 
</pre></div>
326
 
</div>
327
 
</div>
328
 
<div id="method-M000029" class="method-detail"><a name="M000029" id="M000029"></a>
329
 
<div class="method-heading"><a href="#M000029" class="method-signature"><span class="method-name">setFeature</span><span class="method-args">(uri,value)</span></a></div>
330
 
<div class="method-description">
331
 
<p>Set a parser <a href="Parser.html#M000028">feature</a>. The <a href="Parser.html#M000028">feature</a> is named <a href="Uri.html">Uri</a> uri and the value is a <a href="Node.html">Node</a>.</p>
332
 
<p><a class="source-toggle" href="#" onclick="toggleCode('M000029-source');return false;">[Source]</a></p>
333
 
<div class="method-source-code" id="M000029-source">
334
 
<pre>
335
 
<span class="ruby-comment cmt"># File rdf/redland/parser.rb, line 159</span>
336
 
    <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setFeature</span>(<span class="ruby-identifier">uri</span>,<span class="ruby-identifier">value</span>)
337
 
      <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">String</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">uri</span> = <span class="ruby-constant">Uri</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">uri</span>) <span class="ruby-keyword kw">end</span>
338
 
      <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">String</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">value</span> = <span class="ruby-constant">Node</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">:literal=</span><span class="ruby-operator">&gt;</span><span class="ruby-identifier">value</span>) <span class="ruby-keyword kw">end</span>
339
 
      <span class="ruby-keyword kw">return</span> (<span class="ruby-constant">Redland</span><span class="ruby-operator">::</span><span class="ruby-identifier">librdf_parser_set_feature</span>(<span class="ruby-ivar">@parser</span>,<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">uri</span>,<span class="ruby-identifier">value</span>.<span class="ruby-identifier">node</span>) <span class="ruby-operator">==</span> <span class="ruby-value">0</span>)
340
 
    <span class="ruby-keyword kw">end</span>
341
 
</pre></div>
342
 
</div>
343
 
</div>
344
 
<div id="method-M000032" class="method-detail"><a name="M000032" id="M000032"></a>
345
 
<div class="method-heading"><a href="#M000032" class="method-signature"><span class="method-name">smush_file</span><span class="method-args">(model,uri,base_uri=nil,context=nil,idents=@idents)</span></a></div>
346
 
<div class="method-description">
347
 
<p><a class="source-toggle" href="#" onclick="toggleCode('M000032-source');return false;">[Source]</a></p>
348
 
<div class="method-source-code" id="M000032-source">
349
 
<pre>
350
 
<span class="ruby-comment cmt"># File rdf/redland/parser.rb, line 190</span>
351
 
    <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">smush_file</span>(<span class="ruby-identifier">model</span>,<span class="ruby-identifier">uri</span>,<span class="ruby-identifier">base_uri</span>=<span class="ruby-keyword kw">nil</span>,<span class="ruby-identifier">context</span>=<span class="ruby-keyword kw">nil</span>,<span class="ruby-identifier">idents</span>=<span class="ruby-ivar">@idents</span>)
352
 
      <span class="ruby-identifier">to_change</span> = {}
353
 
      <span class="ruby-identifier">temp_model</span> = <span class="ruby-constant">Model</span>.<span class="ruby-identifier">new</span>()
354
 
      <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">parse_into_model</span>(<span class="ruby-identifier">temp_model</span>,<span class="ruby-identifier">uri</span>,<span class="ruby-identifier">base_uri</span>,<span class="ruby-identifier">context</span>)
355
 
      <span class="ruby-identifier">idents</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ident</span><span class="ruby-operator">|</span>
356
 
        <span class="ruby-identifier">temp_model</span>.<span class="ruby-identifier">find</span>(<span class="ruby-keyword kw">nil</span>,<span class="ruby-identifier">ident</span>,<span class="ruby-keyword kw">nil</span>){<span class="ruby-operator">|</span><span class="ruby-identifier">s</span>,<span class="ruby-identifier">p</span>,<span class="ruby-identifier">o</span><span class="ruby-operator">|</span>
357
 
          <span class="ruby-identifier">old_id</span> = <span class="ruby-identifier">s</span>
358
 
          <span class="ruby-identifier">new_id</span> = <span class="ruby-identifier">model</span>.<span class="ruby-identifier">subject</span>(<span class="ruby-identifier">p</span>,<span class="ruby-identifier">o</span>)
359
 
          <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">new_id</span>
360
 
            <span class="ruby-identifier">to_change</span>[<span class="ruby-identifier">old_id</span>.<span class="ruby-identifier">to_s</span>]= <span class="ruby-identifier">new_id</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">to_change</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">old_id</span>.<span class="ruby-identifier">to_s</span>)
361
 
          <span class="ruby-keyword kw">end</span>
362
 
        }
363
 
      <span class="ruby-keyword kw">end</span>
364
 
      <span class="ruby-comment cmt">#puts to_change</span>
365
 
      <span class="ruby-identifier">temp_model</span>.<span class="ruby-identifier">triples</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span>,<span class="ruby-identifier">p</span>,<span class="ruby-identifier">o</span><span class="ruby-operator">|</span>
366
 
        <span class="ruby-identifier">s</span> = <span class="ruby-identifier">to_change</span>[<span class="ruby-identifier">s</span>.<span class="ruby-identifier">to_s</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">to_change</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">s</span>.<span class="ruby-identifier">to_s</span>)
367
 
        <span class="ruby-identifier">model</span>.<span class="ruby-identifier">add</span>(<span class="ruby-identifier">s</span>,<span class="ruby-identifier">p</span>,<span class="ruby-identifier">o</span>,<span class="ruby-identifier">context</span>)
368
 
      <span class="ruby-keyword kw">end</span>
369
 
      
370
 
    <span class="ruby-keyword kw">end</span>
371
 
</pre></div>
372
 
</div>
373
 
</div>
374
 
<div id="method-M000031" class="method-detail"><a name="M000031" id="M000031"></a>
375
 
<div class="method-heading"><a href="#M000031" class="method-signature"><span class="method-name">smush_string</span><span class="method-args">(string,model,idents=@idents)</span></a></div>
376
 
<div class="method-description">
377
 
<p><a class="source-toggle" href="#" onclick="toggleCode('M000031-source');return false;">[Source]</a></p>
378
 
<div class="method-source-code" id="M000031-source">
379
 
<pre>
380
 
<span class="ruby-comment cmt"># File rdf/redland/parser.rb, line 169</span>
381
 
    <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">smush_string</span>(<span class="ruby-identifier">string</span>,<span class="ruby-identifier">model</span>,<span class="ruby-identifier">idents</span>=<span class="ruby-ivar">@idents</span>)
382
 
      <span class="ruby-identifier">to_change</span> = {}
383
 
      <span class="ruby-identifier">temp_model</span> = <span class="ruby-constant">Model</span>.<span class="ruby-identifier">new</span>()
384
 
      <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">parse_string_into_model</span>(<span class="ruby-identifier">temp_model</span>,<span class="ruby-identifier">string</span>,<span class="ruby-value str">'http://xml.com'</span>)
385
 
      <span class="ruby-identifier">idents</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ident</span><span class="ruby-operator">|</span>
386
 
        <span class="ruby-identifier">temp_model</span>.<span class="ruby-identifier">find</span>(<span class="ruby-keyword kw">nil</span>,<span class="ruby-identifier">ident</span>,<span class="ruby-keyword kw">nil</span>){<span class="ruby-operator">|</span><span class="ruby-identifier">s</span>,<span class="ruby-identifier">p</span>,<span class="ruby-identifier">o</span><span class="ruby-operator">|</span>
387
 
          <span class="ruby-identifier">old_id</span> = <span class="ruby-identifier">s</span>
388
 
          <span class="ruby-identifier">new_id</span> = <span class="ruby-identifier">model</span>.<span class="ruby-identifier">subject</span>(<span class="ruby-identifier">p</span>,<span class="ruby-identifier">o</span>)
389
 
          <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">new_id</span>
390
 
            <span class="ruby-identifier">to_change</span>[<span class="ruby-identifier">old_id</span>.<span class="ruby-identifier">to_s</span>]= <span class="ruby-identifier">new_id</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">to_change</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">old_id</span>.<span class="ruby-identifier">to_s</span>)
391
 
          <span class="ruby-keyword kw">end</span>
392
 
        }
393
 
      <span class="ruby-keyword kw">end</span>
394
 
      <span class="ruby-comment cmt">#puts to_change</span>
395
 
      <span class="ruby-identifier">temp_model</span>.<span class="ruby-identifier">triples</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span>,<span class="ruby-identifier">p</span>,<span class="ruby-identifier">o</span><span class="ruby-operator">|</span>
396
 
        <span class="ruby-identifier">s</span> = <span class="ruby-identifier">to_change</span>[<span class="ruby-identifier">s</span>.<span class="ruby-identifier">to_s</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">to_change</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">s</span>.<span class="ruby-identifier">to_s</span>)
397
 
        <span class="ruby-identifier">model</span>.<span class="ruby-identifier">add</span>(<span class="ruby-identifier">s</span>,<span class="ruby-identifier">p</span>,<span class="ruby-identifier">o</span>)
398
 
      <span class="ruby-keyword kw">end</span>
399
 
      
400
 
    <span class="ruby-keyword kw">end</span>
401
 
</pre></div>
402
 
</div>
403
 
</div>
404
 
</div>
405
 
</div>
406
 
<hr />
407
 
 
408
 
<div class="outerHeader">
409
 
Go to <a href="/" target="_parent">Redland Home</a> - 
410
 
<a href="/bindings/" target="_parent">Language Bindings Home</a> - 
411
 
<a href="/docs/ruby.html" target="_parent">Ruby API Home</a>
412
 
</div>
413
 
 
414
 
<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>
415
 
 
416
 
</div> <!-- end outerBlock -->
417
 
 
418
 
</body>
419
 
</html>