Class: Glossarist::V3::ConceptSystem

Inherits:
Lutaml::Model::Serializable
  • Object
show all
Defined in:
lib/glossarist/v3/concept_system.rb

Overview

ConceptSystem — first-class concept system entity per ISO 12620 A.7.

Promotes the previously-implicit concept system (domains + tags + relation graph) to an explicit first-class entity. Per-file at concept-systems/<id>.yaml.

A ConceptSystem carries:

- id: stable identifier
- name: localized human-readable name
- type: ConceptSystemType (generic / partitive / sequential /
associative / mixed)
- members: ConceptRefs of concepts in the system
- hyperedges: references to per-file hyperedge $ids
- root_concepts: top-level concepts (no superordinate)
- sources, status: provenance and lifecycle

See docs/design/concept-systems.md in concept-model repo.

Instance Method Summary collapse

Instance Method Details

#associative?Boolean

Returns:

  • (Boolean)


59
# File 'lib/glossarist/v3/concept_system.rb', line 59

def associative? = type == ConceptSystemType::ASSOCIATIVE

#generic?Boolean

Returns:

  • (Boolean)


56
# File 'lib/glossarist/v3/concept_system.rb', line 56

def generic? = type == ConceptSystemType::GENERIC

#mixed?Boolean

Returns:

  • (Boolean)


60
# File 'lib/glossarist/v3/concept_system.rb', line 60

def mixed? = type == ConceptSystemType::MIXED

#partitive?Boolean

Returns:

  • (Boolean)


57
# File 'lib/glossarist/v3/concept_system.rb', line 57

def partitive? = type == ConceptSystemType::PARTITIVE

#sequential?Boolean

Returns:

  • (Boolean)


58
# File 'lib/glossarist/v3/concept_system.rb', line 58

def sequential? = type == ConceptSystemType::SEQUENTIAL

#validate!Object



48
49
50
51
52
53
54
# File 'lib/glossarist/v3/concept_system.rb', line 48

def validate!
  validate_id!
  validate_name!
  validate_type!
  validate_members!
  self
end