feat: add DesignationRelationship, ConceptRef text, annotations, 52 relationship types#51
Merged
Conversation
…elationship types Aligns with glossarist-ruby PR #172. DesignationRelationship (MECE separation): - New DesignationRelationship class (type + content + target) for designation-level relationships (abbreviated_form_for, short_form_for) - Added to LutaML model, V3 YAML schema, OWL ontology, SHACL shapes, and JSON-LD context - Designation.related now uses DesignationRelationship instead of RelatedConcept — designation links reference text, not concept IDs - hasRelatedConcept domain reduced from 3-level to 2-level (Concept, LocalizedConcept); Designation uses dedicated hasDesignationRelationship ConceptRef text field: - Added text property to concept_ref in V3 schemas (concept.yaml, localized-concept.yaml) and all formal layers (ontology, SHACL, JSON-LD) - Used for lexical relationships identified by designation text Annotations: - Added annotations (DetailedDefinition[0..*]) to Concept.lutaml, gloss:hasAnnotation to ontology, SHACL shape on LocalizedConceptShape, JSON-LD context entry - Distinct from notes — annotations comment on how to interpret the definition, while notes supplement the concept Relationship types expansion: - Expanded RelatedConceptType from 10 to 52 values covering ISO 10241-1, ISO 19135, ISO 25964/SKOS, ISO 12620/TBX - Updated relationship-type.ttl taxonomy with all 52 SKOS concepts - Updated examples demonstrating all relationship types New examples: 16-annotations, 17-register-dataset
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Aligns with glossarist-ruby PR #172 (merged, patch released).
Changes
DesignationRelationship (MECE separation)
New
DesignationRelationshipclass for designation-level relationships (abbreviated_form_for,short_form_for). UnlikeRelatedConcept(which links concepts by identifier),DesignationRelationshiplinks designations by their text — proper separation of concerns.models/concepts/DesignationRelationship.lutaml(new) +Designation.lutamlupdated$defs.designation_relationshipinlocalized-concept.yaml;designation_base.relatednow points to itgloss:DesignationRelationshipclass + 4 propertiesDesignationRelationshipShape+ updatedDesignationShapegloss:hasRelatedConceptdomain reduced from 3-level (Concept, LocalizedConcept, Designation) to 2-level. Designation uses dedicatedgloss:hasDesignationRelationship.ConceptRef
textfieldAdded
textproperty toconcept_refacross all layers — used when a relationship is identified by designation text rather than registry reference (e.g.close_matchby text).Annotations
Added
annotationsfield (reusesDetailedDefinition) across all layers — editorial commentary about the definition, distinct from notes which supplement the concept.Relationship types expansion
Expanded
RelatedConceptTypefrom 10 to 52 values covering the full ISO superset: ISO 10241-1, ISO 19135, ISO 25964/SKOS, ISO 12620/TBX. Updated taxonomy and examples.Verification
Not committed (flagged)
TODO.designation-relationship.md— transient task file, work completeschemas/v3/examples/16-typed-notes.yaml— usestype: annotationinside notes, butdetailed_definitionhas notypefield. Redundant with16-annotations.yamlwhich uses the model-driven separate field approach.