class Opener::Kaf::Visualizer::Parser

Attributes

doc[R]
document[R]
entities[R]
opinions[R]
properties[R]
terms[R]
words[R]

Public Class Methods

new(input_file_handler) click to toggle source
# File lib/opener/s3_outlet/visualizer.rb, line 8
def initialize(input_file_handler)
  @doc = Nokogiri::XML(input_file_handler)
end

Public Instance Methods

parse() click to toggle source
# File lib/opener/s3_outlet/visualizer.rb, line 12
def parse
  @words      = parse_words
  @terms      = parse_terms
  @entities   = parse_entities
  @properties = parse_properties
  @opinions   = parse_opinions
  @document   = KAFDocument.new(
    :words => words,
    :terms => terms,
    :entities => entities,
    :properties => properties,
    :opinions => opinions
  )

  return document
end
parse_elements(xpath, klass, opts={}) click to toggle source
# File lib/opener/s3_outlet/visualizer.rb, line 51
def parse_elements(xpath, klass, opts={})
  elements = doc.xpath(xpath)
  lookup_table = Hash.new
  elements.each do |element|
    instance = klass.new(element, opts)
    lookup_table[instance.id] = instance
  end
  lookup_table
end
parse_entities() click to toggle source
# File lib/opener/s3_outlet/visualizer.rb, line 39
def parse_entities
  parse_elements("//entity", Entity, :terms=>terms)
end
parse_opinions() click to toggle source
# File lib/opener/s3_outlet/visualizer.rb, line 47
def parse_opinions
  parse_elements("//opinion", Opinion, :terms=>terms)
end
parse_properties() click to toggle source
# File lib/opener/s3_outlet/visualizer.rb, line 43
def parse_properties
  parse_elements("//property", Property, :terms=>terms)
end
parse_terms() click to toggle source
# File lib/opener/s3_outlet/visualizer.rb, line 33
def parse_terms
  # Of course terms should be words here.
  # Dirty Hack, sufficient for now.
  parse_elements("//term", Term, :terms=>words)
end
parse_words() click to toggle source
# File lib/opener/s3_outlet/visualizer.rb, line 29
def parse_words
  parse_elements("//wf", Word)
end