Sha256: 127ceb932e21b0d6e59a3aff4fd51333b5e8d241b8d6eca727281e4daee80dfc

Contents?: true

Size: 877 Bytes

Versions: 50

Compression:

Stored size: 877 Bytes

Contents

require 'rdf/vocab'

module Ddr::Vocab
  class Vocabulary

    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

    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

    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

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

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

  end
end

Version data entries

50 entries across 50 versions & 2 rubygems

Version Path
ddr-core-1.8.0 lib/ddr/vocab/vocabulary.rb
ddr-core-1.7.0 lib/ddr/vocab/vocabulary.rb
ddr-core-1.6.6 lib/ddr/vocab/vocabulary.rb
ddr-core-1.6.5 lib/ddr/vocab/vocabulary.rb
ddr-core-1.6.4 lib/ddr/vocab/vocabulary.rb
ddr-core-1.6.3 lib/ddr/vocab/vocabulary.rb
ddr-core-1.6.2 lib/ddr/vocab/vocabulary.rb
ddr-core-1.6.1 lib/ddr/vocab/vocabulary.rb
ddr-core-1.6.0 lib/ddr/vocab/vocabulary.rb
ddr-core-1.5.5 lib/ddr/vocab/vocabulary.rb
ddr-core-1.5.4 lib/ddr/vocab/vocabulary.rb
ddr-core-1.5.2 lib/ddr/vocab/vocabulary.rb
ddr-core-1.5.3 lib/ddr/vocab/vocabulary.rb
ddr-core-1.5.1 lib/ddr/vocab/vocabulary.rb
ddr-core-1.4.4 lib/ddr/vocab/vocabulary.rb
ddr-core-1.4.3 lib/ddr/vocab/vocabulary.rb
ddr-core-1.4.2 lib/ddr/vocab/vocabulary.rb
ddr-core-1.4.0 lib/ddr/vocab/vocabulary.rb
ddr-core-1.3.0 lib/ddr/vocab/vocabulary.rb
ddr-core-1.2.0 lib/ddr/vocab/vocabulary.rb