rdf-rdfa 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,38 @@
1
+ $:.unshift(File.dirname(__FILE__)) unless $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
2
+ require 'rdf'
3
+
4
+ module RDF
5
+ ##
6
+ # **`RDF::RDFa`** is an RDFa plugin for RDF.rb.
7
+ #
8
+ # @example Requiring the `RDF::RDFa` module
9
+ # require 'rdf/rdfa'
10
+ #
11
+ # @example Parsing RDF statements from an XHTML+RDFa file
12
+ # RDF::RDFa::Reader.open("etc/foaf.html") do |reader|
13
+ # reader.each_statement do |statement|
14
+ # puts statement.inspect
15
+ # end
16
+ # end
17
+ #
18
+ # @example Serializing RDF statements into a XHTML+RDFa file
19
+ # RDF::RDFa::Writer.open("etc/test.xml") do |writer|
20
+ # reader.each_statement do |statement|
21
+ # writer << statement
22
+ # end
23
+ # end
24
+ #
25
+ # @see http://rdf.rubyforge.org/
26
+ # @see http://www.w3.org/TR/xhtml-rdfa-primer/
27
+ # @see http://www.w3.org/2010/02/rdfa/wiki/Main_Page
28
+ # @see http://www.w3.org/TR/2010/WD-rdfa-core-20100422/
29
+ # @see http://www.w3.org/TR/2010/WD-xhtml-rdfa-20100422/
30
+ #
31
+ # @author [Gregg Kellogg](http://kellogg-assoc.com/)
32
+ module RDFa
33
+ require 'rdfa/format'
34
+ autoload :Reader, 'rdf/rdfa/reader'
35
+ autoload :Writer, 'rdf/rdfa/writer'
36
+ autoload :VERSION, 'rdf/rdfa/version'
37
+ end
38
+ end\
@@ -0,0 +1,28 @@
1
+ module RDF::RDFa
2
+ ##
3
+ # RDFa format specification.
4
+ #
5
+ # @example Obtaining an RDFa format class
6
+ # RDF::Format.for(:rdfa) #=> RDF::RDFa::Format
7
+ # RDF::Format.for("etc/foaf.html")
8
+ # RDF::Format.for(:file_name => "etc/foaf.html")
9
+ # RDF::Format.for(:file_extension => "html")
10
+ # RDF::Format.for(:content_type => "text/html")
11
+ # RDF::Format.for(:content_type => "application/xhtml+xml")
12
+ #
13
+ # @example Obtaining serialization format MIME types
14
+ # RDF::Format.content_types #=> {"text/html" => [RDF::RDFa::Format]}
15
+ #
16
+ # @example Obtaining serialization format file extension mappings
17
+ # RDF::Format.file_extensions #=> {:xhtml => "application/xhtml+xml"}
18
+ #
19
+ # @see http://www.w3.org/TR/rdf-testcases/#ntriples
20
+ class Format < RDF::Format
21
+ content_type 'text/html', :extension => :html
22
+ content_type 'application/xhtml+xml', :extension => :xhtml
23
+ content_encoding 'utf-8'
24
+
25
+ reader { RDF::RDFa::Reader }
26
+ XMLNS = 'http://www.w3.org/1999/xhtml' # FIXME: This or XHV or none at all?
27
+ end
28
+ end
@@ -1,20 +1,15 @@
1
- require 'nokogiri'
1
+ require 'nokogiri' # FIXME: Implement using different modules as in RDF::TriX
2
2
  require 'rdf'
3
+ require 'rdf/rdfa/vocab'
3
4
 
4
5
  module RDF::RDFa
5
6
  ##
6
7
  # An RDFa parser in Ruby
7
8
  #
8
- # Based on processing rules described here:
9
- # file:///Users/gregg/Projects/rdf_context/RDFa%20Core%201.1.html#sequence
10
- #
11
- # Ben Adida
12
- # 2008-05-07
13
- # Gregg Kellogg
14
- # 2009-08-04
9
+ # @author [Gregg Kellogg](http://kellogg-assoc.com/)
15
10
  class Reader < RDF::Reader
16
- autoload :Namespace, 'rdfa/reader/namespace'
17
- autoload :VERSION, 'rdfa/reader/version'
11
+ format Format
12
+ autoload :VERSION, 'rdf/rdfa/version'
18
13
 
19
14
  NC_REGEXP = Regexp.new(
20
15
  %{^
@@ -29,24 +24,8 @@ module RDF::RDFa
29
24
  $},
30
25
  Regexp::EXTENDED)
31
26
 
32
- #XML_LITERAL = Literal::Encoding.xmlliteral
33
27
  XML_LITERAL = RDF['XMLLiteral']
34
28
 
35
-
36
- # FIXME: use RDF::URI.qname instead
37
- RDF_NS = Namespace.new("http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdf")
38
- RDFA_NS = Namespace.new("http://www.w3.org/ns/rdfa#", "rdfa")
39
- RDFS_NS = Namespace.new("http://www.w3.org/2000/01/rdf-schema#", "rdfs")
40
- XHV_NS = Namespace.new("http://www.w3.org/1999/xhtml/vocab#", "xhv")
41
- XML_NS = Namespace.new("http://www.w3.org/XML/1998/namespace", "xml")
42
- XSD_NS = Namespace.new("http://www.w3.org/2001/XMLSchema#", "xsd")
43
- XSI_NS = Namespace.new("http://www.w3.org/2001/XMLSchema-instance", "xsi")
44
- XH_MAPPING = {"" => Namespace.new("http://www.w3.org/1999/xhtml/vocab\#", nil)}
45
-
46
-
47
- require 'rdfa/format'
48
- format RDFa::Format
49
-
50
29
  attr_reader :debug
51
30
 
52
31
  ##
@@ -124,8 +103,6 @@ module RDF::RDFa
124
103
  end
125
104
  end
126
105
 
127
-
128
-
129
106
  # Parse XHTML+RDFa document from a string or input stream to closure or graph.
130
107
  #
131
108
  # If the parser is called with a block, triples are passed to the block rather
@@ -159,8 +136,6 @@ module RDF::RDFa
159
136
  @base_uri = RDF::URI.parse(@base_uri) if @base_uri.is_a?(String)
160
137
  @named_bnodes = {}
161
138
  @@vocabulary_cache ||= {}
162
- @nsbinding = {}
163
- @uri_binding = {}
164
139
 
165
140
  @doc = case input
166
141
  when Nokogiri::HTML::Document then input
@@ -183,14 +158,13 @@ module RDF::RDFa
183
158
  @host_defaults = {}
184
159
  @host_defaults = case @host_language
185
160
  when :xhtml
186
- bind(XHV_NS)
187
161
  {
188
- :vocabulary => XHV_NS.uri,
189
- :prefix => XHV_NS,
162
+ :vocabulary => RDF::XHV["uri"],
163
+ :prefix => "xhv",
190
164
  :term_mappings => %w(
191
165
  alternate appendix bookmark cite chapter contents copyright first glossary help icon index
192
166
  last license meta next p3pv1 prev role section stylesheet subsection start top up
193
- ).inject({}) { |hash, term| hash[term] = XHV_NS.send("#{term}_"); hash },
167
+ ).inject({}) { |hash, term| hash[term] = RDF::XHV[term]; hash },
194
168
  }
195
169
  else
196
170
  {}
@@ -203,6 +177,7 @@ module RDF::RDFa
203
177
  end
204
178
 
205
179
 
180
+ # XXX Invoke the parser, and allow add_triple to make the callback?
206
181
  ##
207
182
  # Iterates the given block for each RDF statement in the input.
208
183
  #
@@ -224,27 +199,6 @@ module RDF::RDFa
224
199
  def each_triple(&block)
225
200
  @graph.each_triple(&block)
226
201
  end
227
-
228
- # Bind namespace to store, returns bound namespace
229
- def bind(namespace)
230
- # Over-write an empty prefix
231
- uri = namespace.uri.to_s
232
- @uri_binding.delete(uri)
233
- @nsbinding.delete_if {|prefix, ns| namespace.prefix == prefix}
234
-
235
- @uri_binding[uri] = namespace
236
- @nsbinding[namespace.prefix.to_s] = namespace
237
- end
238
-
239
- # Namespace for prefix
240
- def namespace(prefix)
241
- @nsbinding[prefix.to_s]
242
- end
243
-
244
- # Prefix for namespace
245
- def prefix(namespace)
246
- namespace.is_a?(Namespace) ? @uri_binding[namespace.uri.to_s].prefix : @uri_binding[namespace].prefix
247
- end
248
202
 
249
203
  private
250
204
 
@@ -266,26 +220,19 @@ module RDF::RDFa
266
220
  @debug << "#{node_path(node)}: #{message}" if @debug.is_a?(Array)
267
221
  end
268
222
 
269
- # add a triple, object can be literal or URI or bnode
270
- #
271
- # If the parser is called with a block, triples are passed to the block rather
272
- # than added to the graph.
223
+ # add a statement, object can be literal or URI or bnode
273
224
  #
274
225
  # @param [Nokogiri::XML::Node, any] node:: XML Node or string for showing context
275
- # @param [URI, BNode] subject:: the subject of the triple
276
- # @param [URI] predicate:: the predicate of the triple
277
- # @param [URI, BNode, Literal] object:: the object of the triple
278
- # @return [Array]:: An array of the triples (leaky abstraction? consider returning the graph instead)
279
- # @raise [Error]:: Checks parameter types and raises if they are incorrect if parsing mode is _strict_.
226
+ # @param [URI, BNode] subject:: the subject of the statement
227
+ # @param [URI] predicate:: the predicate of the statement
228
+ # @param [URI, BNode, Literal] object:: the object of the statement
229
+ # @return [Statement]:: Added statement
230
+ # @raise [Exception]:: Checks parameter types and raises if they are incorrect if parsing mode is _strict_.
280
231
  def add_triple(node, subject, predicate, object)
281
- triple = RDF::Statement.new(subject, predicate, object)
282
- add_debug(node, "triple: #{triple}")
283
- if @callback
284
- @callback.call(triple) # Perform yield to saved block
285
- else
286
- @graph << triple
287
- end
288
- triple
232
+ statement = RDF::Statement.new(subject, predicate, object)
233
+ add_debug(node, "statement: #{statement}")
234
+ @graph << statement
235
+ statement
289
236
  # FIXME: rescue RdfException => e
290
237
  rescue Exception => e
291
238
  add_debug(node, "add_triple raised #{e.class}: #{e.message}")
@@ -355,9 +302,9 @@ module RDF::RDFa
355
302
 
356
303
  # If one of the objects is not a Literal or if there are additional rdfa:uri or rdfa:term
357
304
  # predicates sharing the same subject, no mapping is created.
358
- uri = props[RDFA_NS.uri.to_s]
359
- term = props[RDFA_NS.term_.to_s]
360
- prefix = props[RDFA_NS.prefix_.to_s]
305
+ uri = props[RDF::RDFA["uri"].to_s]
306
+ term = props[RDF::RDFA["term"].to_s]
307
+ prefix = props[RDF::RDFA["prefix"].to_s]
361
308
  add_debug(element, "extract_mappings: uri=#{uri.inspect}, term=#{term.inspect}, prefix=#{prefix.inspect}")
362
309
 
363
310
  next if !uri || (!term && !prefix)
@@ -377,12 +324,12 @@ module RDF::RDFa
377
324
  # object literal of the rdfa:uri predicate. Add or update this mapping in the local list of
378
325
  # URI mappings after transforming the 'prefix' component to lower-case.
379
326
  # For every extracted
380
- um[prefix.to_s.downcase] = bind(Namespace.new(uri.to_s, prefix.to_s.downcase)) if prefix
327
+ um[prefix.to_s.downcase] = RDF::URI.new(uri) if prefix
381
328
 
382
329
  # triple that is the common subject of an rdfa:term and an rdfa:uri predicate, create a
383
330
  # mapping from the object literal of the rdfa:term predicate to the object literal of the
384
331
  # rdfa:uri predicate. Add or update this mapping in the local term mappings.
385
- tm[term.to_s] = RDF::URI.new(uri.to_s) if term
332
+ tm[term.to_s] = RDF::URI.new(uri) if term
386
333
  end
387
334
  rescue ParserException
388
335
  add_debug(element, "extract_mappings: profile subject #{subject.to_s}: #{e.message}")
@@ -406,7 +353,7 @@ module RDF::RDFa
406
353
  element.namespaces.each do |attr_name, attr_value|
407
354
  begin
408
355
  abbr, prefix = attr_name.split(":")
409
- uri_mappings[prefix.to_s.downcase] = bind(Namespace.new(attr_value, prefix.to_s.downcase)) if abbr.downcase == "xmlns" && prefix
356
+ uri_mappings[prefix.to_s.downcase] = RDF::URI.new(attr_value) if abbr.downcase == "xmlns" && prefix
410
357
  # FIXME: rescue RdfException => e
411
358
  rescue Exception => e
412
359
  add_debug(element, "extract_mappings raised #{e.class}: #{e.message}")
@@ -425,7 +372,7 @@ module RDF::RDFa
425
372
  next unless prefix.match(/:$/)
426
373
  prefix.chop!
427
374
 
428
- uri_mappings[prefix] = bind(Namespace.new(uri, prefix))
375
+ uri_mappings[prefix] = RDF::URI.new(uri)
429
376
  end
430
377
 
431
378
  add_debug(element, "uri_mappings: #{uri_mappings.values.map{|ns|ns.to_s}.join(", ")}")
@@ -481,7 +428,7 @@ module RDF::RDFa
481
428
  # Set default_vocabulary to host language default
482
429
  @host_defaults.fetch(:voabulary, nil)
483
430
  else
484
- vocab.to_s
431
+ RDF::URI.new(vocab)
485
432
  end
486
433
  add_debug(element, "[Step 2] traverse, default_vocaulary: #{default_vocabulary.inspect}")
487
434
  end
@@ -498,8 +445,8 @@ module RDF::RDFa
498
445
  # attribute in no namespace must be ignored for the purposes of determining the element's
499
446
  # language.
500
447
  language = case
501
- when element.at_xpath("@xml:lang", "xml" => XML_NS.uri.to_s)
502
- element.at_xpath("@xml:lang", "xml" => XML_NS.uri.to_s).to_s
448
+ when element.at_xpath("@xml:lang", "xml" => RDF::XML["uri"].to_s)
449
+ element.at_xpath("@xml:lang", "xml" => RDF::XML["uri"].to_s).to_s
503
450
  when element.at_xpath("lang")
504
451
  element.at_xpath("lang").to_s
505
452
  else
@@ -735,7 +682,7 @@ module RDF::RDFa
735
682
  add_debug(element, "process_uri: #{value} => CURIE => <#{uri}>")
736
683
  else
737
684
  #FIXME: uri = URIRef.new(value, evaluation_context.base)
738
- uri = RDF::URI.new(value)
685
+ uri = RDF::URI.new(evaluation_context.base + value)
739
686
  add_debug(element, "process_uri: #{value} => URI => <#{uri}>")
740
687
  end
741
688
  uri
@@ -756,7 +703,7 @@ module RDF::RDFa
756
703
  options[:term_mappings][value.to_s.downcase]
757
704
  when options[:vocab]
758
705
  # Otherwise, if there is a local default vocabulary the URI is obtained by concatenating that value and the term.
759
- options[:vocab] + value
706
+ options[:vocab].join(value)
760
707
  else
761
708
  # Finally, if there is no local default vocabulary, the term has no associated URI and must be ignored.
762
709
  nil
@@ -765,7 +712,7 @@ module RDF::RDFa
765
712
 
766
713
  # From section 6. CURIE Syntax Definition
767
714
  def curie_to_resource_or_bnode(element, curie, uri_mappings, subject)
768
- # URI mappings for CURIEs default to XH_MAPPING, rather than the default doc namespace
715
+ # URI mappings for CURIEs default to XHV, rather than the default doc namespace
769
716
  prefix, reference = curie.to_s.split(":")
770
717
 
771
718
  # consider the bnode situation
@@ -776,18 +723,18 @@ module RDF::RDFa
776
723
  elsif curie.to_s.match(/^:/)
777
724
  # Default prefix
778
725
  if uri_mappings[""]
779
- uri_mappings[""].send("#{reference}_")
726
+ uri_mappings[""].join(reference)
780
727
  elsif @host_defaults[:prefix]
781
- @host_defaults[:prefix].send("#{reference}_")
728
+ @host_defaults[:prefix].join(reference)
782
729
  end
783
730
  elsif !curie.to_s.match(/:/)
784
731
  # No prefix, undefined (in this context, it is evaluated as a term elsewhere)
785
732
  nil
786
733
  else
787
- # XXX Spec Confusion, are prefixes always downcased?
734
+ # Prefixes always downcased
788
735
  ns = uri_mappings[prefix.to_s.downcase]
789
736
  if ns
790
- ns + reference
737
+ ns.join(reference)
791
738
  else
792
739
  add_debug(element, "curie_to_resource_or_bnode No namespace mapping for #{prefix.downcase}")
793
740
  nil
@@ -1,8 +1,8 @@
1
1
  module RDFa
2
2
  module VERSION
3
3
  MAJOR = 0
4
- MINOR = 1
5
- TINY = 0
4
+ MINOR = 0
5
+ TINY = 2
6
6
  EXTRA = nil
7
7
 
8
8
  STRING = [MAJOR, MINOR, TINY].join('.')
@@ -0,0 +1,7 @@
1
+ module RDF
2
+ class RDFA < Vocabulary("http://www.w3.org/ns/rdfa#"); end
3
+ class XHV < Vocabulary("http://www.w3.org/1999/xhtml/vocab#"); end
4
+ class XML < Vocabulary("http://www.w3.org/XML/1998/namespace"); end
5
+ class XSI < Vocabulary("http://www.w3.org/2001/XMLSchema-instance"); end
6
+ class OWL < Vocabulary("http://www.w3.org/2002/07/owl#"); end
7
+ end
@@ -0,0 +1 @@
1
+ /*.gem
@@ -0,0 +1,195 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{rdf-rdfa}
8
+ s.version = "0.0.2"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Gregg Kellogg", "Nicholas Humfrey"]
12
+ s.date = %q{2010-06-03}
13
+ s.description = %q{ RDF::RDFa is an RDFa parser for Ruby using the RDF.rb library suite.
14
+ }
15
+ s.email = %q{gregg@kellogg-assoc.com}
16
+ s.extra_rdoc_files = [
17
+ "AUTHORS",
18
+ "History.txt",
19
+ "README.rdoc"
20
+ ]
21
+ s.files = [
22
+ "AUTHORS",
23
+ "History.txt",
24
+ "README.rdoc",
25
+ "Rakefile",
26
+ "VERSION",
27
+ "etc/foaf.html",
28
+ "etc/xhv.html",
29
+ "example.rb",
30
+ "lib/rdf/rdfa.rb",
31
+ "lib/rdf/rdfa/format.rb",
32
+ "lib/rdf/rdfa/reader.rb",
33
+ "lib/rdf/rdfa/reader/exceptions.rb",
34
+ "lib/rdf/rdfa/version.rb",
35
+ "lib/rdf/rdfa/vocab.rb",
36
+ "pkg/.gitignore",
37
+ "rdf-rdfa.gemspec",
38
+ "script/console",
39
+ "spec/rdfa-triples/0001.nt",
40
+ "spec/rdfa-triples/0006.nt",
41
+ "spec/rdfa-triples/0007.nt",
42
+ "spec/rdfa-triples/0008.nt",
43
+ "spec/rdfa-triples/0009.nt",
44
+ "spec/rdfa-triples/0010.nt",
45
+ "spec/rdfa-triples/0011.nt",
46
+ "spec/rdfa-triples/0012.nt",
47
+ "spec/rdfa-triples/0013.nt",
48
+ "spec/rdfa-triples/0014.nt",
49
+ "spec/rdfa-triples/0015.nt",
50
+ "spec/rdfa-triples/0017.nt",
51
+ "spec/rdfa-triples/0018.nt",
52
+ "spec/rdfa-triples/0019.nt",
53
+ "spec/rdfa-triples/0020.nt",
54
+ "spec/rdfa-triples/0021.nt",
55
+ "spec/rdfa-triples/0023.nt",
56
+ "spec/rdfa-triples/0025.nt",
57
+ "spec/rdfa-triples/0026.nt",
58
+ "spec/rdfa-triples/0027.nt",
59
+ "spec/rdfa-triples/0029.nt",
60
+ "spec/rdfa-triples/0030.nt",
61
+ "spec/rdfa-triples/0031.nt",
62
+ "spec/rdfa-triples/0032.nt",
63
+ "spec/rdfa-triples/0033.nt",
64
+ "spec/rdfa-triples/0034.nt",
65
+ "spec/rdfa-triples/0035.nt",
66
+ "spec/rdfa-triples/0036.nt",
67
+ "spec/rdfa-triples/0037.nt",
68
+ "spec/rdfa-triples/0038.nt",
69
+ "spec/rdfa-triples/0039.nt",
70
+ "spec/rdfa-triples/0040.nt",
71
+ "spec/rdfa-triples/0041.nt",
72
+ "spec/rdfa-triples/0042.nt",
73
+ "spec/rdfa-triples/0046.nt",
74
+ "spec/rdfa-triples/0047.nt",
75
+ "spec/rdfa-triples/0048.nt",
76
+ "spec/rdfa-triples/0049.nt",
77
+ "spec/rdfa-triples/0050.nt",
78
+ "spec/rdfa-triples/0051.nt",
79
+ "spec/rdfa-triples/0052.nt",
80
+ "spec/rdfa-triples/0053.nt",
81
+ "spec/rdfa-triples/0054.nt",
82
+ "spec/rdfa-triples/0055.nt",
83
+ "spec/rdfa-triples/0056.nt",
84
+ "spec/rdfa-triples/0057.nt",
85
+ "spec/rdfa-triples/0058.nt",
86
+ "spec/rdfa-triples/0059.nt",
87
+ "spec/rdfa-triples/0060.nt",
88
+ "spec/rdfa-triples/0061.nt",
89
+ "spec/rdfa-triples/0062.nt",
90
+ "spec/rdfa-triples/0063.nt",
91
+ "spec/rdfa-triples/0064.nt",
92
+ "spec/rdfa-triples/0065.nt",
93
+ "spec/rdfa-triples/0066.nt",
94
+ "spec/rdfa-triples/0067.nt",
95
+ "spec/rdfa-triples/0068.nt",
96
+ "spec/rdfa-triples/0069.nt",
97
+ "spec/rdfa-triples/0070.nt",
98
+ "spec/rdfa-triples/0071.nt",
99
+ "spec/rdfa-triples/0072.nt",
100
+ "spec/rdfa-triples/0073.nt",
101
+ "spec/rdfa-triples/0074.nt",
102
+ "spec/rdfa-triples/0075.nt",
103
+ "spec/rdfa-triples/0076.nt",
104
+ "spec/rdfa-triples/0077.nt",
105
+ "spec/rdfa-triples/0078.nt",
106
+ "spec/rdfa-triples/0079.nt",
107
+ "spec/rdfa-triples/0080.nt",
108
+ "spec/rdfa-triples/0081.nt",
109
+ "spec/rdfa-triples/0082.nt",
110
+ "spec/rdfa-triples/0083.nt",
111
+ "spec/rdfa-triples/0084.nt",
112
+ "spec/rdfa-triples/0085.nt",
113
+ "spec/rdfa-triples/0086.nt",
114
+ "spec/rdfa-triples/0087.nt",
115
+ "spec/rdfa-triples/0088.nt",
116
+ "spec/rdfa-triples/0089.nt",
117
+ "spec/rdfa-triples/0090.nt",
118
+ "spec/rdfa-triples/0091.nt",
119
+ "spec/rdfa-triples/0092.nt",
120
+ "spec/rdfa-triples/0093.nt",
121
+ "spec/rdfa-triples/0094.nt",
122
+ "spec/rdfa-triples/0099.nt",
123
+ "spec/rdfa-triples/0100.nt",
124
+ "spec/rdfa-triples/0101.nt",
125
+ "spec/rdfa-triples/0102.nt",
126
+ "spec/rdfa-triples/0103.nt",
127
+ "spec/rdfa-triples/0104.nt",
128
+ "spec/rdfa-triples/0105.nt",
129
+ "spec/rdfa-triples/0106.nt",
130
+ "spec/rdfa-triples/0107.nt",
131
+ "spec/rdfa-triples/0108.nt",
132
+ "spec/rdfa-triples/0109.nt",
133
+ "spec/rdfa-triples/0110.nt",
134
+ "spec/rdfa-triples/0111.nt",
135
+ "spec/rdfa-triples/0112.nt",
136
+ "spec/rdfa-triples/0113.nt",
137
+ "spec/rdfa-triples/0114.nt",
138
+ "spec/rdfa-triples/0115.nt",
139
+ "spec/rdfa-triples/0116.nt",
140
+ "spec/rdfa-triples/0117.nt",
141
+ "spec/rdfa-triples/0118.nt",
142
+ "spec/rdfa-triples/0119.nt",
143
+ "spec/rdfa-triples/0120.nt",
144
+ "spec/rdfa-triples/0121.nt",
145
+ "spec/rdfa-triples/0122.nt",
146
+ "spec/rdfa-triples/0123.nt",
147
+ "spec/rdfa-triples/0124.nt",
148
+ "spec/rdfa-triples/0125.nt",
149
+ "spec/rdfa-triples/0126.nt",
150
+ "spec/rdfa-triples/1001.nt",
151
+ "spec/rdfa_helper.rb",
152
+ "spec/rdfa_reader_spec.rb",
153
+ "spec/spec.opts",
154
+ "spec/spec_helper.rb"
155
+ ]
156
+ s.homepage = %q{http://github.com/gkellogg/rdf-rdfa}
157
+ s.rdoc_options = ["--charset=UTF-8"]
158
+ s.require_paths = ["lib"]
159
+ s.rubygems_version = %q{1.3.7}
160
+ s.summary = %q{RDFa parser for RDF.rb.}
161
+ s.test_files = [
162
+ "spec/rdfa_helper.rb",
163
+ "spec/rdfa_reader_spec.rb",
164
+ "spec/spec_helper.rb"
165
+ ]
166
+
167
+ if s.respond_to? :specification_version then
168
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
169
+ s.specification_version = 3
170
+
171
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
172
+ s.add_runtime_dependency(%q<rdf>, [">= 0.1.6"])
173
+ s.add_runtime_dependency(%q<nokogiri>, [">= 1.3.3"])
174
+ s.add_runtime_dependency(%q<patron>, [">= 0.4.6"])
175
+ s.add_development_dependency(%q<rspec>, [">= 0"])
176
+ s.add_development_dependency(%q<rdf-spec>, [">= 0"])
177
+ s.add_development_dependency(%q<activesupport>, [">= 2.3.0"])
178
+ else
179
+ s.add_dependency(%q<rdf>, [">= 0.1.6"])
180
+ s.add_dependency(%q<nokogiri>, [">= 1.3.3"])
181
+ s.add_dependency(%q<patron>, [">= 0.4.6"])
182
+ s.add_dependency(%q<rspec>, [">= 0"])
183
+ s.add_dependency(%q<rdf-spec>, [">= 0"])
184
+ s.add_dependency(%q<activesupport>, [">= 2.3.0"])
185
+ end
186
+ else
187
+ s.add_dependency(%q<rdf>, [">= 0.1.6"])
188
+ s.add_dependency(%q<nokogiri>, [">= 1.3.3"])
189
+ s.add_dependency(%q<patron>, [">= 0.4.6"])
190
+ s.add_dependency(%q<rspec>, [">= 0"])
191
+ s.add_dependency(%q<rdf-spec>, [">= 0"])
192
+ s.add_dependency(%q<activesupport>, [">= 2.3.0"])
193
+ end
194
+ end
195
+