rdf-microdata 2.0.2 → 2.0.3.beta1
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.
- checksums.yaml +4 -4
- data/{README → README.md} +3 -4
- data/VERSION +1 -1
- data/lib/rdf/microdata/expansion.rb +9 -6
- data/lib/rdf/microdata/reader/nokogiri.rb +2 -1
- data/lib/rdf/microdata/reader.rb +36 -66
- data/lib/rdf/microdata.rb +0 -3
- metadata +81 -45
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f69bab428d5cc5ee544b626cfbd9ae462eee0133
|
4
|
+
data.tar.gz: 4c79c78e339080576a4880e8ccc078c8f686dc48
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 62ea65bf3fd8f862a905571e6bc635886ede3ed0257cbe29240627070b0d1e74e4ed95218b97f2bf0c673d64ef8994b757a056a4dbc899e71059b05aa7928298
|
7
|
+
data.tar.gz: f31c1abbbea11c74a4e6378fa4f4bb3b5755714b47d96608ecd559af4ecc6a341ad39008725b4eae56428d45b513c5d06adf2ae6868f4e742291b983c5adcd1a
|
data/{README → README.md}
RENAMED
@@ -44,11 +44,10 @@ GRDDL-type triple generation, such as for html>head>title anchor tags.
|
|
44
44
|
If the `RDFa` parser is available, {RDF::Microdata::Format} will not assert content type `text/html` or file extension `.html`, as this is also asserted by RDFa. Instead, the RDFa reader will invoke the microdata reader if an `@itemscope` attribute is detected.
|
45
45
|
|
46
46
|
## Dependencies
|
47
|
-
* [RDF.rb](http://rubygems.org/gems/rdf) (>=
|
48
|
-
* [RDF::XSD](http://rubygems.org/gems/rdf-xsd) (>=
|
49
|
-
* [Nokogiri](http://rubygems.org/gems/nokogiri) (>= 1.5.9)
|
47
|
+
* [RDF.rb](http://rubygems.org/gems/rdf) (>= 2.0)
|
48
|
+
* [RDF::XSD](http://rubygems.org/gems/rdf-xsd) (>= 2.0)
|
50
49
|
* [HTMLEntities](https://rubygems.org/gems/htmlentities) ('>= 4.3.0')
|
51
|
-
* Soft dependency on [Nokogiri](http://rubygems.org/gems/nokogiri) (>= 1.
|
50
|
+
* Soft dependency on [Nokogiri](http://rubygems.org/gems/nokogiri) (>= 1.6.6)
|
52
51
|
|
53
52
|
## Documentation
|
54
53
|
Full documentation available on [Rubydoc.info][Microdata doc]
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.0.
|
1
|
+
2.0.3.beta1
|
@@ -27,7 +27,7 @@ module RDF::Microdata
|
|
27
27
|
repo << self # Add default graph
|
28
28
|
|
29
29
|
count = repo.count
|
30
|
-
|
30
|
+
log_debug("expand") {"Loaded #{repo.size} triples into default graph"}
|
31
31
|
|
32
32
|
repo = owl_entailment(repo)
|
33
33
|
|
@@ -38,7 +38,7 @@ module RDF::Microdata
|
|
38
38
|
end
|
39
39
|
|
40
40
|
def rule(name, &block)
|
41
|
-
Rule.new(name, block)
|
41
|
+
Rule.new(name, @options, block)
|
42
42
|
end
|
43
43
|
|
44
44
|
##
|
@@ -47,6 +47,8 @@ module RDF::Microdata
|
|
47
47
|
# Takes a list of antecedent patterns used to find solutions against a queryable
|
48
48
|
# object. Yields each consequent with bindings from the solution
|
49
49
|
class Rule
|
50
|
+
include RDF::Util::Logger
|
51
|
+
|
50
52
|
# @!attribute [r]
|
51
53
|
# @return [Array<RDF::Query::Pattern>] patterns necessary to invoke this rule
|
52
54
|
attr_reader :antecedents
|
@@ -70,9 +72,10 @@ module RDF::Microdata
|
|
70
72
|
# r.execute(queryable) {|statement| puts statement.inspect}
|
71
73
|
#
|
72
74
|
# @param [String] name
|
73
|
-
def initialize(name, &block)
|
75
|
+
def initialize(name, options = {}, &block)
|
74
76
|
@antecedents = []
|
75
77
|
@consequents = []
|
78
|
+
@options = options.dup
|
76
79
|
@name = name
|
77
80
|
|
78
81
|
if block_given?
|
@@ -144,18 +147,18 @@ module RDF::Microdata
|
|
144
147
|
old_count = 0
|
145
148
|
|
146
149
|
while old_count < (count = repo.count)
|
147
|
-
|
150
|
+
log_debug("entailment", "old: #{old_count} count: #{count}")
|
148
151
|
old_count = count
|
149
152
|
|
150
153
|
RULES.each do |rule|
|
151
154
|
rule.execute(repo) do |statement|
|
152
|
-
|
155
|
+
log_debug("entailment(#{rule.name})") {statement.inspect}
|
153
156
|
repo << statement
|
154
157
|
end
|
155
158
|
end
|
156
159
|
end
|
157
160
|
|
158
|
-
|
161
|
+
log_debug("entailment", "final count: #{count}")
|
159
162
|
repo
|
160
163
|
end
|
161
164
|
end
|
@@ -200,7 +200,8 @@ module RDF::Microdata
|
|
200
200
|
##
|
201
201
|
# Document errors
|
202
202
|
def doc_errors
|
203
|
-
|
203
|
+
# FIXME: Nokogiri version 1.5.5 thinks many HTML5 elements are invalid
|
204
|
+
@doc.errors.reject {|e| e.to_s =~ /(Tag (?:article|aside|audio|canvas|command|datalist|details|embed|figcaption|figure|footer|header|hgroup|keygen|main|mark|meter|nav|output|progress|ruby|section|time|video|wbr) invalid|Missing attribute name)/}
|
204
205
|
end
|
205
206
|
|
206
207
|
##
|
data/lib/rdf/microdata/reader.rb
CHANGED
@@ -13,6 +13,7 @@ module RDF::Microdata
|
|
13
13
|
class Reader < RDF::Reader
|
14
14
|
format Format
|
15
15
|
include Expansion
|
16
|
+
include RDF::Util::Logger
|
16
17
|
URL_PROPERTY_ELEMENTS = %w(a area audio embed iframe img link object source track video)
|
17
18
|
DEFAULT_REGISTRY = File.expand_path(File.join(File.dirname(__FILE__), "..", "..", "..", "etc", "registry.json"))
|
18
19
|
|
@@ -23,11 +24,6 @@ module RDF::Microdata
|
|
23
24
|
# @return [Module] Returns the HTML implementation module for this reader instance.
|
24
25
|
attr_reader :implementation
|
25
26
|
|
26
|
-
##
|
27
|
-
# Accumulated errors found during processing
|
28
|
-
# @return [Array<String>]
|
29
|
-
attr_reader :errors
|
30
|
-
|
31
27
|
##
|
32
28
|
# Returns the base URI determined by this reader.
|
33
29
|
#
|
@@ -163,10 +159,6 @@ module RDF::Microdata
|
|
163
159
|
# @option options [#to_s] :base_uri (nil)
|
164
160
|
# the base URI to use when resolving relative URIs
|
165
161
|
# @option options [#to_s] :registry
|
166
|
-
# @option options [Array] :errors
|
167
|
-
# array for placing errors found when parsing
|
168
|
-
# @option options [Array] :debug
|
169
|
-
# Array to place debug messages
|
170
162
|
# @return [reader]
|
171
163
|
# @yield [reader] `self`
|
172
164
|
# @yieldparam [RDF::Reader] reader
|
@@ -174,33 +166,27 @@ module RDF::Microdata
|
|
174
166
|
# @raise [Error] Raises `RDF::ReaderError` when validating
|
175
167
|
def initialize(input = $stdin, options = {}, &block)
|
176
168
|
super do
|
177
|
-
@errors = @options[:errors]
|
178
|
-
@warnings = @options[:warnings]
|
179
|
-
@debug = options[:debug]
|
180
|
-
|
181
169
|
@library = :nokogiri
|
182
170
|
|
183
171
|
require "rdf/microdata/reader/#{@library}"
|
184
172
|
@implementation = Nokogiri
|
185
173
|
self.extend(@implementation)
|
186
174
|
|
187
|
-
|
175
|
+
input.rewind if input.respond_to?(:rewind)
|
176
|
+
initialize_html(input, options) rescue log_fatal($!.message, exception: RDF::ReaderError)
|
188
177
|
|
189
|
-
if
|
190
|
-
|
191
|
-
end
|
192
|
-
errors = doc_errors.reject {|e| e.to_s =~ /Tag (audio|source|track|video|time) invalid/}
|
193
|
-
raise RDF::ReaderError, "Syntax errors:\n#{errors}" if !errors.empty? && validate?
|
178
|
+
log_error("Empty document") if root.nil?
|
179
|
+
log_error(doc_errors.map(&:message).uniq.join("\n")) if !doc_errors.empty?
|
194
180
|
|
195
|
-
|
181
|
+
log_debug(@doc, "library = #{@library}")
|
196
182
|
|
197
183
|
# Load registry
|
198
184
|
begin
|
199
185
|
registry_uri = options[:registry] || DEFAULT_REGISTRY
|
200
|
-
|
186
|
+
log_debug(@doc, "registry = #{registry_uri.inspect}")
|
201
187
|
Registry.load_registry(registry_uri)
|
202
188
|
rescue JSON::ParserError => e
|
203
|
-
|
189
|
+
log_fatal("Failed to parse registry: #{e.message}", exception: RDF::ReaderError) if (root.nil? && validate?)
|
204
190
|
end
|
205
191
|
|
206
192
|
if block_given?
|
@@ -226,6 +212,10 @@ module RDF::Microdata
|
|
226
212
|
|
227
213
|
# parse
|
228
214
|
parse_whole_document(@doc, base_uri)
|
215
|
+
|
216
|
+
if validate? && log_statistics[:error]
|
217
|
+
raise RDF::ReaderError, "Errors found during processing"
|
218
|
+
end
|
229
219
|
end
|
230
220
|
enum_for(:each_statement)
|
231
221
|
end
|
@@ -260,26 +250,6 @@ module RDF::Microdata
|
|
260
250
|
"<#{base_uri}>#{node.respond_to?(:display_path) ? node.display_path : node}"
|
261
251
|
end
|
262
252
|
|
263
|
-
##
|
264
|
-
# Add debug event to debug array, if specified
|
265
|
-
#
|
266
|
-
# @param [Nokogiri::XML::Node, #to_s] node XML Node or string for showing context
|
267
|
-
#
|
268
|
-
# @param [String] message
|
269
|
-
# @yieldreturn [String] appended to message, to allow for lazy-evaulation of message
|
270
|
-
def add_debug(node, message = "")
|
271
|
-
return unless ::RDF::Microdata.debug? || @debug
|
272
|
-
message = message + yield if block_given?
|
273
|
-
puts "#{node_path(node)}: #{message}" if ::RDF::Microdata::debug?
|
274
|
-
@debug << "#{node_path(node)}: #{message}" if @debug.is_a?(Array)
|
275
|
-
end
|
276
|
-
|
277
|
-
def add_error(node, message)
|
278
|
-
@errors << "#{node_path(node)}: #{message}" if @errors
|
279
|
-
add_debug(node, message)
|
280
|
-
raise RDF::ReaderError, message if validate?
|
281
|
-
end
|
282
|
-
|
283
253
|
##
|
284
254
|
# add a statement, object can be literal or URI or bnode
|
285
255
|
#
|
@@ -292,8 +262,8 @@ module RDF::Microdata
|
|
292
262
|
# @raise [ReaderError] Checks parameter types and raises if they are incorrect if parsing mode is _validate_.
|
293
263
|
def add_triple(node, subject, predicate, object)
|
294
264
|
statement = RDF::Statement.new(subject, predicate, object)
|
295
|
-
|
296
|
-
|
265
|
+
log_error "#{statement.inspect} is invalid" if statement.invalid?
|
266
|
+
log_debug(node) {"statement: #{RDF::NTriples.serialize(statement)}"}
|
297
267
|
@callback.call(statement)
|
298
268
|
end
|
299
269
|
|
@@ -308,7 +278,7 @@ module RDF::Microdata
|
|
308
278
|
base = RDF::URI("")
|
309
279
|
end
|
310
280
|
|
311
|
-
|
281
|
+
log_info(nil) {"parse_whole_doc: base='#{base}'"}
|
312
282
|
|
313
283
|
ec = {
|
314
284
|
:memory => {},
|
@@ -318,10 +288,10 @@ module RDF::Microdata
|
|
318
288
|
}
|
319
289
|
# 1) For each element that is also a top-level item, Generate the triples for that item using the evaluation context.
|
320
290
|
getItems.each do |el|
|
321
|
-
generate_triples(el, ec)
|
291
|
+
log_depth {generate_triples(el, ec)}
|
322
292
|
end
|
323
293
|
|
324
|
-
|
294
|
+
log_info(doc, "parse_whole_doc: traversal complete")
|
325
295
|
end
|
326
296
|
|
327
297
|
##
|
@@ -342,7 +312,7 @@ module RDF::Microdata
|
|
342
312
|
end || RDF::Node.new
|
343
313
|
memory[item.node] ||= {}
|
344
314
|
|
345
|
-
|
315
|
+
log_debug(item) {"gentrips(2): subject=#{subject.inspect}, current_type: #{ec[:current_type]}"}
|
346
316
|
|
347
317
|
# 2) Add a mapping from item to subject in memory, if there isn't one already.
|
348
318
|
memory[item.node][:subject] ||= subject
|
@@ -359,7 +329,7 @@ module RDF::Microdata
|
|
359
329
|
|
360
330
|
# 5) Otherwise, set type to current type from the Evaluation Context if not empty.
|
361
331
|
type ||= ec[:current_type]
|
362
|
-
|
332
|
+
log_debug(item) {"gentrips(5): type=#{type.inspect}"}
|
363
333
|
|
364
334
|
# 6) If the registry contains a URI prefix that is a character for character match of type up to the length of the URI prefix, set vocab as that URI prefix.
|
365
335
|
vocab = Registry.find(type)
|
@@ -367,7 +337,7 @@ module RDF::Microdata
|
|
367
337
|
# 7) Otherwise, if type is not empty, construct vocab by removing everything following the last SOLIDUS U+002F ("/") or NUMBER SIGN U+0023 ("#") from the path component of type.
|
368
338
|
vocab ||= begin
|
369
339
|
type_vocab = type.to_s.sub(/([\/\#])[^\/\#]*$/, '\1')
|
370
|
-
|
340
|
+
log_debug(item) {"gentrips(7): type_vocab=#{type_vocab.inspect}"}
|
371
341
|
Registry.new(type_vocab)
|
372
342
|
end
|
373
343
|
|
@@ -379,7 +349,7 @@ module RDF::Microdata
|
|
379
349
|
# 9.1. For each name name in element's property names, run the following substeps:
|
380
350
|
props.each do |element|
|
381
351
|
element.attribute('itemprop').to_s.split(' ').compact.each do |name|
|
382
|
-
|
352
|
+
log_debug(item) {"gentrips(9.1): name=#{name.inspect}, type=#{type}"}
|
383
353
|
# 9.1.1) Let context be a copy of evaluation context with current type set to type and current vocabulary set to vocab.
|
384
354
|
ec_new = ec.merge({current_type: type, current_vocabulary: vocab})
|
385
355
|
|
@@ -388,12 +358,12 @@ module RDF::Microdata
|
|
388
358
|
|
389
359
|
# 9.1.3) Let value be the property value of element.
|
390
360
|
value = property_value(element)
|
391
|
-
|
361
|
+
log_debug(item) {"gentrips(9.1.3) value=#{value.inspect}"}
|
392
362
|
|
393
363
|
# 9.1.4) If value is an item, then generate the triples for value context. Replace value by the subject returned from those steps.
|
394
364
|
if value.is_a?(Hash)
|
395
365
|
value = generate_triples(element, ec_new)
|
396
|
-
|
366
|
+
log_debug(item) {"gentrips(9.1.4): value=#{value.inspect}"}
|
397
367
|
end
|
398
368
|
|
399
369
|
# 9.1.4) Generate the following triple:
|
@@ -401,7 +371,7 @@ module RDF::Microdata
|
|
401
371
|
|
402
372
|
# 9.1.5) If an entry exists in the registry for name in the vocabulary associated with vocab having the key subPropertyOf or equivalentProperty
|
403
373
|
vocab.expand(predicate) do |equiv|
|
404
|
-
|
374
|
+
log_debug(item) {"gentrips(9.1.5): equiv=#{equiv.inspect}"}
|
405
375
|
# for each such value equiv, generate the following triple
|
406
376
|
add_triple(item, subject, equiv, value)
|
407
377
|
end
|
@@ -413,7 +383,7 @@ module RDF::Microdata
|
|
413
383
|
# 10.1. For each name name in element's reverse property names, run the following substeps:
|
414
384
|
props.each do |element|
|
415
385
|
element.attribute('itemprop-reverse').to_s.split(' ').compact.each do |name|
|
416
|
-
|
386
|
+
log_debug(item) {"gentrips(10.1): name=#{name.inspect}"}
|
417
387
|
# 10.1.1) Let context be a copy of evaluation context with current type set to type and current vocabulary set to vocab.
|
418
388
|
ec_new = ec.merge({current_type: type, current_vocabulary: vocab})
|
419
389
|
|
@@ -422,15 +392,15 @@ module RDF::Microdata
|
|
422
392
|
|
423
393
|
# 10.1.3) Let value be the property value of element.
|
424
394
|
value = property_value(element)
|
425
|
-
|
395
|
+
log_debug(item) {"gentrips(10.1.3) value=#{value.inspect}"}
|
426
396
|
|
427
397
|
# 10.1.4) If value is an item, then generate the triples for value context. Replace value by the subject returned from those steps.
|
428
398
|
if value.is_a?(Hash)
|
429
399
|
value = generate_triples(element, ec_new)
|
430
|
-
|
400
|
+
log_debug(item) {"gentrips(10.1.4): value=#{value.inspect}"}
|
431
401
|
elsif value.is_a?(RDF::Literal)
|
432
402
|
# 10.1.5) Otherwise, if value is a literal, ignore the value and continue to the next name; it is an error for the value of @itemprop-reverse to be a literal
|
433
|
-
|
403
|
+
log_error(element, "Value of @itemprop-reverse may not be a literal: #{value.inspect}")
|
434
404
|
next
|
435
405
|
end
|
436
406
|
|
@@ -451,10 +421,10 @@ module RDF::Microdata
|
|
451
421
|
# @return [Array<Nokogiri::XML::Element>]
|
452
422
|
# List of property elements for an item
|
453
423
|
def item_properties(item, reverse = false)
|
454
|
-
|
424
|
+
log_debug(item, "item_properties (#{reverse.inspect})")
|
455
425
|
crawl_properties(item, [], reverse)
|
456
426
|
rescue CrawlFailure => e
|
457
|
-
|
427
|
+
log_error(item, e.message)
|
458
428
|
return []
|
459
429
|
end
|
460
430
|
|
@@ -472,7 +442,7 @@ module RDF::Microdata
|
|
472
442
|
|
473
443
|
# 2. Collect all the elements in the item root; let results be the resulting list of elements, and errors be the resulting count of errors.
|
474
444
|
results = elements_in_item(root)
|
475
|
-
|
445
|
+
log_debug(root) {"crawl_properties reverse=#{reverse.inspect} results=#{results.map {|e| node_path(e)}.inspect}"}
|
476
446
|
|
477
447
|
# 3. Remove any elements from results that do not have an @itemprop (@itemprop-reverse) attribute specified.
|
478
448
|
results = results.select {|e| e.has_attribute?(reverse ? 'itemprop-reverse' : 'itemprop')}
|
@@ -483,7 +453,7 @@ module RDF::Microdata
|
|
483
453
|
|
484
454
|
# 5. For each element in results that has an @itemscope attribute specified, crawl the properties of the element, with new memory as the memory.
|
485
455
|
results.select {|e| e.has_attribute?('itemscope')}.each do |element|
|
486
|
-
crawl_properties(element, new_memory, reverse)
|
456
|
+
log_depth {crawl_properties(element, new_memory, reverse)}
|
487
457
|
end
|
488
458
|
|
489
459
|
results
|
@@ -507,13 +477,13 @@ module RDF::Microdata
|
|
507
477
|
# If root has an itemref attribute, split the value of that itemref attribute on spaces.
|
508
478
|
# For each resulting token ID,
|
509
479
|
root.attribute('itemref').to_s.split(' ').each do |id|
|
510
|
-
|
480
|
+
log_debug(root) {"elements_in_item itemref id #{id}"}
|
511
481
|
# if there is an element in the home subtree of root with the ID ID,
|
512
482
|
# then add the first such element to pending.
|
513
483
|
id_elem = find_element_by_id(id)
|
514
484
|
pending << id_elem if id_elem
|
515
485
|
end
|
516
|
-
|
486
|
+
log_debug(root) {"elements_in_item pending #{pending.inspect}"}
|
517
487
|
|
518
488
|
# Loop: Remove an element from pending and let current be that element.
|
519
489
|
while current = pending.shift
|
@@ -536,7 +506,7 @@ module RDF::Microdata
|
|
536
506
|
#
|
537
507
|
def property_value(element)
|
538
508
|
base = element.base || base_uri
|
539
|
-
|
509
|
+
log_debug(element) {"property_value(#{element.name}): base #{base.inspect}"}
|
540
510
|
value = case
|
541
511
|
when element.has_attribute?('itemscope')
|
542
512
|
{}
|
@@ -566,7 +536,7 @@ module RDF::Microdata
|
|
566
536
|
else
|
567
537
|
RDF::Literal.new(element.inner_text, language: element.language)
|
568
538
|
end
|
569
|
-
|
539
|
+
log_debug(element) {" #{value.inspect}"}
|
570
540
|
value
|
571
541
|
end
|
572
542
|
|
data/lib/rdf/microdata.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rdf-microdata
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.3.beta1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gregg
|
@@ -9,36 +9,48 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2016-02-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rdf
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- - "
|
18
|
+
- - ">="
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 2.0.0.beta
|
21
|
+
- - "<"
|
19
22
|
- !ruby/object:Gem::Version
|
20
|
-
version: '
|
23
|
+
version: '3'
|
21
24
|
type: :runtime
|
22
25
|
prerelease: false
|
23
26
|
version_requirements: !ruby/object:Gem::Requirement
|
24
27
|
requirements:
|
25
|
-
- - "
|
28
|
+
- - ">="
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: 2.0.0.beta
|
31
|
+
- - "<"
|
26
32
|
- !ruby/object:Gem::Version
|
27
|
-
version: '
|
33
|
+
version: '3'
|
28
34
|
- !ruby/object:Gem::Dependency
|
29
35
|
name: rdf-xsd
|
30
36
|
requirement: !ruby/object:Gem::Requirement
|
31
37
|
requirements:
|
32
|
-
- - "
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 2.0.0.beta
|
41
|
+
- - "<"
|
33
42
|
- !ruby/object:Gem::Version
|
34
|
-
version: '
|
43
|
+
version: '3'
|
35
44
|
type: :runtime
|
36
45
|
prerelease: false
|
37
46
|
version_requirements: !ruby/object:Gem::Requirement
|
38
47
|
requirements:
|
39
|
-
- - "
|
48
|
+
- - ">="
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: 2.0.0.beta
|
51
|
+
- - "<"
|
40
52
|
- !ruby/object:Gem::Version
|
41
|
-
version: '
|
53
|
+
version: '3'
|
42
54
|
- !ruby/object:Gem::Dependency
|
43
55
|
name: htmlentities
|
44
56
|
requirement: !ruby/object:Gem::Requirement
|
@@ -73,14 +85,14 @@ dependencies:
|
|
73
85
|
requirements:
|
74
86
|
- - "~>"
|
75
87
|
- !ruby/object:Gem::Version
|
76
|
-
version: '0.
|
88
|
+
version: '0.6'
|
77
89
|
type: :development
|
78
90
|
prerelease: false
|
79
91
|
version_requirements: !ruby/object:Gem::Requirement
|
80
92
|
requirements:
|
81
93
|
- - "~>"
|
82
94
|
- !ruby/object:Gem::Version
|
83
|
-
version: '0.
|
95
|
+
version: '0.6'
|
84
96
|
- !ruby/object:Gem::Dependency
|
85
97
|
name: yard
|
86
98
|
requirement: !ruby/object:Gem::Requirement
|
@@ -115,134 +127,158 @@ dependencies:
|
|
115
127
|
requirements:
|
116
128
|
- - "~>"
|
117
129
|
- !ruby/object:Gem::Version
|
118
|
-
version: '1.
|
130
|
+
version: '1.6'
|
119
131
|
type: :development
|
120
132
|
prerelease: false
|
121
133
|
version_requirements: !ruby/object:Gem::Requirement
|
122
134
|
requirements:
|
123
135
|
- - "~>"
|
124
136
|
- !ruby/object:Gem::Version
|
125
|
-
version: '1.
|
137
|
+
version: '1.6'
|
126
138
|
- !ruby/object:Gem::Dependency
|
127
139
|
name: rest-client
|
128
140
|
requirement: !ruby/object:Gem::Requirement
|
129
141
|
requirements:
|
130
142
|
- - "~>"
|
131
143
|
- !ruby/object:Gem::Version
|
132
|
-
version: '1.
|
144
|
+
version: '1.8'
|
133
145
|
type: :development
|
134
146
|
prerelease: false
|
135
147
|
version_requirements: !ruby/object:Gem::Requirement
|
136
148
|
requirements:
|
137
149
|
- - "~>"
|
138
150
|
- !ruby/object:Gem::Version
|
139
|
-
version: '1.
|
151
|
+
version: '1.8'
|
140
152
|
- !ruby/object:Gem::Dependency
|
141
153
|
name: rest-client-components
|
142
154
|
requirement: !ruby/object:Gem::Requirement
|
143
155
|
requirements:
|
144
156
|
- - "~>"
|
145
157
|
- !ruby/object:Gem::Version
|
146
|
-
version: '1.
|
158
|
+
version: '1.4'
|
147
159
|
type: :development
|
148
160
|
prerelease: false
|
149
161
|
version_requirements: !ruby/object:Gem::Requirement
|
150
162
|
requirements:
|
151
163
|
- - "~>"
|
152
164
|
- !ruby/object:Gem::Version
|
153
|
-
version: '1.
|
165
|
+
version: '1.4'
|
154
166
|
- !ruby/object:Gem::Dependency
|
155
167
|
name: rspec
|
156
168
|
requirement: !ruby/object:Gem::Requirement
|
157
169
|
requirements:
|
158
170
|
- - "~>"
|
159
171
|
- !ruby/object:Gem::Version
|
160
|
-
version: '3.
|
172
|
+
version: '3.4'
|
161
173
|
type: :development
|
162
174
|
prerelease: false
|
163
175
|
version_requirements: !ruby/object:Gem::Requirement
|
164
176
|
requirements:
|
165
177
|
- - "~>"
|
166
178
|
- !ruby/object:Gem::Version
|
167
|
-
version: '3.
|
179
|
+
version: '3.4'
|
168
180
|
- !ruby/object:Gem::Dependency
|
169
181
|
name: rspec-its
|
170
182
|
requirement: !ruby/object:Gem::Requirement
|
171
183
|
requirements:
|
172
184
|
- - "~>"
|
173
185
|
- !ruby/object:Gem::Version
|
174
|
-
version: '1.
|
186
|
+
version: '1.2'
|
175
187
|
type: :development
|
176
188
|
prerelease: false
|
177
189
|
version_requirements: !ruby/object:Gem::Requirement
|
178
190
|
requirements:
|
179
191
|
- - "~>"
|
180
192
|
- !ruby/object:Gem::Version
|
181
|
-
version: '1.
|
193
|
+
version: '1.2'
|
182
194
|
- !ruby/object:Gem::Dependency
|
183
195
|
name: rdf-spec
|
184
196
|
requirement: !ruby/object:Gem::Requirement
|
185
197
|
requirements:
|
186
|
-
- - "
|
198
|
+
- - ">="
|
199
|
+
- !ruby/object:Gem::Version
|
200
|
+
version: 2.0.0.beta
|
201
|
+
- - "<"
|
187
202
|
- !ruby/object:Gem::Version
|
188
|
-
version: '
|
203
|
+
version: '3'
|
189
204
|
type: :development
|
190
205
|
prerelease: false
|
191
206
|
version_requirements: !ruby/object:Gem::Requirement
|
192
207
|
requirements:
|
193
|
-
- - "
|
208
|
+
- - ">="
|
209
|
+
- !ruby/object:Gem::Version
|
210
|
+
version: 2.0.0.beta
|
211
|
+
- - "<"
|
194
212
|
- !ruby/object:Gem::Version
|
195
|
-
version: '
|
213
|
+
version: '3'
|
196
214
|
- !ruby/object:Gem::Dependency
|
197
215
|
name: rdf-rdfa
|
198
216
|
requirement: !ruby/object:Gem::Requirement
|
199
217
|
requirements:
|
200
|
-
- - "
|
218
|
+
- - ">="
|
219
|
+
- !ruby/object:Gem::Version
|
220
|
+
version: 2.0.0.beta
|
221
|
+
- - "<"
|
201
222
|
- !ruby/object:Gem::Version
|
202
|
-
version: '
|
223
|
+
version: '3'
|
203
224
|
type: :development
|
204
225
|
prerelease: false
|
205
226
|
version_requirements: !ruby/object:Gem::Requirement
|
206
227
|
requirements:
|
207
|
-
- - "
|
228
|
+
- - ">="
|
229
|
+
- !ruby/object:Gem::Version
|
230
|
+
version: 2.0.0.beta
|
231
|
+
- - "<"
|
208
232
|
- !ruby/object:Gem::Version
|
209
|
-
version: '
|
233
|
+
version: '3'
|
210
234
|
- !ruby/object:Gem::Dependency
|
211
235
|
name: rdf-turtle
|
212
236
|
requirement: !ruby/object:Gem::Requirement
|
213
237
|
requirements:
|
214
|
-
- - "
|
238
|
+
- - ">="
|
239
|
+
- !ruby/object:Gem::Version
|
240
|
+
version: 2.0.0.beta
|
241
|
+
- - "<"
|
215
242
|
- !ruby/object:Gem::Version
|
216
|
-
version: '
|
243
|
+
version: '3'
|
217
244
|
type: :development
|
218
245
|
prerelease: false
|
219
246
|
version_requirements: !ruby/object:Gem::Requirement
|
220
247
|
requirements:
|
221
|
-
- - "
|
248
|
+
- - ">="
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: 2.0.0.beta
|
251
|
+
- - "<"
|
222
252
|
- !ruby/object:Gem::Version
|
223
|
-
version: '
|
253
|
+
version: '3'
|
224
254
|
- !ruby/object:Gem::Dependency
|
225
255
|
name: rdf-isomorphic
|
226
256
|
requirement: !ruby/object:Gem::Requirement
|
227
257
|
requirements:
|
228
|
-
- - "
|
258
|
+
- - ">="
|
259
|
+
- !ruby/object:Gem::Version
|
260
|
+
version: 2.0.0.beta
|
261
|
+
- - "<"
|
229
262
|
- !ruby/object:Gem::Version
|
230
|
-
version: '
|
263
|
+
version: '3'
|
231
264
|
type: :development
|
232
265
|
prerelease: false
|
233
266
|
version_requirements: !ruby/object:Gem::Requirement
|
234
267
|
requirements:
|
235
|
-
- - "
|
268
|
+
- - ">="
|
269
|
+
- !ruby/object:Gem::Version
|
270
|
+
version: 2.0.0.beta
|
271
|
+
- - "<"
|
236
272
|
- !ruby/object:Gem::Version
|
237
|
-
version: '
|
238
|
-
description: Microdata
|
273
|
+
version: '3'
|
274
|
+
description: Reads HTML Microdata as RDF.
|
239
275
|
email: public-rdf-ruby@w3.org
|
240
276
|
executables: []
|
241
277
|
extensions: []
|
242
278
|
extra_rdoc_files: []
|
243
279
|
files:
|
244
280
|
- AUTHORS
|
245
|
-
- README
|
281
|
+
- README.md
|
246
282
|
- UNLICENSE
|
247
283
|
- VERSION
|
248
284
|
- etc/doap.html
|
@@ -258,7 +294,7 @@ files:
|
|
258
294
|
- lib/rdf/microdata/vocab.rb
|
259
295
|
homepage: http://ruby-rdf.github.com/rdf-microdata
|
260
296
|
licenses:
|
261
|
-
-
|
297
|
+
- Unlicense
|
262
298
|
metadata: {}
|
263
299
|
post_install_message:
|
264
300
|
rdoc_options: []
|
@@ -268,15 +304,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
268
304
|
requirements:
|
269
305
|
- - ">="
|
270
306
|
- !ruby/object:Gem::Version
|
271
|
-
version:
|
307
|
+
version: '2.0'
|
272
308
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
273
309
|
requirements:
|
274
|
-
- - "
|
310
|
+
- - ">"
|
275
311
|
- !ruby/object:Gem::Version
|
276
|
-
version:
|
312
|
+
version: 1.3.1
|
277
313
|
requirements: []
|
278
314
|
rubyforge_project: rdf-microdata
|
279
|
-
rubygems_version: 2.
|
315
|
+
rubygems_version: 2.5.1
|
280
316
|
signing_key:
|
281
317
|
specification_version: 4
|
282
318
|
summary: Microdata reader for Ruby.
|