rdf-json 1.99.0 → 2.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
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.