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 8
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 38
def graph
  @graph ||= RDF::Graph.load(source).freeze
end
properties() click to toggle source
# File lib/ddr/vocab/rdf_vocabulary_parser.rb, line 25
def properties
  RDF::Query.execute(graph, properties_query)
end
properties_query() click to toggle source
# File lib/ddr/vocab/rdf_vocabulary_parser.rb, line 29
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 13
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 17
def term_symbols
  term_names.map(&:to_sym)
end
terms() click to toggle source
# File lib/ddr/vocab/rdf_vocabulary_parser.rb, line 21
def terms
  properties.map(&:to_h)
end