Class: Ddr::Vocab::Vocabulary

Inherits:
Object
  • Object
show all
Defined in:
lib/ddr/vocab/vocabulary.rb

Class Method Summary collapse

Class Method Details

.label(rdf_vocabulary) ⇒ Object



6
7
8
9
10
11
12
13
# File 'lib/ddr/vocab/vocabulary.rb', line 6

def self.label(rdf_vocabulary)
  case rdf_vocabulary.to_uri
  when RDF::Vocab::DC.to_uri
    "DC Terms"
  when DukeTerms.to_uri
    "Duke Terms"
  end
end

.namespace_prefix(rdf_vocabulary) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/ddr/vocab/vocabulary.rb', line 15

def self.namespace_prefix(rdf_vocabulary)
  case rdf_vocabulary.to_uri
  when RDF::Vocab::DC.to_uri
    "dcterms"
  when DukeTerms.to_uri
    "duke"
  end
end

.property_terms(rdf_vocabulary) ⇒ Object



24
25
26
# File 'lib/ddr/vocab/vocabulary.rb', line 24

def self.property_terms(rdf_vocabulary)
  rdf_vocabulary.properties.select { |p| p.type.include?("http://www.w3.org/1999/02/22-rdf-syntax-ns#Property") }
end

.term_name(rdf_vocabulary, term) ⇒ Object



32
33
34
# File 'lib/ddr/vocab/vocabulary.rb', line 32

def self.term_name(rdf_vocabulary, term)
  term.to_s.gsub(rdf_vocabulary.to_uri.to_s, "").to_sym
end

.term_names(rdf_vocabulary) ⇒ Object



28
29
30
# File 'lib/ddr/vocab/vocabulary.rb', line 28

def self.term_names(rdf_vocabulary)
  self.property_terms(rdf_vocabulary).map { |term| self.term_name(rdf_vocabulary, term) }
end