rdf-microdata 2.0.1 → 2.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README +3 -3
- data/VERSION +1 -1
- data/lib/rdf/microdata/expansion.rb +7 -7
- data/lib/rdf/microdata/format.rb +2 -2
- data/lib/rdf/microdata/reader.rb +18 -8
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e67c356f5d9c16989fec6fdbffc268aaac86580b
|
4
|
+
data.tar.gz: ad36ebdb564304d87628944c0a68e2047c8f1b83
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 12aac445519aeca33f567dcde2d0f94dbfa7302601802e50dd8294e2d41739d9525ec5bd4e7b0ca86e5779cdad2a3630bb4d96b058c98cbc42ddc811a39a686d
|
7
|
+
data.tar.gz: a4136789520f57273e147f1b01e934f99efc129d242766ca4005478448d64955af0b2af6718766d932ee49cddf10684992f4db25ebe6b261c9d97eb5cd38005d
|
data/README
CHANGED
@@ -30,12 +30,12 @@ The parser uses a build-in version of the [Microdata RDF][] registry.
|
|
30
30
|
### Reading RDF data in the Microdata format
|
31
31
|
|
32
32
|
require 'rdf/microdata'
|
33
|
-
graph = RDF::Graph.load("etc/doap.html", :
|
33
|
+
graph = RDF::Graph.load("etc/doap.html", format: :microdata)
|
34
34
|
|
35
35
|
### Reading using content-negotation
|
36
36
|
|
37
37
|
require 'rdf/microdata'
|
38
|
-
graph = RDF::Graph.load("etc/doap.html", :
|
38
|
+
graph = RDF::Graph.load("etc/doap.html", content_type: "text/html")
|
39
39
|
|
40
40
|
## Note
|
41
41
|
This spec is based on the W3C HTML Data Task Force specification and does not support
|
@@ -97,7 +97,7 @@ see <http://unlicense.org/> or the accompanying {file:UNLICENSE} file.
|
|
97
97
|
* <http://github.com/ruby-rdf/rdf-microdata>
|
98
98
|
* <http://lists.w3.org/Archives/Public/public-rdf-ruby/>
|
99
99
|
|
100
|
-
[RDF.rb]:
|
100
|
+
[RDF.rb]: https://github.com/ruby-rdf/rdf
|
101
101
|
[YARD]: http://yardoc.org/
|
102
102
|
[YARD-GS]: http://rubydoc.info/docs/yard/file/docs/GettingStarted.md
|
103
103
|
[PDD]: http://lists.w3.org/Archives/Public/public-rdf-ruby/2010May/0013.html
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.0.
|
1
|
+
2.0.2
|
@@ -31,9 +31,9 @@ module RDF::Microdata
|
|
31
31
|
|
32
32
|
repo = owl_entailment(repo)
|
33
33
|
|
34
|
-
# Return graph with default
|
34
|
+
# Return graph with default graph
|
35
35
|
graph = RDF::Graph.new
|
36
|
-
repo.statements.each {|st| graph << st
|
36
|
+
repo.statements.each {|st| graph << st}
|
37
37
|
graph
|
38
38
|
end
|
39
39
|
|
@@ -83,12 +83,12 @@ module RDF::Microdata
|
|
83
83
|
end
|
84
84
|
end
|
85
85
|
|
86
|
-
def antecedent(subject, prediate, object
|
87
|
-
antecedents << RDF::Query::Pattern.new(subject, prediate, object
|
86
|
+
def antecedent(subject, prediate, object)
|
87
|
+
antecedents << RDF::Query::Pattern.new(subject, prediate, object)
|
88
88
|
end
|
89
89
|
|
90
|
-
def consequent(subject, prediate, object
|
91
|
-
consequents << RDF::Query::Pattern.new(subject, prediate, object
|
90
|
+
def consequent(subject, prediate, object)
|
91
|
+
consequents << RDF::Query::Pattern.new(subject, prediate, object)
|
92
92
|
end
|
93
93
|
|
94
94
|
##
|
@@ -102,7 +102,7 @@ module RDF::Microdata
|
|
102
102
|
nodes = {}
|
103
103
|
consequents.each do |consequent|
|
104
104
|
terms = {}
|
105
|
-
[:subject, :predicate, :object
|
105
|
+
[:subject, :predicate, :object].each do |r|
|
106
106
|
terms[r] = case o = consequent.send(r)
|
107
107
|
when RDF::Node then nodes[o] ||= RDF::Node.new
|
108
108
|
when RDF::Query::Variable then solution[o]
|
data/lib/rdf/microdata/format.rb
CHANGED
@@ -13,7 +13,7 @@ module RDF::Microdata
|
|
13
13
|
# RDF::Format.for(:microdata) #=> RDF::Microdata::Format
|
14
14
|
# RDF::Format.for("etc/foaf.html")
|
15
15
|
# RDF::Format.for(:file_name => "etc/foaf.html")
|
16
|
-
# RDF::Format.for(:
|
16
|
+
# RDF::Format.for(file_extension: "html")
|
17
17
|
# RDF::Format.for(:content_type => "text/html")
|
18
18
|
#
|
19
19
|
# @example Obtaining serialization format MIME types
|
@@ -26,7 +26,7 @@ module RDF::Microdata
|
|
26
26
|
# Only define content type if RDFa is not available.
|
27
27
|
# The Microdata processor will be launched from there
|
28
28
|
# otherwise.
|
29
|
-
content_type 'text/html', :
|
29
|
+
content_type 'text/html', extension: :html unless RDF::Format.for(:rdfa)
|
30
30
|
reader { RDF::Microdata::Reader }
|
31
31
|
|
32
32
|
##
|
data/lib/rdf/microdata/reader.rb
CHANGED
@@ -23,6 +23,11 @@ module RDF::Microdata
|
|
23
23
|
# @return [Module] Returns the HTML implementation module for this reader instance.
|
24
24
|
attr_reader :implementation
|
25
25
|
|
26
|
+
##
|
27
|
+
# Accumulated errors found during processing
|
28
|
+
# @return [Array<String>]
|
29
|
+
attr_reader :errors
|
30
|
+
|
26
31
|
##
|
27
32
|
# Returns the base URI determined by this reader.
|
28
33
|
#
|
@@ -158,6 +163,8 @@ module RDF::Microdata
|
|
158
163
|
# @option options [#to_s] :base_uri (nil)
|
159
164
|
# the base URI to use when resolving relative URIs
|
160
165
|
# @option options [#to_s] :registry
|
166
|
+
# @option options [Array] :errors
|
167
|
+
# array for placing errors found when parsing
|
161
168
|
# @option options [Array] :debug
|
162
169
|
# Array to place debug messages
|
163
170
|
# @return [reader]
|
@@ -167,6 +174,8 @@ module RDF::Microdata
|
|
167
174
|
# @raise [Error] Raises `RDF::ReaderError` when validating
|
168
175
|
def initialize(input = $stdin, options = {}, &block)
|
169
176
|
super do
|
177
|
+
@errors = @options[:errors]
|
178
|
+
@warnings = @options[:warnings]
|
170
179
|
@debug = options[:debug]
|
171
180
|
|
172
181
|
@library = :nokogiri
|
@@ -266,6 +275,7 @@ module RDF::Microdata
|
|
266
275
|
end
|
267
276
|
|
268
277
|
def add_error(node, message)
|
278
|
+
@errors << "#{node_path(node)}: #{message}" if @errors
|
269
279
|
add_debug(node, message)
|
270
280
|
raise RDF::ReaderError, message if validate?
|
271
281
|
end
|
@@ -303,7 +313,7 @@ module RDF::Microdata
|
|
303
313
|
ec = {
|
304
314
|
:memory => {},
|
305
315
|
:current_type => nil,
|
306
|
-
:
|
316
|
+
current_vocabulary: nil,
|
307
317
|
:document_base => base,
|
308
318
|
}
|
309
319
|
# 1) For each element that is also a top-level item, Generate the triples for that item using the evaluation context.
|
@@ -371,7 +381,7 @@ module RDF::Microdata
|
|
371
381
|
element.attribute('itemprop').to_s.split(' ').compact.each do |name|
|
372
382
|
add_debug(item) {"gentrips(9.1): name=#{name.inspect}, type=#{type}"}
|
373
383
|
# 9.1.1) Let context be a copy of evaluation context with current type set to type and current vocabulary set to vocab.
|
374
|
-
ec_new = ec.merge({:
|
384
|
+
ec_new = ec.merge({current_type: type, current_vocabulary: vocab})
|
375
385
|
|
376
386
|
# 9.1.2) Let predicate be the result of generate predicate URI using context and name. Update context by setting current name to predicate.
|
377
387
|
predicate = vocab.predicateURI(name, ec_new)
|
@@ -405,7 +415,7 @@ module RDF::Microdata
|
|
405
415
|
element.attribute('itemprop-reverse').to_s.split(' ').compact.each do |name|
|
406
416
|
add_debug(item) {"gentrips(10.1): name=#{name.inspect}"}
|
407
417
|
# 10.1.1) Let context be a copy of evaluation context with current type set to type and current vocabulary set to vocab.
|
408
|
-
ec_new = ec.merge({:
|
418
|
+
ec_new = ec.merge({current_type: type, current_vocabulary: vocab})
|
409
419
|
|
410
420
|
# 10.1.2) Let predicate be the result of generate predicate URI using context and name. Update context by setting current name to predicate.
|
411
421
|
predicate = vocab.predicateURI(name, ec_new)
|
@@ -483,9 +493,9 @@ module RDF::Microdata
|
|
483
493
|
# To collect all the elements in the item root, the user agent must run these steps. They return a list of elements.
|
484
494
|
#
|
485
495
|
# @param [Nokogiri::XML::Element] root
|
486
|
-
# @return Array<Nokogiri::XML::Element>]
|
496
|
+
# @return [Array<Nokogiri::XML::Element>]
|
487
497
|
# Resultant elements and error count
|
488
|
-
# @raise CrawlFailure on element recursion
|
498
|
+
# @raise [CrawlFailure] on element recursion
|
489
499
|
def elements_in_item(root)
|
490
500
|
# Let results and pending be empty lists of elements.
|
491
501
|
# Let errors be zero.
|
@@ -531,7 +541,7 @@ module RDF::Microdata
|
|
531
541
|
when element.has_attribute?('itemscope')
|
532
542
|
{}
|
533
543
|
when element.name == 'meta'
|
534
|
-
RDF::Literal.new(element.attribute('content').to_s, :
|
544
|
+
RDF::Literal.new(element.attribute('content').to_s, language: element.language)
|
535
545
|
when %w(data meter).include?(element.name) && element.attribute('value')
|
536
546
|
# Lexically scan value and assign appropriate type, otherwise, leave untyped
|
537
547
|
v = element.attribute('value').to_s
|
@@ -552,9 +562,9 @@ module RDF::Microdata
|
|
552
562
|
datatype = %w(Date Time DateTime Duration).map {|t| RDF::Literal.const_get(t)}.detect do |dt|
|
553
563
|
v.match(dt::GRAMMAR)
|
554
564
|
end || RDF::Literal
|
555
|
-
datatype.new(v, :
|
565
|
+
datatype.new(v, language: element.language)
|
556
566
|
else
|
557
|
-
RDF::Literal.new(element.inner_text, :
|
567
|
+
RDF::Literal.new(element.inner_text, language: element.language)
|
558
568
|
end
|
559
569
|
add_debug(element) {" #{value.inspect}"}
|
560
570
|
value
|
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.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gregg
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-10-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rdf
|
@@ -276,7 +276,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
276
276
|
version: '0'
|
277
277
|
requirements: []
|
278
278
|
rubyforge_project: rdf-microdata
|
279
|
-
rubygems_version: 2.4.
|
279
|
+
rubygems_version: 2.4.5.1
|
280
280
|
signing_key:
|
281
281
|
specification_version: 4
|
282
282
|
summary: Microdata reader for Ruby.
|