Class: JSON::LD::Reader
- Inherits:
-
RDF::Reader
- Object
- RDF::Reader
- JSON::LD::Reader
- Defined in:
- lib/json/ld/reader.rb
Overview
A JSON-LD parser in Ruby.
Class Method Summary collapse
-
.to_sym ⇒ Object
Override normal symbol generation.
Instance Method Summary collapse
- #each_statement(&block) ⇒ Object
- #each_triple(&block) ⇒ Object
-
#initialize(input = $stdin, options = {}) {|reader| ... } ⇒ Reader
constructor
Initializes the RDF/JSON reader instance.
Constructor Details
#initialize(input = $stdin, options = {}) {|reader| ... } ⇒ Reader
Initializes the RDF/JSON reader instance.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/json/ld/reader.rb', line 28 def initialize(input = $stdin, = {}, &block) [:base_uri] ||= [:base] if .has_key?(:base) [:base] ||= [:base_uri] if .has_key?(:base_uri) super do begin @doc = JSON.load(input) rescue JSON::ParserError => e raise RDF::ReaderError, "Failed to parse input document: #{e.}" if validate? @doc = JSON.parse("{}") end if block_given? case block.arity when 0 then instance_eval(&block) else block.call(self) end end end end |
Class Method Details
.to_sym ⇒ Object
Override normal symbol generation
14 15 16 |
# File 'lib/json/ld/reader.rb', line 14 def self.to_sym :jsonld end |
Instance Method Details
#each_statement(&block) ⇒ Object
51 52 53 |
# File 'lib/json/ld/reader.rb', line 51 def each_statement(&block) JSON::LD::API.toRDF(@doc, @options[:context], nil, @options, &block) end |
#each_triple(&block) ⇒ Object
58 59 60 61 62 |
# File 'lib/json/ld/reader.rb', line 58 def each_triple(&block) each_statement do |statement| block.call(*statement.to_triple) end end |