rdf-json 1.99.0 → 2.0.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 87ef4b7b6ad563714cf9e145f0b2519db02df22b
4
- data.tar.gz: 63343732f7e824abb4e55621b42c4902c45feb1b
3
+ metadata.gz: 154e7fa55e959df970398bc70f9a7053a7b67750
4
+ data.tar.gz: 2dcf9417e9175cfd8d6dde901b64fa200debee48
5
5
  SHA512:
6
- metadata.gz: b0a93b2946ab3392f5010b15c3f2a4611ac87da7fe3232129427fe1f152b0233f121f7ef17a0ae8119b8a0f6173b97927f658d9f75ca9a4b81c6bffa22bf5bc4
7
- data.tar.gz: 4c04874942c0951b69c7287ec36b9aa6687e70b6d0ec670ec844ffeca62818fed4a2f9879b972e86aaea2d2250a875da282c718a0dc3584363de366c091e91bc
6
+ metadata.gz: 46232f5d84a8cca3aeabc3f40af9f163a331d5534d6d15ad51fa32d2bbc3aa488e5956560d4c14721aabde2dc9e536aa394cb2d0b1eea518f8f510308758930d
7
+ data.tar.gz: e930686197617083944f30d154468f6856de21be4b88a704c44cb565349763722009ba40a51a3acee113c5965e36021ea52e0e0ddf9047f98835b8db73ed39ea
File without changes
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.99.0
1
+ 2.0.0.beta1
@@ -29,6 +29,7 @@ module RDF::JSON
29
29
  #
30
30
  # @see http://n2.talis.com/wiki/RDF_JSON_Specification
31
31
  class Reader < RDF::Reader
32
+ include RDF::Util::Logger
32
33
  format RDF::JSON::Format
33
34
 
34
35
  ##
@@ -48,20 +49,6 @@ module RDF::JSON
48
49
  # @yieldreturn [void] ignored
49
50
  def initialize(input = $stdin, options = {}, &block)
50
51
  super do
51
- @graph = RDF::Graph.new
52
-
53
- @input.rewind
54
- ::JSON.parse(@input.read).each do |subject, predicates|
55
- subject = parse_subject(subject)
56
- predicates.each do |predicate, objects|
57
- predicate = parse_predicate(predicate)
58
- objects.each do |object|
59
- object = parse_object(object)
60
- @graph << [subject, predicate, object]
61
- end
62
- end
63
- end
64
-
65
52
  if block_given?
66
53
  case block.arity
67
54
  when 0 then instance_eval(&block)
@@ -99,8 +86,8 @@ module RDF::JSON
99
86
  # @param [Hash{String => Object}] object
100
87
  # @return [RDF::Value]
101
88
  def parse_object(object)
102
- raise RDF::ReaderError, "missing 'type' key in #{object.inspect}" unless object.has_key?('type')
103
- raise RDF::ReaderError, "missing 'value' key in #{object.inspect}" unless object.has_key?('value')
89
+ log_error("missing 'type' key in #{object.inspect}", exception: RDF::ReaderError) unless object.has_key?('type')
90
+ log_error("missing 'value' key in #{object.inspect}", exception: RDF::ReaderError) unless object.has_key?('value')
104
91
 
105
92
  case type = object['type']
106
93
  when 'bnode'
@@ -116,8 +103,10 @@ module RDF::JSON
116
103
  literal.canonicalize! if canonicalize?
117
104
  literal
118
105
  else
119
- raise RDF::ReaderError, "expected 'type' to be 'bnode', 'uri', or 'literal', but got #{type.inspect}"
106
+ log_error("expected 'type' to be 'bnode', 'uri', or 'literal', but got #{type.inspect}", exception: RDF::ReaderError)
120
107
  end
108
+ rescue RDF::ReaderError
109
+ nil
121
110
  end
122
111
 
123
112
  ##
@@ -127,7 +116,9 @@ module RDF::JSON
127
116
  # @return [RDF::Node]
128
117
  # @since 0.3.0
129
118
  def parse_node(string)
130
- RDF::Node.new(string[2..-1]) # strips off the initial '_:'
119
+ @nodes ||= {}
120
+ id = string[2..-1] # strips off the initial '_:'
121
+ @nodes[id.to_sym] ||= RDF::Node.new(id)
131
122
  end
132
123
  alias_method :parse_bnode, :parse_node
133
124
 
@@ -146,25 +137,31 @@ module RDF::JSON
146
137
  uri
147
138
  end
148
139
 
149
- ##
150
- # @private
151
- # @see RDF::Reader#each_graph
152
- # @since 0.2.0
153
- def each_graph(&block)
154
- if block_given?
155
- block.call(@graph)
156
- end
157
- enum_graph
158
- end
159
-
160
140
  ##
161
141
  # @private
162
142
  # @see RDF::Reader#each_statement
163
143
  def each_statement(&block)
164
144
  if block_given?
165
- @graph.each_statement(&block)
145
+ @input.rewind rescue nil
146
+ begin
147
+ ::JSON.parse(@input.read).each do |subject, predicates|
148
+ subject = parse_subject(subject)
149
+ predicates.each do |predicate, objects|
150
+ predicate = parse_predicate(predicate)
151
+ objects.each do |object|
152
+ object = parse_object(object)
153
+ yield RDF::Statement(subject, predicate, object) if object
154
+ end
155
+ end
156
+ end
157
+ rescue ::JSON::ParserError => e
158
+ log_error(e.message)
159
+ end
160
+ if validate? && log_statistics[:error]
161
+ raise RDF::ReaderError, "Errors found during processing"
162
+ end
166
163
  end
167
- enum_statement
164
+ enum_for(:each_statement)
168
165
  end
169
166
 
170
167
  ##
@@ -172,9 +169,11 @@ module RDF::JSON
172
169
  # @see RDF::Reader#each_triple
173
170
  def each_triple(&block)
174
171
  if block_given?
175
- @graph.each_triple(&block)
172
+ each_statement do |statement|
173
+ block.call(*statement.to_triple)
174
+ end
176
175
  end
177
- enum_triple
176
+ enum_for(:each_triple)
178
177
  end
179
178
  end # Reader
180
179
  end # RDF::JSON
@@ -14,6 +14,6 @@ module RDF; module JSON
14
14
 
15
15
  ##
16
16
  # @return [Array(Integer, Integer, Integer)]
17
- def self.to_a() [MAJOR, MINOR, TINY] end
17
+ def self.to_a() STRING.split(".") end
18
18
  end
19
19
  end; end
@@ -55,6 +55,7 @@ module RDF::JSON
55
55
  # @see #write_triple
56
56
  def write_epilogue
57
57
  puts @json.to_json
58
+ super
58
59
  end
59
60
 
60
61
  ##
metadata CHANGED
@@ -1,57 +1,75 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdf-json
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.99.0
4
+ version: 2.0.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arto Bendiken
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-09 00:00:00.000000000 Z
11
+ date: 2016-02-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rdf
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 2.0.0.beta
20
+ - - "<"
18
21
  - !ruby/object:Gem::Version
19
- version: '1.99'
22
+ version: '3'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 2.0.0.beta
30
+ - - "<"
25
31
  - !ruby/object:Gem::Version
26
- version: '1.99'
32
+ version: '3'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: rdf-spec
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
- - - "~>"
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: 2.0.0.beta
40
+ - - "<"
32
41
  - !ruby/object:Gem::Version
33
- version: '1.99'
42
+ version: '3'
34
43
  type: :development
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
37
46
  requirements:
38
- - - "~>"
47
+ - - ">="
39
48
  - !ruby/object:Gem::Version
40
- version: '1.99'
49
+ version: 2.0.0.beta
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: '3'
41
53
  - !ruby/object:Gem::Dependency
42
54
  name: rdf-isomorphic
43
55
  requirement: !ruby/object:Gem::Requirement
44
56
  requirements:
45
- - - "~>"
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: 2.0.0.beta
60
+ - - "<"
46
61
  - !ruby/object:Gem::Version
47
- version: '1.99'
62
+ version: '3'
48
63
  type: :development
49
64
  prerelease: false
50
65
  version_requirements: !ruby/object:Gem::Requirement
51
66
  requirements:
52
- - - "~>"
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: 2.0.0.beta
70
+ - - "<"
53
71
  - !ruby/object:Gem::Version
54
- version: '1.99'
72
+ version: '3'
55
73
  - !ruby/object:Gem::Dependency
56
74
  name: rspec
57
75
  requirement: !ruby/object:Gem::Requirement
@@ -102,7 +120,7 @@ extra_rdoc_files: []
102
120
  files:
103
121
  - AUTHORS
104
122
  - CREDITS
105
- - README
123
+ - README.md
106
124
  - UNLICENSE
107
125
  - VERSION
108
126
  - etc/doap.rj
@@ -114,7 +132,7 @@ files:
114
132
  - lib/rdf/json/writer.rb
115
133
  homepage: http://ruby-rdf.github.com/rdf-json
116
134
  licenses:
117
- - Public Domain
135
+ - Unlicense
118
136
  metadata: {}
119
137
  post_install_message:
120
138
  rdoc_options: []
@@ -124,15 +142,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
124
142
  requirements:
125
143
  - - ">="
126
144
  - !ruby/object:Gem::Version
127
- version: 1.9.2
145
+ version: '2.0'
128
146
  required_rubygems_version: !ruby/object:Gem::Requirement
129
147
  requirements:
130
- - - ">="
148
+ - - ">"
131
149
  - !ruby/object:Gem::Version
132
- version: '0'
150
+ version: 1.3.1
133
151
  requirements: []
134
152
  rubyforge_project: rdf
135
- rubygems_version: 2.4.5.1
153
+ rubygems_version: 2.5.1
136
154
  signing_key:
137
155
  specification_version: 4
138
156
  summary: RDF/JSON support for RDF.rb.