GlossaristGlossarist

Generic Relations

GenericHyperedge is the generalization specialization of Hyperedge — one comprehensive concept (the genus) decomposed into two or more specific concepts (the species) which together constitute a decomposition by some criterion of subdivision. Implements ISO 704:2022 §5.5.4.1 (generic concept systems) and §5.5.4.2.1 (generic relations and delimiting characteristics).

This page covers what’s unique to generic rakes. The shared model — MECE member multiplicity, criterion of subdivision, per-file storage, ExternalConcept as comprehensive — lives on the Hyperedges page.

Why n-ary?

Most generic relations in real datasets are pairwise: binary broader_generic / narrower_generic edges suffice for “X is-a Y” assertions.

GenericHyperedge is for the case where the source diagram shows a rake: one genus at the top, multiple species dropping from a shared backline, where the membership, completeness, or per-member presence/count is jointly significant.

The trigger condition: when a real dataset has generic rakes with multiple criterion-of-subdivision groups, binary edges can’t express the grouping coherently.

The canonical ISO 704:2022 example — computer mouse

ISO 704:2022 §5.5.4.2.1 works through computer mouse in detail. The genus is decomposed under two distinct criteria of subdivision — a phenomenon ISO 704 calls multidimensionality (§5.6.3):

  • By movement detectionmechanical mouse, optomechanical mouse, optical mouse
  • By computer connectionwired mouse, wireless mouse

Each rake is its own GenericHyperedge (its own file under relations/<genus-id>/):

Generic hyperedge — computer mouse with two criteria of subdivision (ISO 704:2022 §5.5.4.2.1)
Generic hyperedge — ISO 704:2022 §5.5.4.2.1 canonical computer-mouse example with two criterion rakes and per-species delimiting characteristics.

Species within one rake are coordinate concepts (share genus + share criterion). Species across rakes are NOT coordinate — optical mouse (criterion: movement detection) and wireless mouse (criterion: connection) share the genus but no criterion, so they don’t belong to the same coordinate set.

Per-species delimiting characteristic (ISO 704:2022 §5.5.4.2.1)

ISO 704:2022 requires every species to carry at least one delimiting characteristic — the intension-difference that distinguishes it from coordinate concepts. For computer mouse under movement detection:

SpeciesDelimiting characteristic
mechanical mousedetecting movement by means of rollers
optomechanical mousedetecting movement by means of rollers and light sensors
optical mousedetecting movement by means of light sensors

Unlike partitive rakes, where is_delimiting is a boolean flag on PartitiveMember (some parts delimit, others don’t), every GenericMember carries its delimiting characteristic as data: a required delimitingCharacteristic: LocalizedString field holding the actual text. This is the intension-difference between the species and its coordinate siblings — without it, the rake is just a list of narrower concepts, not a coordinated decomposition.

glossarist-js enforces delimitingCharacteristic’s presence and non-emptiness at construction time on every GenericMember.

Inheritance principle (ISO 704:2022 §5.5.4.2.1 Note 1)

“If concept B is a specific concept of the generic concept A, then the intension of A is part of the intension of B.”

The species inherits the genus intension plus its delimiting characteristic. ISO 704 calls a vertical chain of generic relations a concept ladder; a group of coordinate concepts forms a horizontal series. The inheritance principle is a validation test for generic relations: if a putative species’s intension does not include the genus intension, the relation is wrong.

Glossarist does not materialize inherited characteristics on the species (that would duplicate the genus’s definition onto every species). The inheritance principle is a reasoning pattern over correct definitions — see “What we deliberately did not do” in the v3.3 announcement.

Multidimensionality in real data — OIML V 2-200:2010

The computer mouse example has 2 criteria. Real terminology vocabularies go further: OIML V 2-200:2010 carries vocabularies where a single genus is decomposed under 6 distinct criteria.

GenusCriterion groups
5.1 measurement standard6 (by realization medium, by calibration role, by governance level, by metrological hierarchy, by reference/working, by travel)
1.9 measurement unit2 (by system membership, by unit multiple)
(precision condition of measurement) [ExternalConcept]2 (by condition type, by precision level)

Each criterion group is a distinct GenericHyperedge. Without the hyperedge shape, these decompositions collapse into an undifferentiated list of binary narrower_generic edges with no way to say which species belong to which rake.

Generalization hyperedge — measurement standard with two criterion groups
Generalization hyperedge — OIML measurement standard with two criterion groups (multidimensionality).

YAML authoring

Per-file layout: relations/<comprehensive-id>/<criterion-slug>.yaml (see Hyperedges — Per-file storage for the rationale).

# relations/example-computer-mouse/by-movement-detection.yaml
$id: example-computer-mouse/by-movement-detection
type: generic_relation
status: valid
comprehensive: { source: EXAMPLE, id: computer-mouse }
members:
  - ref: { source: EXAMPLE, id: mechanical-mouse }
    delimitingCharacteristic: { eng: detecting movement by means of rollers }
  - ref: { source: EXAMPLE, id: optomechanical-mouse }
    delimitingCharacteristic: { eng: detecting movement by means of rollers and light sensors }
  - ref: { source: EXAMPLE, id: optical-mouse }
    delimitingCharacteristic: { eng: detecting movement by means of light sensors }
completeness: complete
criterion: { eng: by movement detection }
sources:
  - type: authoritative
    origin:
      ref: { source: ISO, id: "704:2022" }
      locality: { type: figure, reference_from: "§5.5.4.2.1 Example 4" }

The companion rake lives next to it:

# relations/example-computer-mouse/by-computer-connection.yaml
$id: example-computer-mouse/by-computer-connection
type: generic_relation
status: valid
comprehensive: { source: EXAMPLE, id: computer-mouse }
members:
  - ref: { source: EXAMPLE, id: wired-mouse }
    delimitingCharacteristic: { eng: using a corded electrical connection }
  - ref: { source: EXAMPLE, id: wireless-mouse }
    delimitingCharacteristic: { eng: using a cordless light or sound connection }
completeness: complete
criterion: { eng: by computer connection }
sources:
  - type: authoritative
    origin:
      ref: { source: ISO, id: "704:2022" }
      locality: { type: figure, reference_from: "§5.5.4.2.1 Example 4" }

The directory relations/example-computer-mouse/ IS the index — every criterion group on computer-mouse enumerated as a sibling file.

OIML-scale example

# relations/viml-5-1/by-realization-medium.yaml
$id: viml-5-1/by-realization-medium
type: generic_relation
status: valid
comprehensive:
  source: VIML
  id: "5.1"
members:
  - ref: { source: VIML, id: "5.13" }
    delimitingCharacteristic: { eng: material sufficiently homogeneous and stable for a certified property }
  - ref: { source: VIML, id: "3.2" }
    delimitingCharacteristic: { eng: assembly of measuring instruments and auxiliary apparatus }
  - ref: { source: VIML, id: "3.6" }
    delimitingCharacteristic: { eng: device that reproduces a given quantity value during use }
completeness: complete
criterion:
  eng: by realization medium
  fra: par milieu de réalisation
sources:
  - type: authoritative
    origin:
      ref: { source: OIML, id: "V 2-200:2010" }
      locality: { type: figure, reference_from: "5.1/Fig.1" }

The same genus carries 5 more hyperedges (one per remaining criterion group), each in its own file under relations/viml-5-1/.

Field reference

FieldTypeNotes
$idstring<comprehensive-id>/<criterion-slug> — must match file path
typeenumgeneric_relation (wire discriminator)
comprehensiveConceptRefThe genus concept
membersGenericMember[2..*]The species concepts
completenesscomplete | partialDefault: complete
criterionLocalizedStringISO 12620 subdivision principle (disambiguates rakes on the same genus — multidimensionality)
sourcesConceptSource[]Bibliographic provenance
notesLocalizedStringOptional commentary
statusConceptStatusLifecycle (independent of genus)

GenericMember fields

GenericMember extends HyperedgeMember with one required field:

FieldTypeNotes
refConceptRefThe species concept (inherited from HyperedgeMember)
presencerequired | optionalISO 704 line style; default required (inherited)
countexactly_one | at_least_one | multipleISO 704 line count; default exactly_one (inherited)
delimitingCharacteristicLocalizedStringRequired — ISO 704 §5.5.4.2.1 intension-difference from coordinate concepts

The shared MECE dimensions (presence, count) are documented under Hyperedges — MECE member multiplicity.

RDF emission

<concept/example-computer-mouse> gloss:hasGenericHyperedge [
  a gloss:GenericHyperedge ;
  gloss:comprehensive <concept/example-computer-mouse> ;
  gloss:hasGeneric
    [ a gloss:GenericMember ; gloss:ref <concept/mechanical-mouse> ;
      gloss:delimitingCharacteristic "detecting movement by means of rollers"@en ] ,
    [ a gloss:GenericMember ; gloss:ref <concept/optomechanical-mouse> ;
      gloss:delimitingCharacteristic "detecting movement by means of rollers and light sensors"@en ] ,
    [ a gloss:GenericMember ; gloss:ref <concept/optical-mouse> ;
      gloss:delimitingCharacteristic "detecting movement by means of light sensors"@en ] ;
  gloss:completeness <completeness/complete> ;
  gloss:criterion "by movement detection"@en ;
] .

Validation

The check-generic-relation-coherence validator (and glossarist-js construction-time checks) enforces generic-specific invariants:

  • Cardinality: ≥ 2 species per rake (ISO 704 “two or more”)
  • delimitingCharacteristic required on every GenericMember (ISO 704 §5.5.4.2.1)
  • No duplicate (comprehensive, criterion) pairs on the same genus
  • Invalid MECE combo (optional + at_least_one) rejected
  • Warning when a genus has 2+ rakes and any lack criterion — multidimensionality can’t be verified without it

Shared validation rules are listed under Hyperedges — Validators.

Relation to PartitiveHyperedge

PartitiveHyperedgeGenericHyperedge
comprehensive meansthe wholethe genus
members arepartsspecies
ISO 704 section§5.5.4.3 / §5.5.4.2.2§5.5.4.1 / §5.5.4.2.1
Member delimiting semanticsis_delimiting: boolean (optional flag — some parts delimit)delimitingCharacteristic: LocalizedString (required text — every species carries one)
Wire shapeidenticalidentical
Validatorsshared (NaryCoherence)shared

The split between is_delimiting (on PartitiveMember) and delimitingCharacteristic (on GenericMember) is deliberate — the two leaves model genuinely different ISO 704 semantics, not a flag-vs-text rendering of the same concept. The abstract HyperedgeMember carries only the shared MECE pair; each leaf adds its own delimiting dimension.

See also

  • Hyperedges — abstract base model (shared MECE, per-file storage, ExternalConcept)
  • Partitive Relations — whole/part specialization
  • Relationships — binary typed edges (broader_generic, narrower_generic, etc.)
  • Concepts — ManagedConcept, LocalizedConcept, ExternalConcept
  • ISO 704:2022 §5.5.4.1, §5.5.4.2.1, §5.6.3 — generic concept systems, generic relations, multidimensionality