Class: DataFoodConsortium::Connector::SKOSConcept

Inherits:
Object
  • Object
show all
Includes:
SKOSHelper, VirtualAssembly::Semantizer::SemanticObject
Defined in:
lib/datafoodconsortium/connector/skos_concept.rb

Constant Summary collapse

SEMANTIC_TYPE =
"skos:Concept".freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from SKOSHelper

#addAttribute, #hasAttribute

Constructor Details

#initialize(semanticId, broaders: [], schemes: [], narrowers: [], prefLabels: []) ⇒ SKOSConcept

Returns a new instance of SKOSConcept.

Parameters:

  • semanticId (String)
  • broaders (ISKOSConcept) (defaults to: [])
  • schemes (ISKOSConceptScheme) (defaults to: [])
  • narrowers (ISKOSConcept) (defaults to: [])
  • prefLabels (ISKOSLabel) (defaults to: [])


51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/datafoodconsortium/connector/skos_concept.rb', line 51

def initialize(semanticId, broaders: [], schemes: [], narrowers: [], prefLabels: [])
	super(semanticId)
	@broaders = broaders
	@schemes = schemes
	@narrowers = narrowers
	# Sort locale alphabetically
	@prefLabels = prefLabels.sort.to_h
	self.semanticType = "skos:Concept"
	registerSemanticProperty("skos:broader", &method("broaders")).valueSetter = method("broaders=")
	registerSemanticProperty("skos:inScheme", &method("schemes")).valueSetter = method("schemes=")
	registerSemanticProperty("skos:narrower", &method("narrowers")).valueSetter = method("narrowers=")
	registerSemanticProperty("skos:prefLabel", &method("prefLabels")).valueSetter = method("prefLabels=")
end

Instance Attribute Details

#broadersISKOSConcept

Returns:

  • (ISKOSConcept)


35
36
37
# File 'lib/datafoodconsortium/connector/skos_concept.rb', line 35

def broaders
  @broaders
end

#narrowersISKOSConcept

Returns:

  • (ISKOSConcept)


41
42
43
# File 'lib/datafoodconsortium/connector/skos_concept.rb', line 41

def narrowers
  @narrowers
end

#prefLabelsISKOSLabel

Returns:

  • (ISKOSLabel)


44
45
46
# File 'lib/datafoodconsortium/connector/skos_concept.rb', line 44

def prefLabels
  @prefLabels
end

#schemesISKOSConceptScheme

Returns:

  • (ISKOSConceptScheme)


38
39
40
# File 'lib/datafoodconsortium/connector/skos_concept.rb', line 38

def schemes
  @schemes
end