class Ddr::Vocab::RDFVocabularyParser

Attributes

prefix[R]
source[R]

Public Class Methods

new(source, prefix = "") click to toggle source
# File lib/ddr/vocab/rdf_vocabulary_parser.rb, line 9
def initialize(source, prefix = "")
  @source = source
  @prefix = prefix
end

Public Instance Methods

graph() click to toggle source
# File lib/ddr/vocab/rdf_vocabulary_parser.rb, line 39
def graph
  @graph ||= RDF::Graph.load(source).freeze
end
properties() click to toggle source
# File lib/ddr/vocab/rdf_vocabulary_parser.rb, line 26
def properties
  RDF::Query.execute(graph, properties_query)
end
properties_query() click to toggle source
# File lib/ddr/vocab/rdf_vocabulary_parser.rb, line 30
def properties_query
  {:resource => {
      RDF.type => RDF.Property,
      RDF::RDFS.label => :label,
      RDF::RDFS.comment => :comment
    }
  }
end
term_names() click to toggle source
# File lib/ddr/vocab/rdf_vocabulary_parser.rb, line 14
def term_names
  @term_names ||= terms.collect { |t| t[:resource].to_s.sub(prefix, "") }.freeze
end
term_symbols() click to toggle source
# File lib/ddr/vocab/rdf_vocabulary_parser.rb, line 18
def term_symbols
  term_names.map(&:to_sym)
end
terms() click to toggle source
# File lib/ddr/vocab/rdf_vocabulary_parser.rb, line 22
def terms
  properties.map(&:to_hash)
end