rdf-microdata 2.0.2 → 2.0.3.beta1
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|