Class: BELRDF::Writer::RDFYielder
- Inherits:
-
Object
- Object
- BELRDF::Writer::RDFYielder
- Defined in:
- lib/bel/translator/plugins/rdf/writer.rb
Constant Summary collapse
- Rdf =
::BEL::Translator::Plugins::Rdf
Instance Attribute Summary collapse
-
#writer ⇒ Object
readonly
Returns the value of attribute writer.
Instance Method Summary collapse
- #<<(nanopub) ⇒ Object
- #done ⇒ Object
-
#initialize(io, format, options = {}) ⇒ RDFYielder
constructor
A new instance of RDFYielder.
Constructor Details
#initialize(io, format, options = {}) ⇒ RDFYielder
Returns a new instance of RDFYielder.
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/bel/translator/plugins/rdf/writer.rb', line 11 def initialize(io, format, = {}) rdf_writer = RDF::Writer.for(format) @writer = rdf_writer.new(io, { :stream => true }) if [:void_dataset_uri] void_dataset_uri = .delete(:void_dataset_uri) void_dataset_uri = RDF::URI(void_dataset_uri) unless void_dataset_uri.valid? raise ArgumentError.new 'void_dataset_uri is not a valid URI' end @void_dataset_uri = void_dataset_uri else @void_dataset_uri = nil end @writer.write_prologue @wrote_dataset = false end |
Instance Attribute Details
#writer ⇒ Object (readonly)
Returns the value of attribute writer.
7 8 9 |
# File 'lib/bel/translator/plugins/rdf/writer.rb', line 7 def writer @writer end |
Instance Method Details
#<<(nanopub) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/bel/translator/plugins/rdf/writer.rb', line 30 def <<(nanopub) if !@wrote_dataset && @void_dataset_uri void_dataset_triples = nanopub.to_void_dataset(@void_dataset_uri) if void_dataset_triples && void_dataset_triples.respond_to?(:each) void_dataset_triples.each do |void_triple| @writer.write_statement(void_triple) end end end nanopub_uri, statements = nanopub.to_rdf statements.each do |statement| @writer.write_statement(statement) end if @void_dataset_uri @writer.write_statement(RDF::Statement.new(@void_dataset_uri, RDF::DC.hasPart, nanopub_uri)) end end |
#done ⇒ Object
49 50 51 |
# File 'lib/bel/translator/plugins/rdf/writer.rb', line 49 def done @writer.write_epilogue end |