Class: Label::Relation::SKOSXL::Base

Inherits:
Base show all
Defined in:
app/models/label/relation/skosxl/base.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

bidirectional?, by_domain, by_range, by_range_origin, edit_partial_name, partial_name, range_editor_selectable, range_in_edit_mode, view_section, view_section_sort_key

Class Method Details

.build_from_rdf(subject, predicate, object) ⇒ Object



4
5
6
# File 'app/models/label/relation/skosxl/base.rb', line 4

def self.build_from_rdf(subject, predicate, object)
  create(domain: subject, range: object)
end

Instance Method Details

#build_rdf(document, subject) ⇒ Object



8
9
10
11
12
13
# File 'app/models/label/relation/skosxl/base.rb', line 8

def build_rdf(document, subject)
  pred = self.class == Label::Relation::SKOSXL::Base ? :labelRelation : self.rdf_predicate
  raise "Match::SKOS::Base#build_rdf: Class #{self.class.name} needs to define self.rdf_namespace and self.rdf_predicate." unless pred

  subject.send(self.rdf_namespace.camelcase).send(pred, IqRdf.build_uri(range.origin))
end