Class: BEL::BELRDF::Translator

Inherits:
Object
  • Object
show all
Includes:
Translator
Defined in:
lib/bel/translator/plugins/rdf2/translator.rb

Instance Method Summary collapse

Constructor Details

#initialize(format, write_schema = true) ⇒ Translator

Returns a new instance of Translator.



13
14
15
16
17
18
19
20
21
22
# File 'lib/bel/translator/plugins/rdf2/translator.rb', line 13

def initialize(format, write_schema = true)
  @format      = format
  write_schema = true if write_schema.nil?
  @rdf_schema  =
    if write_schema
      BELV2_0
    else
      []
    end
end

Instance Method Details

#default_prefix_fileObject



42
43
44
45
46
47
48
# File 'lib/bel/translator/plugins/rdf2/translator.rb', line 42

def default_prefix_file
  File.join(
    File.expand_path(File.dirname(__FILE__)),
    'config',
    'default_prefixes.yml'
  )
end

#load_prefixes(options) ⇒ Object



37
38
39
40
# File 'lib/bel/translator/plugins/rdf2/translator.rb', line 37

def load_prefixes(options)
  prefix_file = options[:rdf_prefix_file] || default_prefix_file
  YAML::load_file(prefix_file)
end

#read(data, options = {}) ⇒ Object



24
25
26
# File 'lib/bel/translator/plugins/rdf2/translator.rb', line 24

def read(data, options = {})
  Reader::UnbufferedNanopubYielder.new(data, @format)
end

#write(objects, io = StringIO.new, options = {}) ⇒ Object



28
29
30
31
32
33
34
35
# File 'lib/bel/translator/plugins/rdf2/translator.rb', line 28

def write(objects, io = StringIO.new, options = {})
  rdfw = Writer::RDFWriter.new(io, @format, options)
  objects.each do |nanopub|
    rdfw << nanopub
  end

  io.is_a?(StringIO) ? io.string : io
end