diff --git a/.gitignore b/.gitignore index e43b0f9..563f8f6 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,6 @@ .DS_Store +.vscode/ +Gemfile.lock +html_documentation/ +images/*.png +reference-docs/*.owl diff --git a/Makefile b/Makefile index 873b801..398e721 100644 --- a/Makefile +++ b/Makefile @@ -19,8 +19,8 @@ PNG := $(patsubst views/%.lutaml,images/%.png,$(SRC)) all: $(PNG) -images/%.png: views/%.lutaml - lutaml -t png -o $@ $< +images/%.png: views/%.lutaml | images + lutaml lml generate -t png -o $@ $< views/%.lutaml: models/%.wsd | views lutaml-wsd2uml $< > $@ @@ -28,7 +28,10 @@ views/%.lutaml: models/%.wsd | views views: mkdir views +images: + mkdir images + clean: - $(RM) images/*.png + -$(RM) images/*.png .PHONY: clean diff --git a/images/ConceptSource.png b/images/ConceptSource.png deleted file mode 100644 index cbf8c33..0000000 Binary files a/images/ConceptSource.png and /dev/null differ diff --git a/images/Concepts.png b/images/Concepts.png deleted file mode 100644 index 9ef5f8e..0000000 Binary files a/images/Concepts.png and /dev/null differ diff --git a/images/Designations.png b/images/Designations.png deleted file mode 100644 index 2049b05..0000000 Binary files a/images/Designations.png and /dev/null differ diff --git a/images/ManagedConcepts.png b/images/ManagedConcepts.png deleted file mode 100644 index c87a180..0000000 Binary files a/images/ManagedConcepts.png and /dev/null differ diff --git a/ontologies/README.md b/ontologies/README.md new file mode 100644 index 0000000..e4a347c --- /dev/null +++ b/ontologies/README.md @@ -0,0 +1,136 @@ +# Glossarist Ontology Suite + +A comprehensive OWL ontology for the [Glossarist concept model](https://github.com/glossarist/concept-model) implementing ISO 10241-1 terminology management. + +## Namespace + +| Prefix | IRI | Purpose | +|--------|-----|---------| +| `gloss:` | `https://www.glossarist.org/ontologies/` | Glossarist-specific classes and properties | +| `skos:` | `http://www.w3.org/2004/02/skos/core#` | Concept scheme, labels, relationships | +| `skosxl:` | `http://www.w3.org/2008/05/skos-xl#` | Reified lexical labels (designations) | +| `iso-thes:` | `http://purl.org/iso25964/skos-thes#` | Hierarchical relationship subtypes | +| `dcterms:` | `http://purl.org/dc/terms/` | Language, bibliographic citation | +| `prov:` | `http://www.w3.org/ns/prov#` | Source provenance | + +## File Layout + +``` +ontologies/ +├── glossarist.ttl # Core OWL ontology — classes and properties +├── glossarist.context.jsonld # JSON-LD @context for the namespace +├── README.md # This file +├── reference-docs/ # W3C reference ontology copies +│ ├── skos.ttl # SKOS namespace reference +│ ├── skos-xl.ttl # SKOS-XL namespace reference +│ └── iso-25964-skos-thes.ttl # ISO 25964 SKOS-Thes reference +├── taxonomies/ # SKOS ConceptSchemes for enum values +│ ├── concept-status.ttl # Concept lifecycle status +│ ├── entry-status.ttl # Localized entry status +│ ├── normative-status.ttl # Designation normative status +│ ├── source-type.ttl # Source type (authoritative/lineage) +│ ├── source-status.ttl # Source status (identical/modified/...) +│ ├── relationship-type.ttl # Glossarist-specific relationship types +│ ├── designation-type.ttl # Designation types (expression/abbreviation/symbol/...) +│ ├── term-type.ttl # ISO 12620 term types (24 values) +│ ├── grammar-gender.ttl # Grammatical gender +│ └── grammar-number.ttl # Grammatical number +└── shapes/ + └── glossarist.shacl.ttl # SHACL validation shapes +``` + +## Design Principles + +1. **SKOS alignment** — `gloss:Concept` is a `skos:Concept`. Designations use `skosxl:Label`. Instant interoperability with SKOS tooling. + +2. **SKOS-XL for designations** — Each designation is both a `gloss:Designation` subclass and a `skosxl:Label`, with `skosxl:literalForm` carrying the text. Preferred designations are linked via `skosxl:prefLabel`, non-preferred via `skosxl:altLabel`. + +3. **ISO 25964 reuse** — Hierarchical relationship subtypes (`broaderGeneric`/`narrowerGeneric`, `broaderPartitive`/`narrowerPartitive`, `broaderInstantial`/`narrowerInstantial`) are reused directly from `iso-thes:` rather than duplicated. + +4. **SKOS taxonomies for enums** — All enumeration values are `skos:Concept` individuals in `skos:ConceptScheme` collections, not OWL named individuals. + +5. **No blank nodes** — All instances are identifiable with proper IRIs. + +## Core Classes + +### Concept Management + +| Class | Alignment | Maps to (glossarist-ruby) | +|-------|-----------|--------------------------| +| `gloss:Concept` | `skos:Concept` | `ManagedConcept` | +| `gloss:LocalizedConcept` | `skos:Concept` | `LocalizedConcept` | +| `gloss:ConceptCollection` | `skos:Collection` | `ManagedConceptCollection` | + +### Designation Hierarchy (MECE) + +``` +gloss:Designation (skosxl:Label) +├── gloss:Expression +│ └── gloss:Abbreviation +└── gloss:Symbol + ├── gloss:LetterSymbol + └── gloss:GraphicalSymbol +``` + +### Supporting Classes + +`Pronunciation`, `GrammarInfo`, `DetailedDefinition`, `ConceptSource`, `ConceptReference`, `RelatedConcept`, `ConceptDate`, `NonVerbalRepresentation`, `DesignationRelationship`, `Citation`, `Locality`. + +## Relationship Property Mapping + +Standard relationships are reused directly: + +| Glossarist type | RDF property | +|----------------|-------------| +| broader / narrower | `skos:broader` / `skos:narrower` | +| broader_generic | `iso-thes:broaderGeneric` | +| broader_partitive | `iso-thes:broaderPartitive` | +| broader_instantial | `iso-thes:broaderInstantial` | +| equivalent | `skos:exactMatch` | +| close_match | `skos:closeMatch` | +| broad_match | `skos:broadMatch` | +| see / related | `skos:related` | + +Glossarist-specific relationships are defined as `gloss:` properties: + +`gloss:deprecates`, `gloss:supersedes`, `gloss:compares`, `gloss:contrasts`, `gloss:sequentiallyRelated`, `gloss:spatiallyRelated`, `gloss:temporallyRelated`, `gloss:hasHomograph`, `gloss:hasFalseFriend`, `gloss:abbreviatedFormFor`, `gloss:shortFormFor`. + +## Usage Example + +```turtle +@prefix gloss: . +@prefix skos: . +@prefix xl: . +@prefix iso-thes: . +@prefix dcterms: . + + a gloss:Concept, skos:Concept ; + gloss:identifier "103-01-01" ; + gloss:hasStatus gloss:status/valid ; + gloss:hasLocalization . + + a gloss:LocalizedConcept, skos:Concept ; + gloss:isLocalizationOf ; + dcterms:language "eng" ; + skosxl:prefLabel ; + gloss:hasDefinition [ + rdf:value "a concept within a defined scope..."@eng + ] . + + a gloss:Expression, iso-thes:PreferredTerm ; + xl:literalForm "geometric node"@eng ; + gloss:normativeStatus gloss:norm/preferred . +``` + +## Validation + +SHACL shapes in `shapes/glossarist.shacl.ttl` validate: +- Concept types and required properties +- Designation class hierarchy and property constraints +- Source, citation, and date structure + +Use [pySHACL](https://github.com/RDFLib/pySHACL) or [Apache Jena](https://jena.apache.org/) to validate instance data against these shapes. + +## License + +CC-BY 4.0 diff --git a/ontologies/glossarist.context.jsonld b/ontologies/glossarist.context.jsonld new file mode 100644 index 0000000..1009d60 --- /dev/null +++ b/ontologies/glossarist.context.jsonld @@ -0,0 +1,189 @@ +{ + "@context": { + "@version": 1.1, + + "gloss": "https://www.glossarist.org/ontologies/", + "skos": "http://www.w3.org/2004/02/skos/core#", + "skosxl": "http://www.w3.org/2008/05/skos-xl#", + "iso-thes": "http://purl.org/iso25964/skos-thes#", + "dcterms": "http://purl.org/dc/terms/", + "prov": "http://www.w3.org/ns/prov#", + "owl": "http://www.w3.org/2002/07/owl#", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "vann": "http://purl.org/vocab/vann/", + + "Concept": "gloss:Concept", + "ConceptCollection": "gloss:ConceptCollection", + "LocalizedConcept": "gloss:LocalizedConcept", + "Designation": "gloss:Designation", + "Expression": "gloss:Expression", + "Abbreviation": "gloss:Abbreviation", + "Symbol": "gloss:Symbol", + "LetterSymbol": "gloss:LetterSymbol", + "GraphicalSymbol": "gloss:GraphicalSymbol", + "Pronunciation": "gloss:Pronunciation", + "GrammarInfo": "gloss:GrammarInfo", + "DetailedDefinition": "gloss:DetailedDefinition", + "ConceptSource": "gloss:ConceptSource", + "ConceptReference": "gloss:ConceptReference", + "RelatedConcept": "gloss:RelatedConcept", + "ConceptDate": "gloss:ConceptDate", + "NonVerbalRepresentation": "gloss:NonVerbalRepresentation", + "DesignationRelationship": "gloss:DesignationRelationship", + "Citation": "gloss:Citation", + "Locality": "gloss:Locality", + + "identifier": { "@id": "gloss:identifier", "@type": "xsd:string" }, + "hasLocalization": { "@id": "gloss:hasLocalization", "@type": "@id" }, + "isLocalizationOf": { "@id": "gloss:isLocalizationOf", "@type": "@id" }, + "hasStatus": { "@id": "gloss:hasStatus", "@type": "@id" }, + "hasDomain": { "@id": "gloss:hasDomain", "@type": "@id" }, + "hasRelatedConcept": { "@id": "gloss:hasRelatedConcept", "@type": "@id" }, + "hasDate": { "@id": "gloss:hasDate", "@type": "@id" }, + "hasSource": { "@id": "gloss:hasSource", "@type": "@id" }, + + "hasEntryStatus": { "@id": "gloss:hasEntryStatus", "@type": "@id" }, + "hasDesignation": { "@id": "gloss:hasDesignation", "@type": "@id" }, + "hasDefinition": { "@id": "gloss:hasDefinition", "@type": "@id" }, + "hasNote": { "@id": "gloss:hasNote", "@type": "@id" }, + "hasExample": { "@id": "gloss:hasExample", "@type": "@id" }, + "hasNonVerbalRep": { "@id": "gloss:hasNonVerbalRep", "@type": "@id" }, + "domain": { "@id": "gloss:domain", "@type": "xsd:anyURI" }, + "release": { "@id": "gloss:release", "@type": "xsd:string" }, + "lineageSimilarity": { "@id": "gloss:lineageSimilarity", "@type": "xsd:integer" }, + + "normativeStatus": { "@id": "gloss:normativeStatus", "@type": "@id" }, + "hasPronunciation": { "@id": "gloss:hasPronunciation", "@type": "@id" }, + "hasTermType": { "@id": "gloss:hasTermType", "@type": "@id" }, + "hasDesignationRel": { "@id": "gloss:hasDesignationRel", "@type": "@id" }, + "hasGrammarInfo": { "@id": "gloss:hasGrammarInfo", "@type": "@id" }, + "geographicalArea": { "@id": "gloss:geographicalArea", "@type": "xsd:string" }, + "isInternational": { "@id": "gloss:isInternational", "@type": "xsd:boolean" }, + "isAbsent": { "@id": "gloss:isAbsent", "@type": "xsd:boolean" }, + + "prefix": { "@id": "gloss:prefix", "@type": "xsd:string" }, + "usageInfo": { "@id": "gloss:usageInfo", "@type": "xsd:string" }, + "fieldOfApplication": { "@id": "gloss:fieldOfApplication", "@type": "xsd:string" }, + + "isAcronym": { "@id": "gloss:isAcronym", "@type": "xsd:boolean" }, + "isInitialism": { "@id": "gloss:isInitialism", "@type": "xsd:boolean" }, + "isTruncation": { "@id": "gloss:isTruncation", "@type": "xsd:boolean" }, + + "text": { "@id": "gloss:text", "@type": "xsd:string" }, + "image": { "@id": "gloss:image", "@type": "xsd:anyURI" }, + + "pronunciationContent": { "@id": "gloss:pronunciationContent", "@type": "xsd:string" }, + "pronunciationLanguage": { "@id": "gloss:pronunciationLanguage", "@type": "xsd:string" }, + "pronunciationScript": { "@id": "gloss:pronunciationScript", "@type": "xsd:string" }, + "pronunciationCountry": { "@id": "gloss:pronunciationCountry", "@type": "xsd:string" }, + "pronunciationSystem": { "@id": "gloss:pronunciationSystem", "@type": "xsd:string" }, + + "relationshipType": { "@id": "gloss:relationshipType", "@type": "@id" }, + "relationshipContent": { "@id": "gloss:relationshipContent", "@type": "xsd:string" }, + "relationshipRef": { "@id": "gloss:relationshipRef", "@type": "@id" }, + + "refType": { "@id": "gloss:refType", "@type": "xsd:string" }, + "conceptId": { "@id": "gloss:conceptId", "@type": "xsd:string" }, + "sourceUri": { "@id": "gloss:sourceUri", "@type": "xsd:anyURI" }, + "urn": { "@id": "gloss:urn", "@type": "xsd:anyURI" }, + + "sourceType": { "@id": "gloss:sourceType", "@type": "@id" }, + "sourceStatus": { "@id": "gloss:sourceStatus", "@type": "@id" }, + "sourceOrigin": { "@id": "gloss:sourceOrigin", "@type": "@id" }, + "modification": { "@id": "gloss:modification", "@type": "xsd:string" }, + + "citationText": { "@id": "gloss:citationText", "@type": "xsd:string" }, + "citationSource": { "@id": "gloss:citationSource", "@type": "xsd:string" }, + "citationId": { "@id": "gloss:citationId", "@type": "xsd:string" }, + "citationVersion": { "@id": "gloss:citationVersion", "@type": "xsd:string" }, + "citationLink": { "@id": "gloss:citationLink", "@type": "xsd:anyURI" }, + "hasLocality": { "@id": "gloss:hasLocality", "@type": "@id" }, + + "dateValue": { "@id": "gloss:dateValue", "@type": "xsd:dateTime" }, + "dateType": { "@id": "gloss:dateType", "@type": "@id" }, + + "representationType": { "@id": "gloss:representationType", "@type": "xsd:string" }, + "representationRef": { "@id": "gloss:representationRef", "@type": "xsd:anyURI" }, + "representationText": { "@id": "gloss:representationText", "@type": "xsd:string" }, + + "designationRelType": { "@id": "gloss:designationRelType", "@type": "xsd:string" }, + "designationRelTarget": { "@id": "gloss:designationRelTarget", "@type": "xsd:string" }, + + "localityType": { "@id": "gloss:localityType", "@type": "xsd:string" }, + "referenceFrom": { "@id": "gloss:referenceFrom", "@type": "xsd:string" }, + "referenceTo": { "@id": "gloss:referenceTo", "@type": "xsd:string" }, + + "gender": { "@id": "gloss:gender", "@type": "@id" }, + "number": { "@id": "gloss:number", "@type": "@id" }, + "isNoun": { "@id": "gloss:isNoun", "@type": "xsd:boolean" }, + "isVerb": { "@id": "gloss:isVerb", "@type": "xsd:boolean" }, + "isAdjective": { "@id": "gloss:isAdjective", "@type": "xsd:boolean" }, + "isAdverb": { "@id": "gloss:isAdverb", "@type": "xsd:boolean" }, + "isPreposition": { "@id": "gloss:isPreposition", "@type": "xsd:boolean" }, + "isParticiple": { "@id": "gloss:isParticiple", "@type": "xsd:boolean" }, + + "script": { "@id": "gloss:script", "@type": "xsd:string" }, + "conversionSystem": { "@id": "gloss:conversionSystem", "@type": "xsd:string" }, + + "deprecates": { "@id": "gloss:deprecates", "@type": "@id" }, + "deprecatedBy": { "@id": "gloss:deprecatedBy", "@type": "@id" }, + "supersedes": { "@id": "gloss:supersedes", "@type": "@id" }, + "supersededBy": { "@id": "gloss:supersededBy", "@type": "@id" }, + "compares": { "@id": "gloss:compares", "@type": "@id" }, + "contrasts": { "@id": "gloss:contrasts", "@type": "@id" }, + "sequentiallyRelated": { "@id": "gloss:sequentiallyRelated", "@type": "@id" }, + "spatiallyRelated": { "@id": "gloss:spatiallyRelated", "@type": "@id" }, + "temporallyRelated": { "@id": "gloss:temporallyRelated", "@type": "@id" }, + "hasHomograph": { "@id": "gloss:hasHomograph", "@type": "@id" }, + "hasFalseFriend": { "@id": "gloss:hasFalseFriend", "@type": "@id" }, + "abbreviatedFormFor": { "@id": "gloss:abbreviatedFormFor", "@type": "@id" }, + "shortFormFor": { "@id": "gloss:shortFormFor", "@type": "@id" }, + + "prefLabel": "skos:prefLabel", + "altLabel": "skos:altLabel", + "hiddenLabel": "skos:hiddenLabel", + "definition": "skos:definition", + "scopeNote": "skos:scopeNote", + "note": "skos:note", + "example": "skos:example", + "notation": "skos:notation", + "inScheme": { "@id": "skos:inScheme", "@type": "@id" }, + "hasTopConcept": { "@id": "skos:hasTopConcept", "@type": "@id" }, + "broader": { "@id": "skos:broader", "@type": "@id" }, + "narrower": { "@id": "skos:narrower", "@type": "@id" }, + "related": { "@id": "skos:related", "@type": "@id" }, + "exactMatch": { "@id": "skos:exactMatch", "@type": "@id" }, + "closeMatch": { "@id": "skos:closeMatch", "@type": "@id" }, + "broadMatch": { "@id": "skos:broadMatch", "@type": "@id" }, + "narrowMatch": { "@id": "skos:narrowMatch", "@type": "@id" }, + "relatedMatch": { "@id": "skos:relatedMatch", "@type": "@id" }, + + "literalForm": "skosxl:literalForm", + "labelRelation": "skosxl:labelRelation", + + "broaderGeneric": { "@id": "iso-thes:broaderGeneric", "@type": "@id" }, + "narrowerGeneric": { "@id": "iso-thes:narrowerGeneric", "@type": "@id" }, + "broaderPartitive": { "@id": "iso-thes:broaderPartitive", "@type": "@id" }, + "narrowerPartitive": { "@id": "iso-thes:narrowerPartitive", "@type": "@id" }, + "broaderInstantial": { "@id": "iso-thes:broaderInstantial", "@type": "@id" }, + "narrowerInstantial": { "@id": "iso-thes:narrowerInstantial", "@type": "@id" }, + + "language": { "@id": "dcterms:language", "@type": "@id" }, + "bibliographicCitation": { "@id": "dcterms:bibliographicCitation", "@type": "xsd:string" }, + + "wasDerivedFrom": { "@id": "prov:wasDerivedFrom", "@type": "@id" }, + "hadDerivation": { "@id": "prov:hadDerivation", "@type": "@id" }, + "qualifiedDerivation": { "@id": "prov:qualifiedDerivation", "@type": "@id" }, + + "label": "rdfs:label", + "comment": "rdfs:comment", + "seeAlso": { "@id": "rdfs:seeAlso", "@type": "@id" }, + "subClassOf": { "@id": "rdfs:subClassOf", "@type": "@id" }, + + "type": { "@id": "@type", "@container": "@set" }, + "id": "@id", + "value": "rdf:value" + } +} diff --git a/ontologies/glossarist.ttl b/ontologies/glossarist.ttl new file mode 100644 index 0000000..bfe32da --- /dev/null +++ b/ontologies/glossarist.ttl @@ -0,0 +1,798 @@ +# Glossarist Ontology — Core +# +# IRI: https://www.glossarist.org/ontologies/glossarist +# Prefix: gloss: +# +# An OWL ontology for the Glossarist concept model (ISO 10241-1 terminology +# management). Aligns with SKOS (concepts, labels, relationships), SKOS-XL +# (reified lexical labels for designations), ISO 25964 SKOS-Thes (hierarchical +# relationship subtypes, concept groups), PROV-O (source provenance), and +# Dublin Core Terms (language, bibliographic citation). +# +# Every class and property here has a direct correspondence to a field in the +# Glossarist YAML schema (schemas/v2/concept.yaml, localized-concept.yaml). + +@prefix gloss: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix skos: . +@prefix xl: . +@prefix iso-thes: . +@prefix dcterms: . +@prefix prov: . +@prefix vann: . +@prefix xsd: . + + a owl:Ontology ; + rdfs:label "Glossarist Ontology"@en ; + rdfs:comment """ + An OWL ontology for the Glossarist concept model implementing + ISO 10241-1 terminology management. + + Design principles: + - gloss:Concept rdfs:subClassOf skos:Concept — instant SKOS interop + - gloss:Designation rdfs:subClassOf skosxl:Label — SKOS-XL pattern + - Designations are separate named resources, linked via skosxl:prefLabel / skosxl:altLabel + - Relationship subtypes reuse iso-thes: properties directly (broaderGeneric, etc.) + - Source provenance uses prov:qualifiedDerivation + - SKOS ConceptSchemes for all enumeration values (taxonomies/) + """@en ; + vann:preferredNamespacePrefix "gloss" ; + vann:preferredNamespaceUri "https://www.glossarist.org/ontologies/" ; + owl:imports ; + owl:imports ; + owl:imports ; + owl:imports ; + dcterms:title "Glossarist Ontology"@en ; + dcterms:description "OWL ontology for ISO 10241-1 terminology management."@en ; + dcterms:license ; + dcterms:created "2025-05-14"^^xsd:date . + +# ══════════════════════════════════════════════════════════════════════════ +# CLASSES +# ══════════════════════════════════════════════════════════════════════════ + +# ── Concept Management Layer ───────────────────────────────────────────── + +gloss:Concept a owl:Class ; + rdfs:subClassOf skos:Concept ; + rdfs:label "Concept"@en ; + rdfs:comment """ + A managed terminology concept — the top-level entity in Glossarist. + Has status, dates, domains, related concepts, and localizations. + Corresponds to ManagedConcept in glossarist-ruby. + """@en . + +gloss:ConceptCollection a owl:Class ; + rdfs:subClassOf skos:Collection ; + rdfs:label "Concept Collection"@en ; + rdfs:comment """ + A managed collection of concepts (a glossary or register). + Corresponds to ManagedConceptCollection in glossarist-ruby. + """@en . + +# ── Localization Layer ─────────────────────────────────────────────────── + +gloss:LocalizedConcept a owl:Class ; + rdfs:subClassOf skos:Concept ; + rdfs:label "Localized Concept"@en ; + rdfs:comment """ + A concept in a specific language. Contains designations, definition, + notes, examples, sources. Linked to its managed concept via + gloss:isLocalizationOf. + Corresponds to LocalizedConcept in glossarist-ruby. + """@en . + +# ── Designation Hierarchy (MECE) ───────────────────────────────────────── + +gloss:Designation a owl:Class ; + rdfs:subClassOf xl:Label ; + rdfs:label "Designation"@en ; + rdfs:comment """ + Abstract base for all designation types. A designation is both a + gloss:Designation and a skosxl:Label. The xl:literalForm carries the + designation text. + Corresponds to Designation::Base in glossarist-ruby. + """@en . + +gloss:Expression a owl:Class ; + rdfs:subClassOf gloss:Designation ; + rdfs:label "Expression"@en ; + rdfs:comment "A word or phrase used as a designation."@en ; + owl:disjointWith gloss:Symbol . + +gloss:Abbreviation a owl:Class ; + rdfs:subClassOf gloss:Expression ; + rdfs:label "Abbreviation"@en ; + rdfs:comment """ + A shortened form of a word or phrase (acronym, initialism, or truncation). + """@en . + +gloss:Symbol a owl:Class ; + rdfs:subClassOf gloss:Designation ; + rdfs:label "Symbol"@en ; + rdfs:comment "A non-letter symbol representing a concept."@en ; + owl:disjointWith gloss:Expression . + +gloss:LetterSymbol a owl:Class ; + rdfs:subClassOf gloss:Symbol ; + rdfs:label "Letter Symbol"@en ; + rdfs:comment "A single letter used as a symbol."@en . + +gloss:GraphicalSymbol a owl:Class ; + rdfs:subClassOf gloss:Symbol ; + rdfs:label "Graphical Symbol"@en ; + rdfs:comment "An iconic or graphical symbol."@en ; + owl:disjointWith gloss:LetterSymbol . + +# ── Supporting Classes ─────────────────────────────────────────────────── + +gloss:Pronunciation a owl:Class ; + rdfs:label "Pronunciation"@en ; + rdfs:comment """ + A pronunciation or transcription entry for a designation. + Supports IPA, romanization, and other transcription systems. + """@en . + +gloss:GrammarInfo a owl:Class ; + rdfs:label "Grammar Information"@en ; + rdfs:comment """ + Grammatical information about a designation: gender, number, part of speech. + """@en . + +gloss:DetailedDefinition a owl:Class ; + rdfs:label "Detailed Definition"@en ; + rdfs:comment """ + A definition, note, or example with optional per-item sources. + Uses rdf:value for the text content. + """@en . + +gloss:ConceptSource a owl:Class ; + rdfs:label "Concept Source"@en ; + rdfs:comment """ + Bibliographic source with type (authoritative/lineage), status + (identical/modified/...), and an origin citation. + """@en . + +gloss:ConceptReference a owl:Class ; + rdfs:label "Concept Reference"@en ; + rdfs:comment """ + A typed reference to another concept, either local or external. + """@en . + +gloss:RelatedConcept a owl:Class ; + rdfs:label "Related Concept"@en ; + rdfs:comment """ + A concept with a typed relationship (deprecates, broader, equivalent, etc.). + """@en . + +gloss:ConceptDate a owl:Class ; + rdfs:label "Concept Date"@en ; + rdfs:comment "A date in the concept lifecycle (accepted, amended, retired)."@en . + +gloss:NonVerbalRepresentation a owl:Class ; + rdfs:label "Non-Verbal Representation"@en ; + rdfs:comment """ + Reference to an external image, table, or formula resource + (ISO 10241-1 §6.5). + """@en . + +gloss:DesignationRelationship a owl:Class ; + rdfs:label "Designation Relationship"@en ; + rdfs:comment """ + A designation-to-designation link within the same concept entry + (abbreviated_form_for, short_form_for). + """@en . + +gloss:Citation a owl:Class ; + rdfs:label "Citation"@en ; + rdfs:comment """ + Bibliographic citation — structured (source/id/version/locality) or + unstructured (plain text). + """@en . + +gloss:Locality a owl:Class ; + rdfs:label "Locality"@en ; + rdfs:comment "A locality within a cited document (section, clause, page, etc.)."@en . + +# ══════════════════════════════════════════════════════════════════════════ +# OBJECT PROPERTIES — Concept-level +# ══════════════════════════════════════════════════════════════════════════ + +gloss:hasLocalization a owl:ObjectProperty ; + owl:inverseOf gloss:isLocalizationOf ; + rdfs:domain gloss:Concept ; + rdfs:range gloss:LocalizedConcept ; + rdfs:label "has localization"@en ; + rdfs:comment "Links a managed concept to one of its language-specific localizations."@en . + +gloss:isLocalizationOf a owl:ObjectProperty ; + owl:inverseOf gloss:hasLocalization ; + rdfs:domain gloss:LocalizedConcept ; + rdfs:range gloss:Concept ; + rdfs:label "is localization of"@en ; + rdfs:comment "Links a localized concept back to its managed concept."@en . + +gloss:hasStatus a owl:ObjectProperty ; + rdfs:domain gloss:Concept ; + rdfs:range skos:Concept ; + rdfs:label "has status"@en ; + rdfs:comment "Concept lifecycle status (draft, valid, superseded, etc.)."@en . + +gloss:hasDomain a owl:ObjectProperty ; + rdfs:domain gloss:Concept ; + rdfs:range gloss:ConceptReference ; + rdfs:label "has domain"@en ; + rdfs:comment "Links a concept to a domain (subject area) classification."@en . + +gloss:hasRelatedConcept a owl:ObjectProperty ; + rdfs:domain gloss:Concept ; + rdfs:range gloss:RelatedConcept ; + rdfs:label "has related concept"@en ; + rdfs:comment "Links a concept to a related concept with a typed relationship."@en . + +gloss:hasDate a owl:ObjectProperty ; + rdfs:domain gloss:Concept ; + rdfs:range gloss:ConceptDate ; + rdfs:label "has date"@en ; + rdfs:comment "A date in the concept lifecycle."@en . + +gloss:hasSource a owl:ObjectProperty ; + rdfs:domain gloss:Concept ; + rdfs:range gloss:ConceptSource ; + rdfs:label "has source"@en ; + rdfs:comment "Links a concept to a bibliographic source."@en . + +gloss:identifier a owl:DatatypeProperty ; + rdfs:domain gloss:Concept ; + rdfs:range xsd:string ; + rdfs:label "identifier"@en ; + rdfs:comment "The management identifier for the concept."@en . + +# ══════════════════════════════════════════════════════════════════════════ +# OBJECT PROPERTIES — Localized concept +# ══════════════════════════════════════════════════════════════════════════ + +gloss:hasEntryStatus a owl:ObjectProperty ; + rdfs:domain gloss:LocalizedConcept ; + rdfs:range skos:Concept ; + rdfs:label "has entry status"@en ; + rdfs:comment "Localized entry lifecycle status (valid, not_valid, superseded, retired)."@en . + +gloss:hasDesignation a owl:ObjectProperty ; + rdfs:domain gloss:LocalizedConcept ; + rdfs:range gloss:Designation ; + rdfs:label "has designation"@en ; + rdfs:comment "Links a localized concept to one of its designations (terms/symbols)."@en . + +gloss:hasDefinition a owl:ObjectProperty ; + rdfs:domain gloss:LocalizedConcept ; + rdfs:range gloss:DetailedDefinition ; + rdfs:label "has definition"@en ; + rdfs:comment "Links a localized concept to a definition."@en . + +gloss:hasNote a owl:ObjectProperty ; + rdfs:domain gloss:LocalizedConcept ; + rdfs:range gloss:DetailedDefinition ; + rdfs:label "has note"@en ; + rdfs:comment "Links a localized concept to a supplementary note."@en . + +gloss:hasExample a owl:ObjectProperty ; + rdfs:domain gloss:LocalizedConcept ; + rdfs:range gloss:DetailedDefinition ; + rdfs:label "has example"@en ; + rdfs:comment "Links a localized concept to an illustrative example."@en . + +gloss:hasNonVerbalRep a owl:ObjectProperty ; + rdfs:domain gloss:LocalizedConcept ; + rdfs:range gloss:NonVerbalRepresentation ; + rdfs:label "has non-verbal representation"@en ; + rdfs:comment "Links a localized concept to a non-verbal representation resource."@en . + +gloss:domain a owl:DatatypeProperty ; + rdfs:domain gloss:LocalizedConcept ; + rdfs:range xsd:anyURI ; + rdfs:label "domain"@en ; + rdfs:comment "Per-language domain URI reference."@en . + +gloss:release a owl:DatatypeProperty ; + rdfs:domain gloss:LocalizedConcept ; + rdfs:range xsd:string ; + rdfs:label "release"@en ; + rdfs:comment "Release version of this localized concept."@en . + +gloss:lineageSimilarity a owl:DatatypeProperty ; + rdfs:domain gloss:LocalizedConcept ; + rdfs:range xsd:integer ; + rdfs:label "lineage similarity"@en ; + rdfs:comment "Similarity percentage to the lineage source."@en . + +# ══════════════════════════════════════════════════════════════════════════ +# OBJECT PROPERTIES — Designation +# ══════════════════════════════════════════════════════════════════════════ + +gloss:normativeStatus a owl:ObjectProperty ; + rdfs:domain gloss:Designation ; + rdfs:range skos:Concept ; + rdfs:label "normative status"@en ; + rdfs:comment """ + Normative status of a designation (preferred, admitted, deprecated, superseded). + Preferred designations SHOULD also be typed as iso-thes:PreferredTerm; + others as iso-thes:SimpleNonPreferredTerm. + """@en . + +gloss:hasPronunciation a owl:ObjectProperty ; + rdfs:domain gloss:Designation ; + rdfs:range gloss:Pronunciation ; + rdfs:label "has pronunciation"@en . + +gloss:hasTermType a owl:ObjectProperty ; + rdfs:domain gloss:Designation ; + rdfs:range skos:Concept ; + rdfs:label "has term type"@en ; + rdfs:comment "ISO 12620 term type classification."@en . + +gloss:hasDesignationRel a owl:ObjectProperty ; + rdfs:domain gloss:Designation ; + rdfs:range gloss:DesignationRelationship ; + rdfs:label "has designation relationship"@en ; + rdfs:comment "Designation-to-designation link (abbreviated_form_for, short_form_for)."@en . + +gloss:hasGrammarInfo a owl:ObjectProperty ; + rdfs:domain gloss:Expression ; + rdfs:range gloss:GrammarInfo ; + rdfs:label "has grammar info"@en . + +gloss:geographicalArea a owl:DatatypeProperty ; + rdfs:domain gloss:Designation ; + rdfs:range xsd:string ; + rdfs:label "geographical area"@en ; + rdfs:comment "ISO 3166-1 alpha-2 country code."@en . + +gloss:isInternational a owl:DatatypeProperty ; + rdfs:domain gloss:Designation ; + rdfs:range xsd:boolean ; + rdfs:label "is international"@en ; + rdfs:comment "Whether the designation is valid across all languages/regions."@en . + +gloss:isAbsent a owl:DatatypeProperty ; + rdfs:domain gloss:Designation ; + rdfs:range xsd:boolean ; + rdfs:label "is absent"@en ; + rdfs:comment "The designation is explicitly absent for this concept in this language."@en . + +# ── Expression-specific ────────────────────────────────────────────────── + +gloss:prefix a owl:DatatypeProperty ; + rdfs:domain gloss:Expression ; + rdfs:range xsd:string ; + rdfs:label "prefix"@en . + +gloss:usageInfo a owl:DatatypeProperty ; + rdfs:domain gloss:Expression ; + rdfs:range xsd:string ; + rdfs:label "usage info"@en ; + rdfs:comment "Disambiguation context for homonymous designations."@en . + +gloss:fieldOfApplication a owl:DatatypeProperty ; + rdfs:domain gloss:Expression ; + rdfs:range xsd:string ; + rdfs:label "field of application"@en ; + rdfs:comment "Subject field in which the designation is used."@en . + +# ── Abbreviation-specific ──────────────────────────────────────────────── + +gloss:isAcronym a owl:DatatypeProperty ; + rdfs:domain gloss:Abbreviation ; + rdfs:range xsd:boolean ; + rdfs:label "is acronym"@en . + +gloss:isInitialism a owl:DatatypeProperty ; + rdfs:domain gloss:Abbreviation ; + rdfs:range xsd:boolean ; + rdfs:label "is initialism"@en . + +gloss:isTruncation a owl:DatatypeProperty ; + rdfs:domain gloss:Abbreviation ; + rdfs:range xsd:boolean ; + rdfs:label "is truncation"@en . + +# ── Symbol-specific ────────────────────────────────────────────────────── + +gloss:text a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( gloss:LetterSymbol gloss:GraphicalSymbol ) ] ; + rdfs:range xsd:string ; + rdfs:label "text"@en ; + rdfs:comment "Textual representation of a letter or graphical symbol."@en . + +gloss:image a owl:DatatypeProperty ; + rdfs:domain gloss:GraphicalSymbol ; + rdfs:range xsd:anyURI ; + rdfs:label "image"@en ; + rdfs:comment "URI to the graphical symbol image."@en . + +# ══════════════════════════════════════════════════════════════════════════ +# OBJECT PROPERTIES — Pronunciation +# ══════════════════════════════════════════════════════════════════════════ + +gloss:pronunciationContent a owl:DatatypeProperty ; + rdfs:domain gloss:Pronunciation ; + rdfs:range xsd:string ; + rdfs:label "pronunciation content"@en ; + rdfs:comment "Phonetic or transcribed text."@en . + +gloss:pronunciationLanguage a owl:DatatypeProperty ; + rdfs:domain gloss:Pronunciation ; + rdfs:range xsd:string ; + rdfs:label "pronunciation language"@en ; + rdfs:comment "ISO 639 three-character language code."@en . + +gloss:pronunciationScript a owl:DatatypeProperty ; + rdfs:domain gloss:Pronunciation ; + rdfs:range xsd:string ; + rdfs:label "pronunciation script"@en ; + rdfs:comment "ISO 15924 four-letter script code."@en . + +gloss:pronunciationCountry a owl:DatatypeProperty ; + rdfs:domain gloss:Pronunciation ; + rdfs:range xsd:string ; + rdfs:label "pronunciation country"@en ; + rdfs:comment "ISO 3166-1 alpha-2 country code."@en . + +gloss:pronunciationSystem a owl:DatatypeProperty ; + rdfs:domain gloss:Pronunciation ; + rdfs:range xsd:string ; + rdfs:label "pronunciation system"@en ; + rdfs:comment "ISO 24229 conversion system code or simple identifier (e.g. IPA)."@en . + +# ══════════════════════════════════════════════════════════════════════════ +# OBJECT PROPERTIES — Relationship / Reference +# ══════════════════════════════════════════════════════════════════════════ + +gloss:relationshipType a owl:ObjectProperty ; + rdfs:domain gloss:RelatedConcept ; + rdfs:range skos:Concept ; + rdfs:label "relationship type"@en ; + rdfs:comment "The type of relationship between concepts."@en . + +gloss:relationshipContent a owl:DatatypeProperty ; + rdfs:domain gloss:RelatedConcept ; + rdfs:range xsd:string ; + rdfs:label "relationship content"@en ; + rdfs:comment "Free-text description of the relationship."@en . + +gloss:relationshipRef a owl:ObjectProperty ; + rdfs:domain gloss:RelatedConcept ; + rdfs:range gloss:Citation ; + rdfs:label "relationship reference"@en ; + rdfs:comment "Citation reference for the related concept."@en . + +# ── Concept Reference ──────────────────────────────────────────────────── + +gloss:refType a owl:DatatypeProperty ; + rdfs:domain gloss:ConceptReference ; + rdfs:range xsd:string ; + rdfs:label "reference type"@en ; + rdfs:comment "Type of reference: local, designation, urn, domain."@en . + +gloss:conceptId a owl:DatatypeProperty ; + rdfs:domain gloss:ConceptReference ; + rdfs:range xsd:string ; + rdfs:label "concept identifier"@en ; + rdfs:comment "Target concept identifier."@en . + +gloss:sourceUri a owl:DatatypeProperty ; + rdfs:domain gloss:ConceptReference ; + rdfs:range xsd:anyURI ; + rdfs:label "source URI"@en ; + rdfs:comment "Source registry URN prefix for external references."@en . + +gloss:urn a owl:DatatypeProperty ; + rdfs:domain gloss:ConceptReference ; + rdfs:range xsd:anyURI ; + rdfs:label "URN"@en ; + rdfs:comment "Direct URN reference to the target concept."@en . + +# ══════════════════════════════════════════════════════════════════════════ +# OBJECT PROPERTIES — Source / Citation +# ══════════════════════════════════════════════════════════════════════════ + +gloss:sourceType a owl:ObjectProperty ; + rdfs:domain gloss:ConceptSource ; + rdfs:range skos:Concept ; + rdfs:label "source type"@en ; + rdfs:comment "Type of source: authoritative or lineage."@en . + +gloss:sourceStatus a owl:ObjectProperty ; + rdfs:domain gloss:ConceptSource ; + rdfs:range skos:Concept ; + rdfs:label "source status"@en ; + rdfs:comment "Status relative to source: identical, modified, etc."@en . + +gloss:sourceOrigin a owl:ObjectProperty ; + rdfs:domain gloss:ConceptSource ; + rdfs:range gloss:Citation ; + rdfs:label "source origin"@en ; + rdfs:comment "The bibliographic citation from which this concept was sourced."@en . + +gloss:modification a owl:DatatypeProperty ; + rdfs:domain gloss:ConceptSource ; + rdfs:range xsd:string ; + rdfs:label "modification"@en ; + rdfs:comment "How the concept was modified from the source."@en . + +# ── Citation ───────────────────────────────────────────────────────────── + +gloss:citationText a owl:DatatypeProperty ; + rdfs:domain gloss:Citation ; + rdfs:range xsd:string ; + rdfs:label "citation text"@en ; + rdfs:comment "Unstructured (plain text) reference."@en . + +gloss:citationSource a owl:DatatypeProperty ; + rdfs:domain gloss:Citation ; + rdfs:range xsd:string ; + rdfs:label "citation source"@en ; + rdfs:comment "Source document identifier (e.g., ISO, IEC)."@en . + +gloss:citationId a owl:DatatypeProperty ; + rdfs:domain gloss:Citation ; + rdfs:range xsd:string ; + rdfs:label "citation identifier"@en ; + rdfs:comment "Document identifier in a structured reference."@en . + +gloss:citationVersion a owl:DatatypeProperty ; + rdfs:domain gloss:Citation ; + rdfs:range xsd:string ; + rdfs:label "citation version"@en ; + rdfs:comment "Document version in a structured reference."@en . + +gloss:citationLink a owl:DatatypeProperty ; + rdfs:domain gloss:Citation ; + rdfs:range xsd:anyURI ; + rdfs:label "citation link"@en ; + rdfs:comment "URL link to the source document."@en . + +gloss:hasLocality a owl:ObjectProperty ; + rdfs:domain gloss:Citation ; + rdfs:range gloss:Locality ; + rdfs:label "has locality"@en . + +# ══════════════════════════════════════════════════════════════════════════ +# OBJECT PROPERTIES — Date +# ══════════════════════════════════════════════════════════════════════════ + +gloss:dateValue a owl:DatatypeProperty ; + rdfs:domain gloss:ConceptDate ; + rdfs:range xsd:dateTime ; + rdfs:label "date value"@en . + +gloss:dateType a owl:ObjectProperty ; + rdfs:domain gloss:ConceptDate ; + rdfs:range skos:Concept ; + rdfs:label "date type"@en ; + rdfs:comment "Kind of lifecycle event: accepted, amended, retired."@en . + +# ══════════════════════════════════════════════════════════════════════════ +# OBJECT PROPERTIES — Non-verbal representation +# ══════════════════════════════════════════════════════════════════════════ + +gloss:representationType a owl:DatatypeProperty ; + rdfs:domain gloss:NonVerbalRepresentation ; + rdfs:range xsd:string ; + rdfs:label "representation type"@en ; + rdfs:comment "Type of representation: image, table, or formula."@en . + +gloss:representationRef a owl:DatatypeProperty ; + rdfs:domain gloss:NonVerbalRepresentation ; + rdfs:range xsd:anyURI ; + rdfs:label "representation reference"@en ; + rdfs:comment "URI to the external resource."@en . + +gloss:representationText a owl:DatatypeProperty ; + rdfs:domain gloss:NonVerbalRepresentation ; + rdfs:range xsd:string ; + rdfs:label "representation text"@en ; + rdfs:comment "Alt text or description of the representation."@en . + +# ══════════════════════════════════════════════════════════════════════════ +# OBJECT PROPERTIES — Designation relationship +# ══════════════════════════════════════════════════════════════════════════ + +gloss:designationRelType a owl:DatatypeProperty ; + rdfs:domain gloss:DesignationRelationship ; + rdfs:range xsd:string ; + rdfs:label "designation relationship type"@en ; + rdfs:comment "Type: abbreviated_form_for or short_form_for."@en . + +gloss:designationRelTarget a owl:DatatypeProperty ; + rdfs:domain gloss:DesignationRelationship ; + rdfs:range xsd:string ; + rdfs:label "designation relationship target"@en ; + rdfs:comment "Text of the target designation being referenced."@en . + +# ══════════════════════════════════════════════════════════════════════════ +# OBJECT PROPERTIES — Locality +# ══════════════════════════════════════════════════════════════════════════ + +gloss:localityType a owl:DatatypeProperty ; + rdfs:domain gloss:Locality ; + rdfs:range xsd:string ; + rdfs:label "locality type"@en ; + rdfs:comment "Type of locality: section, clause, page, etc."@en . + +gloss:referenceFrom a owl:DatatypeProperty ; + rdfs:domain gloss:Locality ; + rdfs:range xsd:string ; + rdfs:label "reference from"@en ; + rdfs:comment "Starting point of the locality reference."@en . + +gloss:referenceTo a owl:DatatypeProperty ; + rdfs:domain gloss:Locality ; + rdfs:range xsd:string ; + rdfs:label "reference to"@en ; + rdfs:comment "Ending point of the locality reference (for ranges)."@en . + +# ══════════════════════════════════════════════════════════════════════════ +# OBJECT PROPERTIES — Grammar +# ══════════════════════════════════════════════════════════════════════════ + +gloss:gender a owl:ObjectProperty ; + rdfs:domain gloss:GrammarInfo ; + rdfs:range skos:Concept ; + rdfs:label "gender"@en ; + rdfs:comment "Grammatical gender (m, f, n, c)."@en . + +gloss:number a owl:ObjectProperty ; + rdfs:domain gloss:GrammarInfo ; + rdfs:range skos:Concept ; + rdfs:label "number"@en ; + rdfs:comment "Grammatical number (singular, dual, plural)."@en . + +gloss:isNoun a owl:DatatypeProperty ; + rdfs:domain gloss:GrammarInfo ; + rdfs:range xsd:boolean ; + rdfs:label "is noun"@en . + +gloss:isVerb a owl:DatatypeProperty ; + rdfs:domain gloss:GrammarInfo ; + rdfs:range xsd:boolean ; + rdfs:label "is verb"@en . + +gloss:isAdjective a owl:DatatypeProperty ; + rdfs:domain gloss:GrammarInfo ; + rdfs:range xsd:boolean ; + rdfs:label "is adjective"@en . + +gloss:isAdverb a owl:DatatypeProperty ; + rdfs:domain gloss:GrammarInfo ; + rdfs:range xsd:boolean ; + rdfs:label "is adverb"@en . + +gloss:isPreposition a owl:DatatypeProperty ; + rdfs:domain gloss:GrammarInfo ; + rdfs:range xsd:boolean ; + rdfs:label "is preposition"@en . + +gloss:isParticiple a owl:DatatypeProperty ; + rdfs:domain gloss:GrammarInfo ; + rdfs:range xsd:boolean ; + rdfs:label "is participle"@en . + +# ══════════════════════════════════════════════════════════════════════════ +# OBJECT PROPERTIES — Language / Script / System +# ══════════════════════════════════════════════════════════════════════════ + +gloss:script a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( gloss:LocalizedConcept gloss:Designation gloss:Pronunciation ) ] ; + rdfs:range xsd:string ; + rdfs:label "script"@en ; + rdfs:comment "ISO 15924 four-letter script code."@en . + +gloss:conversionSystem a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( gloss:LocalizedConcept gloss:Designation gloss:Pronunciation ) ] ; + rdfs:range xsd:string ; + rdfs:label "conversion system"@en ; + rdfs:comment "ISO 24229 conversion system code."@en . + +# ══════════════════════════════════════════════════════════════════════════ +# OBJECT PROPERTIES — Glossarist-specific relationships +# (no standard SKOS / iso-thes equivalent) +# ══════════════════════════════════════════════════════════════════════════ + +gloss:deprecates a owl:ObjectProperty ; + owl:inverseOf gloss:deprecatedBy ; + rdfs:domain skos:Concept ; + rdfs:range skos:Concept ; + rdfs:label "deprecates"@en ; + rdfs:comment "Lifecycle: this concept deprecates another."@en . + +gloss:deprecatedBy a owl:ObjectProperty ; + owl:inverseOf gloss:deprecates ; + rdfs:domain skos:Concept ; + rdfs:range skos:Concept ; + rdfs:label "deprecated by"@en . + +gloss:supersedes a owl:ObjectProperty ; + owl:inverseOf gloss:supersededBy ; + rdfs:domain skos:Concept ; + rdfs:range skos:Concept ; + rdfs:label "supersedes"@en ; + rdfs:comment "Lifecycle: this concept supersedes another."@en . + +gloss:supersededBy a owl:ObjectProperty ; + owl:inverseOf gloss:supersedes ; + rdfs:domain skos:Concept ; + rdfs:range skos:Concept ; + rdfs:label "superseded by"@en . + +gloss:compares a owl:ObjectProperty ; + rdfs:domain skos:Concept ; + rdfs:range skos:Concept ; + rdfs:label "compares"@en ; + rdfs:comment "Comparative: this concept is compared to another."@en . + +gloss:contrasts a owl:ObjectProperty ; + rdfs:domain skos:Concept ; + rdfs:range skos:Concept ; + rdfs:label "contrasts"@en ; + rdfs:comment "Comparative: this concept contrasts with another."@en . + +gloss:sequentiallyRelated a owl:ObjectProperty ; + rdfs:domain skos:Concept ; + rdfs:range skos:Concept ; + rdfs:label "sequentially related"@en ; + rdfs:comment "Associative spatiotemporal: sequential relationship."@en . + +gloss:spatiallyRelated a owl:ObjectProperty ; + rdfs:domain skos:Concept ; + rdfs:range skos:Concept ; + rdfs:label "spatially related"@en ; + rdfs:comment "Associative spatiotemporal: spatial relationship."@en . + +gloss:temporallyRelated a owl:ObjectProperty ; + rdfs:domain skos:Concept ; + rdfs:range skos:Concept ; + rdfs:label "temporally related"@en ; + rdfs:comment "Associative spatiotemporal: temporal relationship."@en . + +gloss:hasHomograph a owl:ObjectProperty ; + rdfs:domain skos:Concept ; + rdfs:range skos:Concept ; + rdfs:label "has homograph"@en ; + rdfs:comment "Lexical: this concept has a homograph in another entry."@en . + +gloss:hasFalseFriend a owl:ObjectProperty ; + rdfs:domain skos:Concept ; + rdfs:range skos:Concept ; + rdfs:label "has false friend"@en ; + rdfs:comment "Lexical: this concept has a false friend in another language."@en . + +gloss:relatedConceptBroader a owl:ObjectProperty ; + rdfs:domain skos:Concept ; + rdfs:range skos:Concept ; + rdfs:label "related concept (broader)"@en ; + rdfs:comment "Associative: related concept with broader scope."@en . + +gloss:relatedConceptNarrower a owl:ObjectProperty ; + rdfs:domain skos:Concept ; + rdfs:range skos:Concept ; + rdfs:label "related concept (narrower)"@en ; + rdfs:comment "Associative: related concept with narrower scope."@en . + +# ── Designation-level relationship properties ──────────────────────────── + +gloss:abbreviatedFormFor a owl:ObjectProperty ; + owl:inverseOf gloss:shortFormFor ; + rdfs:domain gloss:Designation ; + rdfs:range gloss:Designation ; + rdfs:label "abbreviated form for"@en ; + rdfs:comment "This designation is an abbreviated form of the target designation."@en . + +gloss:shortFormFor a owl:ObjectProperty ; + owl:inverseOf gloss:abbreviatedFormFor ; + rdfs:domain gloss:Designation ; + rdfs:range gloss:Designation ; + rdfs:label "short form for"@en ; + rdfs:comment "This designation is a short form of the target designation."@en . diff --git a/ontologies/reference-docs/iso-25964-skos-thes.ttl b/ontologies/reference-docs/iso-25964-skos-thes.ttl new file mode 100644 index 0000000..9c2c3e2 --- /dev/null +++ b/ontologies/reference-docs/iso-25964-skos-thes.ttl @@ -0,0 +1,179 @@ +# ISO 25964 SKOS-Thes Namespace Reference +# +# Source: http://purl.org/iso25964/skos-thes +# Date: 2015-03-17 +# Authors: Antoine Isaac, Johan De Smedt +# +# This is a reference copy of the key classes and properties from the +# ISO 25964 SKOS-Thes ontology used by the Glossarist ontology. +# The full ontology is available at http://purl.org/iso25964/skos-thes + +@prefix iso-thes: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix skos: . +@prefix xsd: . +@prefix xl: . + + a owl:Ontology ; + rdfs:label "ISO 25964 SKOS-Thes"@en ; + rdfs:comment "Mapping between ISO 25964 data model and SKOS schema."@en ; + owl:imports ; + owl:imports . + +# ── Classes ────────────────────────────────────────────────────────────── + +iso-thes:ConceptGroup a owl:Class ; + rdfs:subClassOf skos:Collection ; + rdfs:label "Concept Group"@en ; + rdfs:comment "A group of concepts making up a subset of the thesaurus."@en ; + owl:disjointWith iso-thes:ThesaurusArray . + +iso-thes:ThesaurusArray a owl:Class ; + rdfs:subClassOf skos:Collection ; + rdfs:label "Thesaurus Array"@en ; + rdfs:comment "An array is a group of sibling concepts."@en . + +iso-thes:PreferredTerm a owl:Class ; + rdfs:subClassOf xl:Label ; + rdfs:label "Preferred Term"@en ; + rdfs:comment "Instances are objects of skosxl:prefLabel statements."@en . + +iso-thes:SimpleNonPreferredTerm a owl:Class ; + rdfs:subClassOf xl:Label ; + rdfs:label "Simple Non Preferred Term"@en ; + rdfs:comment "Instances are objects of skosxl:altLabel or skosxl:hiddenLabel statements."@en . + +iso-thes:SplitNonPreferredTerm a owl:Class ; + rdfs:subClassOf xl:Label ; + rdfs:label "Split Non Preferred Term"@en ; + rdfs:comment "A concept represented by a combination of two or more preferred terms."@en . + +iso-thes:CompoundEquivalence a owl:Class ; + rdfs:label "Compound Equivalence"@en ; + rdfs:comment "Links a split non-preferred term to its component preferred terms."@en . + +# ── Object Properties (Hierarchical) ──────────────────────────────────── + +iso-thes:broaderGeneric a owl:ObjectProperty ; + rdfs:subPropertyOf skos:broader ; + owl:inverseOf iso-thes:narrowerGeneric ; + rdfs:domain skos:Concept ; + rdfs:range skos:Concept ; + rdfs:label "broader term (generic)"@en ; + rdfs:comment "ISO 25964-1: BTG — The immediate class-generalized class relationship."@en . + +iso-thes:narrowerGeneric a owl:ObjectProperty ; + rdfs:subPropertyOf skos:narrower ; + owl:inverseOf iso-thes:broaderGeneric ; + rdfs:domain skos:Concept ; + rdfs:range skos:Concept ; + rdfs:label "narrower term (generic)"@en ; + rdfs:comment "ISO 25964-1: NTG — The immediate class-specialized class relationship."@en . + +iso-thes:broaderPartitive a owl:ObjectProperty ; + rdfs:subPropertyOf skos:broader ; + owl:inverseOf iso-thes:narrowerPartitive ; + a owl:TransitiveProperty ; + rdfs:domain skos:Concept ; + rdfs:range skos:Concept ; + rdfs:label "broader term (partitive)"@en ; + rdfs:comment "ISO 25964-1: BTP — Part-whole relationship (transitive)."@en . + +iso-thes:narrowerPartitive a owl:ObjectProperty ; + rdfs:subPropertyOf skos:narrower ; + owl:inverseOf iso-thes:broaderPartitive ; + a owl:TransitiveProperty ; + rdfs:domain skos:Concept ; + rdfs:range skos:Concept ; + rdfs:label "narrower term (partitive)"@en ; + rdfs:comment "ISO 25964-1: NTP — Whole-part relationship (transitive)."@en . + +iso-thes:broaderInstantial a owl:ObjectProperty ; + rdfs:subPropertyOf skos:broader ; + owl:inverseOf iso-thes:narrowerInstantial ; + rdfs:domain skos:Concept ; + rdfs:range skos:Concept ; + rdfs:label "broader term (instantial)"@en ; + rdfs:comment "ISO 25964-1: BTI — The immediate instance-class relationship."@en . + +iso-thes:narrowerInstantial a owl:ObjectProperty ; + rdfs:subPropertyOf skos:narrower ; + owl:inverseOf iso-thes:broaderInstantial ; + rdfs:domain skos:Concept ; + rdfs:range skos:Concept ; + rdfs:label "narrower term (instantial)"@en ; + rdfs:comment "ISO 25964-1: NTI — The immediate class-instance relationship."@en . + +# ── Object Properties (Group/Array structure) ─────────────────────────── + +iso-thes:subGroup a owl:ObjectProperty, owl:TransitiveProperty ; + owl:inverseOf iso-thes:superGroup ; + rdfs:domain iso-thes:ConceptGroup ; + rdfs:range iso-thes:ConceptGroup ; + rdfs:label "sub group"@en ; + rdfs:comment "All members of the object subGroup are members of the subject group."@en . + +iso-thes:superGroup a owl:ObjectProperty, owl:TransitiveProperty ; + owl:inverseOf iso-thes:subGroup ; + rdfs:domain iso-thes:ConceptGroup ; + rdfs:range iso-thes:ConceptGroup ; + rdfs:label "super group"@en . + +iso-thes:subordinateArray a owl:ObjectProperty ; + owl:inverseOf iso-thes:superOrdinate ; + rdfs:domain skos:Concept ; + rdfs:range iso-thes:ThesaurusArray ; + rdfs:label "subordinate array"@en . + +iso-thes:superOrdinate a owl:ObjectProperty ; + owl:inverseOf iso-thes:subordinateArray ; + rdfs:domain iso-thes:ThesaurusArray ; + rdfs:range skos:Concept ; + rdfs:label "super ordinate"@en . + +iso-thes:microThesaurusOf a owl:ObjectProperty ; + rdfs:subPropertyOf skos:inScheme ; + rdfs:domain iso-thes:ConceptGroup ; + rdfs:range skos:ConceptScheme ; + rdfs:label "micro-thesaurus of"@en . + +# ── Object Properties (Term relations) ────────────────────────────────── + +iso-thes:plusUseTerm a owl:ObjectProperty ; + rdfs:subPropertyOf xl:labelRelation ; + owl:inverseOf iso-thes:plusUFTerm ; + rdfs:domain iso-thes:SplitNonPreferredTerm ; + rdfs:range iso-thes:PreferredTerm ; + rdfs:label "USE+"@en . + +iso-thes:plusUFTerm a owl:ObjectProperty ; + rdfs:subPropertyOf xl:labelRelation ; + owl:inverseOf iso-thes:plusUseTerm ; + rdfs:domain iso-thes:PreferredTerm ; + rdfs:range iso-thes:SplitNonPreferredTerm ; + rdfs:label "UF+"@en . + +iso-thes:plusUse a owl:ObjectProperty ; + rdfs:domain iso-thes:CompoundEquivalence ; + rdfs:range iso-thes:PreferredTerm ; + rdfs:label "component preferred term"@en . + +iso-thes:plusUF a owl:ObjectProperty ; + rdfs:domain iso-thes:CompoundEquivalence ; + rdfs:range iso-thes:SplitNonPreferredTerm ; + rdfs:label "split non preferred term"@en . + +# ── Data Properties ───────────────────────────────────────────────────── + +iso-thes:status a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( skos:Concept xl:Label ) ] ; + rdfs:range xsd:string ; + rdfs:label "status"@en ; + rdfs:comment "ISO status on ThesaurusConcept or ThesaurusTerm."@en . + +# ── Disjointness ──────────────────────────────────────────────────────── + +[ a owl:AllDisjointClasses ; + owl:members ( iso-thes:PreferredTerm iso-thes:SimpleNonPreferredTerm iso-thes:SplitNonPreferredTerm ) ] . diff --git a/ontologies/reference-docs/skos-xl.ttl b/ontologies/reference-docs/skos-xl.ttl new file mode 100644 index 0000000..9ced4f7 --- /dev/null +++ b/ontologies/reference-docs/skos-xl.ttl @@ -0,0 +1,62 @@ +# SKOS-XL Namespace Reference +# +# Source: https://www.w3.org/TR/skos-reference/#xl +# Namespace: http://www.w3.org/2008/05/skos-xl# +# W3C Recommendation 18 August 2009 (Section on SKOS-XL) +# +# This is a reference copy of the key classes and properties from the +# SKOS-XL extension used by the Glossarist ontology for designation handling. + +@prefix xl: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix skos: . +@prefix dcterms: . +@prefix xsd: . + + a owl:Ontology ; + rdfs:label "SKOS-XL"@en ; + rdfs:comment "An extension to SKOS that allows label properties (prefLabel, altLabel, hiddenLabel) to be represented as resources rather than plain literals."@en ; + owl:imports . + +# ── Classes ────────────────────────────────────────────────────────────── + +xl:Label a owl:Class ; + rdfs:label "Label"@en ; + rdfs:comment "An instance of xl:Label is a resource representing a lexical label."@en . + +# ── Label Properties (linking concepts to label resources) ─────────────── + +xl:prefLabel a owl:ObjectProperty ; + rdfs:subPropertyOf skos:prefLabel ; + rdfs:range xl:Label ; + rdfs:label "preferred label"@en ; + rdfs:comment "If C xl:prefLabel L and C xl:prefLabel L', then L and L' are the same resource."@en . + +xl:altLabel a owl:ObjectProperty ; + rdfs:subPropertyOf skos:altLabel ; + rdfs:range xl:Label ; + rdfs:label "alternative label"@en ; + rdfs:comment "An alternative label resource for a concept."@en . + +xl:hiddenLabel a owl:ObjectProperty ; + rdfs:subPropertyOf skos:hiddenLabel ; + rdfs:range xl:Label ; + rdfs:label "hidden label"@en ; + rdfs:comment "A hidden label resource for a concept."@en . + +# ── Literal Form ───────────────────────────────────────────────────────── + +xl:literalForm a owl:DatatypeProperty ; + rdfs:domain xl:Label ; + rdfs:label "literal form"@en ; + rdfs:comment "The literal form of an xl:Label."@en . + +# ── Label Relation ─────────────────────────────────────────────────────── + +xl:labelRelation a owl:ObjectProperty , owl:SymmetricProperty ; + rdfs:domain xl:Label ; + rdfs:range xl:Label ; + rdfs:label "label relation"@en ; + rdfs:comment "Relates two xl:Label instances."@en . diff --git a/ontologies/reference-docs/skos.ttl b/ontologies/reference-docs/skos.ttl new file mode 100644 index 0000000..db74338 --- /dev/null +++ b/ontologies/reference-docs/skos.ttl @@ -0,0 +1,219 @@ +# SKOS Core Namespace Reference +# +# Source: https://www.w3.org/TR/skos-reference/ +# Namespace: http://www.w3.org/2004/02/skos/core# +# W3C Recommendation 18 August 2009 +# +# This is a reference copy of the key classes and properties from the +# SKOS Core vocabulary used by the Glossarist ontology. + +@prefix skos: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix dcterms: . +@prefix xsd: . + + a owl:Ontology ; + rdfs:label "SKOS Core"@en ; + rdfs:comment "An RDF vocabulary for representing thesauri, classification schemes, taxonomies, and other types of structured controlled vocabulary."@en ; + dcterms:title "SKOS Vocabulary"@en ; + dcterms:date "2009-08-18"^^xsd:date . + +# ── Classes ────────────────────────────────────────────────────────────── + +skos:Concept a owl:Class ; + rdfs:label "Concept"@en ; + rdfs:comment "An idea or notion; a unit of thought."@en ; + owl:disjointWith skos:Collection , skos:ConceptScheme . + +skos:ConceptScheme a owl:Class ; + rdfs:label "Concept Scheme"@en ; + rdfs:comment "A set of concepts, optionally including statements about semantic relationships between those concepts."@en ; + owl:disjointWith skos:Concept . + +skos:Collection a owl:Class ; + rdfs:label "Collection"@en ; + rdfs:comment "A meaningful collection of concepts."@en ; + owl:disjointWith skos:Concept , skos:ConceptScheme . + +skos:OrderedCollection a owl:Class ; + rdfs:subClassOf skos:Collection ; + rdfs:label "Ordered Collection"@en ; + rdfs:comment "An ordered collection of concepts, where both the grouping and the ordering are meaningful."@en . + +# ── Semantic Relationship Properties ───────────────────────────────────── + +skos:broader a owl:ObjectProperty ; + rdfs:subPropertyOf skos:broaderTransitive ; + owl:inverseOf skos:narrower ; + rdfs:domain skos:Concept ; + rdfs:range skos:Concept ; + rdfs:label "has broader"@en ; + rdfs:comment "Relates a concept to a concept that is more general in meaning."@en . + +skos:narrower a owl:ObjectProperty ; + rdfs:subPropertyOf skos:narrowerTransitive ; + owl:inverseOf skos:broader ; + rdfs:domain skos:Concept ; + rdfs:range skos:Concept ; + rdfs:label "has narrower"@en ; + rdfs:comment "Relates a concept to a concept that is more specific in meaning."@en . + +skos:related a owl:ObjectProperty , owl:SymmetricProperty ; + rdfs:domain skos:Concept ; + rdfs:range skos:Concept ; + rdfs:label "has related"@en ; + rdfs:comment "Relates a concept to a concept with which there is an associative semantic relationship."@en . + +skos:broaderTransitive a owl:ObjectProperty , owl:TransitiveProperty ; + rdfs:domain skos:Concept ; + rdfs:range skos:Concept ; + rdfs:label "has broader transitive"@en ; + rdfs:comment "skos:broaderTransitive is the transitive closure of skos:broader."@en . + +skos:narrowerTransitive a owl:ObjectProperty , owl:TransitiveProperty ; + rdfs:domain skos:Concept ; + rdfs:range skos:Concept ; + rdfs:label "has narrower transitive"@en ; + rdfs:comment "skos:narrowerTransitive is the transitive closure of skos:narrower."@en . + +# ── Mapping Properties ─────────────────────────────────────────────────── + +skos:mappingRelation a owl:ObjectProperty ; + rdfs:subPropertyOf skos:semanticRelation ; + rdfs:label "is in mapping relation with"@en ; + rdfs:comment "Relates two concepts coming, by convention, from different schemes, and that have comparable meanings."@en . + +skos:closeMatch a owl:ObjectProperty , owl:SymmetricProperty ; + rdfs:subPropertyOf skos:mappingRelation ; + rdfs:label "is in close match with"@en ; + rdfs:comment "Relates two concepts that are sufficiently similar that they can be used interchangeably in some information retrieval applications."@en . + +skos:exactMatch a owl:ObjectProperty , owl:SymmetricProperty , owl:TransitiveProperty ; + rdfs:subPropertyOf skos:closeMatch ; + rdfs:label "has exact match"@en ; + rdfs:comment "Relates two concepts having exactly the same meaning."@en . + +skos:broadMatch a owl:ObjectProperty ; + rdfs:subPropertyOf skos:mappingRelation , skos:broader ; + owl:inverseOf skos:narrowMatch ; + rdfs:label "has broader match"@en ; + rdfs:comment "Relates a concept to a concept in a different concept scheme that is more general in meaning."@en . + +skos:narrowMatch a owl:ObjectProperty ; + rdfs:subPropertyOf skos:mappingRelation , skos:narrower ; + owl:inverseOf skos:broadMatch ; + rdfs:label "has narrower match"@en ; + rdfs:comment "Relates a concept to a concept in a different concept scheme that is more specific in meaning."@en . + +skos:relatedMatch a owl:ObjectProperty , owl:SymmetricProperty ; + rdfs:subPropertyOf skos:mappingRelation , skos:related ; + rdfs:label "has related match"@en ; + rdfs:comment "Relates two concepts from different concept schemes that have an associative relationship."@en . + +# ── Lexical Label Properties ───────────────────────────────────────────── + +skos:prefLabel a owl:AnnotationProperty , owl:DatatypeProperty ; + rdfs:subPropertyOf rdfs:label ; + rdfs:domain skos:Concept ; + rdfs:label "preferred lexical label"@en ; + rdfs:comment "The preferred lexical label for a resource, in a given language."@en . + +skos:altLabel a owl:AnnotationProperty ; + rdfs:subPropertyOf rdfs:label ; + rdfs:domain skos:Concept ; + rdfs:label "alternative lexical label"@en ; + rdfs:comment "An alternative lexical label for a resource."@en . + +skos:hiddenLabel a owl:AnnotationProperty ; + rdfs:subPropertyOf rdfs:label ; + rdfs:domain skos:Concept ; + rdfs:label "hidden lexical label"@en ; + rdfs:comment "A lexical label for a resource that should be hidden when generating visual displays of the resource, but should still be accessible to free text search operations."@en . + +# ── Notation ───────────────────────────────────────────────────────────── + +skos:notation a owl:DatatypeProperty ; + rdfs:label "notation"@en ; + rdfs:comment "A notation, also known as classification code, is a string of characters such as 'UBA' or 'LCS-15' that can be used to identify a concept within the context of a given concept scheme."@en . + +# ── Documentation Properties ───────────────────────────────────────────── + +skos:note a owl:AnnotationProperty ; + rdfs:label "note"@en ; + rdfs:comment "A general note, for any purpose."@en . + +skos:definition a owl:AnnotationProperty ; + rdfs:subPropertyOf skos:note ; + rdfs:label "definition"@en ; + rdfs:comment "A statement or formal explanation of the meaning of a concept."@en . + +skos:scopeNote a owl:AnnotationProperty ; + rdfs:subPropertyOf skos:note ; + rdfs:label "scope note"@en ; + rdfs:comment "A note that helps to clarify the meaning and/or the use of a concept."@en . + +skos:example a owl:AnnotationProperty ; + rdfs:subPropertyOf skos:note ; + rdfs:label "example"@en ; + rdfs:comment "An example of the use of a concept."@en . + +skos:historyNote a owl:AnnotationProperty ; + rdfs:subPropertyOf skos:note ; + rdfs:label "history note"@en ; + rdfs:comment "A note about the past state/use/meaning of a concept."@en . + +skos:editorialNote a owl:AnnotationProperty ; + rdfs:subPropertyOf skos:note ; + rdfs:label "editorial note"@en ; + rdfs:comment "A note for an editor, translator or maintainer of the vocabulary."@en . + +skos:changeNote a owl:AnnotationProperty ; + rdfs:subPropertyOf skos:note ; + rdfs:label "change note"@en ; + rdfs:comment "A note about a modification to a concept."@en . + +# ── Concept Scheme Properties ──────────────────────────────────────────── + +skos:inScheme a owl:ObjectProperty ; + rdfs:domain skos:Concept ; + rdfs:range skos:ConceptScheme ; + rdfs:label "is in scheme"@en ; + rdfs:comment "Relates a resource (for example a concept) to a concept scheme in which it is included."@en . + +skos:hasTopConcept a owl:ObjectProperty ; + owl:inverseOf skos:topConceptOf ; + rdfs:domain skos:ConceptScheme ; + rdfs:range skos:Concept ; + rdfs:label "has top concept"@en ; + rdfs:comment "Relates, by convention, a concept scheme to a concept which is topmost in the broader/narrower concept hierarchies for that scheme."@en . + +skos:topConceptOf a owl:ObjectProperty ; + owl:inverseOf skos:hasTopConcept ; + rdfs:domain skos:Concept ; + rdfs:range skos:ConceptScheme ; + rdfs:label "is top concept in scheme"@en ; + rdfs:comment "Relates a concept to the concept scheme that it is a top level concept of."@en . + +# ── Collection Properties ──────────────────────────────────────────────── + +skos:member a owl:ObjectProperty ; + rdfs:domain skos:Collection ; + rdfs:range [ a owl:Class ; owl:unionOf ( skos:Concept skos:Collection ) ] ; + rdfs:label "has member"@en ; + rdfs:comment "Relates a collection to one of its members."@en . + +skos:memberList a owl:ObjectProperty , owl:FunctionalProperty ; + rdfs:domain skos:OrderedCollection ; + rdfs:range rdf:List ; + rdfs:label "has member list"@en ; + rdfs:comment "Relates an ordered collection to the RDF list containing its members."@en . + +# ── Semantic Relation (super-property) ─────────────────────────────────── + +skos:semanticRelation a owl:ObjectProperty ; + rdfs:domain skos:Concept ; + rdfs:range skos:Concept ; + rdfs:label "is in semantic relation with"@en ; + rdfs:comment "Links a concept to a concept related by meaning."@en . diff --git a/ontologies/shapes/glossarist.shacl.ttl b/ontologies/shapes/glossarist.shacl.ttl new file mode 100644 index 0000000..697c6ca --- /dev/null +++ b/ontologies/shapes/glossarist.shacl.ttl @@ -0,0 +1,246 @@ +# Glossarist SHACL Shapes +# +# Validation shapes for the Glossarist ontology. +# Validates instance data against the ontology constraints. +# +# Requires: SHACL vocabulary (http://www.w3.org/ns/shacl#) + +@prefix gloss: . +@prefix sh: . +@prefix skos: . +@prefix xl: . +@prefix dcterms: . +@prefix xsd: . +@prefix rdf: . +@prefix rdfs: . + +# ══════════════════════════════════════════════════════════════════════════ +# Concept shapes +# ══════════════════════════════════════════════════════════════════════════ + +gloss:ConceptShape a sh:NodeShape ; + sh:targetClass gloss:Concept ; + sh:class skos:Concept ; + sh:property [ + sh:path gloss:identifier ; + sh:datatype xsd:string ; + sh:minCount 1 ; + sh:maxCount 1 ; + ] ; + sh:property [ + sh:path gloss:hasLocalization ; + sh:class gloss:LocalizedConcept ; + ] ; + sh:property [ + sh:path gloss:hasStatus ; + sh:class skos:Concept ; + sh:maxCount 1 ; + ] ; + sh:property [ + sh:path gloss:hasDate ; + sh:class gloss:ConceptDate ; + ] ; + sh:property [ + sh:path gloss:hasSource ; + sh:class gloss:ConceptSource ; + ] . + +gloss:LocalizedConceptShape a sh:NodeShape ; + sh:targetClass gloss:LocalizedConcept ; + sh:class skos:Concept ; + sh:property [ + sh:path gloss:isLocalizationOf ; + sh:class gloss:Concept ; + sh:minCount 1 ; + sh:maxCount 1 ; + ] ; + sh:property [ + sh:path dcterms:language ; + sh:datatype xsd:string ; + sh:maxCount 1 ; + ] ; + sh:property [ + sh:path gloss:hasDesignation ; + sh:class gloss:Designation ; + ] ; + sh:property [ + sh:path gloss:hasDefinition ; + sh:class gloss:DetailedDefinition ; + ] ; + sh:property [ + sh:path gloss:hasEntryStatus ; + sh:class skos:Concept ; + sh:maxCount 1 ; + ] . + +# ══════════════════════════════════════════════════════════════════════════ +# Designation shapes +# ══════════════════════════════════════════════════════════════════════════ + +gloss:DesignationShape a sh:NodeShape ; + sh:targetClass gloss:Designation ; + sh:class xl:Label ; + sh:property [ + sh:path xl:literalForm ; + sh:minCount 1 ; + sh:maxCount 1 ; + ] ; + sh:property [ + sh:path gloss:normativeStatus ; + sh:class skos:Concept ; + sh:maxCount 1 ; + ] ; + sh:property [ + sh:path gloss:hasPronunciation ; + sh:class gloss:Pronunciation ; + ] ; + sh:property [ + sh:path gloss:isInternational ; + sh:datatype xsd:boolean ; + sh:maxCount 1 ; + ] ; + sh:property [ + sh:path gloss:isAbsent ; + sh:datatype xsd:boolean ; + sh:maxCount 1 ; + ] . + +gloss:ExpressionShape a sh:NodeShape ; + sh:targetClass gloss:Expression ; + sh:property [ + sh:path gloss:hasGrammarInfo ; + sh:class gloss:GrammarInfo ; + ] . + +gloss:AbbreviationShape a sh:NodeShape ; + sh:targetClass gloss:Abbreviation ; + sh:property [ + sh:path gloss:isAcronym ; + sh:datatype xsd:boolean ; + sh:maxCount 1 ; + ] ; + sh:property [ + sh:path gloss:isInitialism ; + sh:datatype xsd:boolean ; + sh:maxCount 1 ; + ] ; + sh:property [ + sh:path gloss:isTruncation ; + sh:datatype xsd:boolean ; + sh:maxCount 1 ; + ] . + +gloss:SymbolShape a sh:NodeShape ; + sh:targetClass gloss:Symbol . + +gloss:LetterSymbolShape a sh:NodeShape ; + sh:targetClass gloss:LetterSymbol ; + sh:property [ + sh:path gloss:text ; + sh:datatype xsd:string ; + sh:maxCount 1 ; + ] . + +gloss:GraphicalSymbolShape a sh:NodeShape ; + sh:targetClass gloss:GraphicalSymbol ; + sh:property [ + sh:path gloss:text ; + sh:datatype xsd:string ; + sh:maxCount 1 ; + ] ; + sh:property [ + sh:path gloss:image ; + sh:datatype xsd:anyURI ; + sh:maxCount 1 ; + ] . + +# ══════════════════════════════════════════════════════════════════════════ +# Supporting class shapes +# ══════════════════════════════════════════════════════════════════════════ + +gloss:PronunciationShape a sh:NodeShape ; + sh:targetClass gloss:Pronunciation ; + sh:property [ + sh:path gloss:pronunciationContent ; + sh:datatype xsd:string ; + sh:minCount 1 ; + sh:maxCount 1 ; + ] . + +gloss:DetailedDefinitionShape a sh:NodeShape ; + sh:targetClass gloss:DetailedDefinition ; + sh:property [ + sh:path rdf:value ; + sh:minCount 1 ; + sh:maxCount 1 ; + ] . + +gloss:ConceptSourceShape a sh:NodeShape ; + sh:targetClass gloss:ConceptSource ; + sh:property [ + sh:path gloss:sourceType ; + sh:class skos:Concept ; + sh:maxCount 1 ; + ] ; + sh:property [ + sh:path gloss:sourceStatus ; + sh:class skos:Concept ; + sh:maxCount 1 ; + ] ; + sh:property [ + sh:path gloss:sourceOrigin ; + sh:class gloss:Citation ; + sh:maxCount 1 ; + ] . + +gloss:ConceptDateShape a sh:NodeShape ; + sh:targetClass gloss:ConceptDate ; + sh:property [ + sh:path gloss:dateValue ; + sh:datatype xsd:dateTime ; + sh:minCount 1 ; + sh:maxCount 1 ; + ] ; + sh:property [ + sh:path gloss:dateType ; + sh:class skos:Concept ; + sh:minCount 1 ; + sh:maxCount 1 ; + ] . + +gloss:NonVerbalRepresentationShape a sh:NodeShape ; + sh:targetClass gloss:NonVerbalRepresentation ; + sh:property [ + sh:path gloss:representationType ; + sh:datatype xsd:string ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:in ( "image" "table" "formula" ) ; + ] ; + sh:property [ + sh:path gloss:representationRef ; + sh:datatype xsd:anyURI ; + sh:minCount 1 ; + sh:maxCount 1 ; + ] . + +gloss:CitationShape a sh:NodeShape ; + sh:targetClass gloss:Citation ; + sh:or ( + [ sh:property [ sh:path gloss:citationText ; sh:minCount 1 ] ] + [ sh:property [ sh:path gloss:citationSource ; sh:minCount 1 ] ] + ) . + +gloss:LocalityShape a sh:NodeShape ; + sh:targetClass gloss:Locality ; + sh:property [ + sh:path gloss:localityType ; + sh:datatype xsd:string ; + sh:minCount 1 ; + sh:maxCount 1 ; + ] ; + sh:property [ + sh:path gloss:referenceFrom ; + sh:datatype xsd:string ; + sh:maxCount 1 ; + ] . diff --git a/ontologies/taxonomies/concept-status.ttl b/ontologies/taxonomies/concept-status.ttl new file mode 100644 index 0000000..96a1e4d --- /dev/null +++ b/ontologies/taxonomies/concept-status.ttl @@ -0,0 +1,51 @@ +# Concept Status Taxonomy +# +# SKOS ConceptScheme for managed concept lifecycle status values. +# Source: ISO 10241-1, glossarist config.yml concept.status + +@prefix gloss: . +@prefix skos: . +@prefix rdfs: . +@prefix dcterms: . + +gloss:status a skos:ConceptScheme ; + skos:prefLabel "Concept Status"@en ; + skos:definition "Lifecycle status of a managed terminology concept."@en ; + dcterms:source . + +gloss:status/draft a skos:Concept ; + skos:inScheme gloss:status ; + skos:prefLabel "draft"@en ; + skos:definition "The concept is in draft form and has not yet been submitted."@en . + +gloss:status/submitted a skos:Concept ; + skos:inScheme gloss:status ; + skos:prefLabel "submitted"@en ; + skos:definition "The concept has been submitted for review."@en . + +gloss:status/not_valid a skos:Concept ; + skos:inScheme gloss:status ; + skos:prefLabel "not valid"@en ; + skos:definition "The concept has been reviewed and is not valid."@en . + +gloss:status/invalid a skos:Concept ; + skos:inScheme gloss:status ; + skos:prefLabel "invalid"@en ; + skos:definition "The concept is invalid."@en . + +gloss:status/valid a skos:Concept ; + skos:inScheme gloss:status ; + skos:prefLabel "valid"@en ; + skos:definition "The concept has been reviewed and is valid."@en . + +gloss:status/superseded a skos:Concept ; + skos:inScheme gloss:status ; + skos:prefLabel "superseded"@en ; + skos:definition "The concept has been superseded by a newer version."@en . + +gloss:status/retired a skos:Concept ; + skos:inScheme gloss:status ; + skos:prefLabel "retired"@en ; + skos:definition "The concept has been retired from active use."@en . + +gloss:status skos:hasTopConcept gloss:status/draft , gloss:status/valid , gloss:status/retired . diff --git a/ontologies/taxonomies/designation-type.ttl b/ontologies/taxonomies/designation-type.ttl new file mode 100644 index 0000000..882ebf3 --- /dev/null +++ b/ontologies/taxonomies/designation-type.ttl @@ -0,0 +1,48 @@ +# Designation Type Taxonomy +# +# SKOS ConceptScheme for designation types. +# Source: glossarist config.yml, schemas/v2/localized-concept designation discriminator + +@prefix gloss: . +@prefix skos: . +@prefix dcterms: . + +gloss:desig a skos:ConceptScheme ; + skos:prefLabel "Designation Type"@en ; + skos:definition "Type of designation (term, symbol, abbreviation) for a concept."@en ; + dcterms:source . + +gloss:desig/expression a skos:Concept ; + skos:inScheme gloss:desig ; + skos:prefLabel "expression"@en ; + skos:definition "A word or phrase used as a designation."@en ; + rdfs:seeAlso gloss:Expression . + +gloss:desig/abbreviation a skos:Concept ; + skos:inScheme gloss:desig ; + skos:prefLabel "abbreviation"@en ; + skos:definition "A shortened form of a word or phrase (acronym, initialism, or truncation)."@en ; + skos:broader gloss:desig/expression ; + rdfs:seeAlso gloss:Abbreviation . + +gloss:desig/symbol a skos:Concept ; + skos:inScheme gloss:desig ; + skos:prefLabel "symbol"@en ; + skos:definition "A non-letter symbol representing a concept."@en ; + rdfs:seeAlso gloss:Symbol . + +gloss:desig/letter_symbol a skos:Concept ; + skos:inScheme gloss:desig ; + skos:prefLabel "letter symbol"@en ; + skos:definition "A single letter used as a symbol."@en ; + skos:broader gloss:desig/symbol ; + rdfs:seeAlso gloss:LetterSymbol . + +gloss:desig/graphical_symbol a skos:Concept ; + skos:inScheme gloss:desig ; + skos:prefLabel "graphical symbol"@en ; + skos:definition "An iconic or graphical symbol."@en ; + skos:broader gloss:desig/symbol ; + rdfs:seeAlso gloss:GraphicalSymbol . + +gloss:desig skos:hasTopConcept gloss:desig/expression , gloss:desig/symbol . diff --git a/ontologies/taxonomies/entry-status.ttl b/ontologies/taxonomies/entry-status.ttl new file mode 100644 index 0000000..518a6f9 --- /dev/null +++ b/ontologies/taxonomies/entry-status.ttl @@ -0,0 +1,35 @@ +# Entry Status Taxonomy +# +# SKOS ConceptScheme for localized concept entry lifecycle status. +# Source: ISO 10241-1, glossarist config.yml localized-concept entry_status + +@prefix gloss: . +@prefix skos: . +@prefix dcterms: . + +gloss:entstatus a skos:ConceptScheme ; + skos:prefLabel "Entry Status"@en ; + skos:definition "Lifecycle status of a localized concept entry within a glossary."@en ; + dcterms:source . + +gloss:entstatus/valid a skos:Concept ; + skos:inScheme gloss:entstatus ; + skos:prefLabel "valid"@en ; + skos:definition "The localized entry is valid and current."@en . + +gloss:entstatus/not_valid a skos:Concept ; + skos:inScheme gloss:entstatus ; + skos:prefLabel "not valid"@en ; + skos:definition "The localized entry is not valid."@en . + +gloss:entstatus/superseded a skos:Concept ; + skos:inScheme gloss:entstatus ; + skos:prefLabel "superseded"@en ; + skos:definition "The localized entry has been superseded by a newer version."@en . + +gloss:entstatus/retired a skos:Concept ; + skos:inScheme gloss:entstatus ; + skos:prefLabel "retired"@en ; + skos:definition "The localized entry has been retired from active use."@en . + +gloss:entstatus skos:hasTopConcept gloss:entstatus/valid , gloss:entstatus/retired . diff --git a/ontologies/taxonomies/grammar-gender.ttl b/ontologies/taxonomies/grammar-gender.ttl new file mode 100644 index 0000000..7c6fe4c --- /dev/null +++ b/ontologies/taxonomies/grammar-gender.ttl @@ -0,0 +1,39 @@ +# Grammar Gender Taxonomy +# +# SKOS ConceptScheme for grammatical gender values. +# Source: ISO 12620, glossarist config.yml grammar_info.gender + +@prefix gloss: . +@prefix skos: . +@prefix dcterms: . + +gloss:gender a skos:ConceptScheme ; + skos:prefLabel "Grammar Gender"@en ; + skos:definition "Grammatical gender classification for designations."@en ; + dcterms:source . + +gloss:gender/m a skos:Concept ; + skos:inScheme gloss:gender ; + skos:prefLabel "masculine"@en ; + skos:altLabel "m"@en ; + skos:definition "Masculine grammatical gender."@en . + +gloss:gender/f a skos:Concept ; + skos:inScheme gloss:gender ; + skos:prefLabel "feminine"@en ; + skos:altLabel "f"@en ; + skos:definition "Feminine grammatical gender."@en . + +gloss:gender/n a skos:Concept ; + skos:inScheme gloss:gender ; + skos:prefLabel "neuter"@en ; + skos:altLabel "n"@en ; + skos:definition "Neuter grammatical gender."@en . + +gloss:gender/c a skos:Concept ; + skos:inScheme gloss:gender ; + skos:prefLabel "common"@en ; + skos:altLabel "c"@en ; + skos:definition "Common grammatical gender (combined masculine/feminine)."@en . + +gloss:gender skos:hasTopConcept gloss:gender/m , gloss:gender/f , gloss:gender/n , gloss:gender/c . diff --git a/ontologies/taxonomies/grammar-number.ttl b/ontologies/taxonomies/grammar-number.ttl new file mode 100644 index 0000000..24b1092 --- /dev/null +++ b/ontologies/taxonomies/grammar-number.ttl @@ -0,0 +1,30 @@ +# Grammar Number Taxonomy +# +# SKOS ConceptScheme for grammatical number values. +# Source: ISO 12620, glossarist config.yml grammar_info.number + +@prefix gloss: . +@prefix skos: . +@prefix dcterms: . + +gloss:number a skos:ConceptScheme ; + skos:prefLabel "Grammar Number"@en ; + skos:definition "Grammatical number classification for designations."@en ; + dcterms:source . + +gloss:number/singular a skos:Concept ; + skos:inScheme gloss:number ; + skos:prefLabel "singular"@en ; + skos:definition "Singular grammatical number (one item)."@en . + +gloss:number/dual a skos:Concept ; + skos:inScheme gloss:number ; + skos:prefLabel "dual"@en ; + skos:definition "Dual grammatical number (two items)."@en . + +gloss:number/plural a skos:Concept ; + skos:inScheme gloss:number ; + skos:prefLabel "plural"@en ; + skos:definition "Plural grammatical number (more than one item)."@en . + +gloss:number skos:hasTopConcept gloss:number/singular , gloss:number/dual , gloss:number/plural . diff --git a/ontologies/taxonomies/normative-status.ttl b/ontologies/taxonomies/normative-status.ttl new file mode 100644 index 0000000..a3deb80 --- /dev/null +++ b/ontologies/taxonomies/normative-status.ttl @@ -0,0 +1,46 @@ +# Normative Status Taxonomy +# +# SKOS ConceptScheme for designation normative status. +# Source: ISO 10241-1, glossarist config.yml designation.base.normative_status +# +# Alignment with ISO 25964: +# gloss:norm/preferred → also typed as iso-thes:PreferredTerm +# gloss:norm/admitted → also typed as iso-thes:SimpleNonPreferredTerm +# gloss:norm/deprecated → also typed as iso-thes:SimpleNonPreferredTerm +# gloss:norm/superseded → also typed as iso-thes:SimpleNonPreferredTerm + +@prefix gloss: . +@prefix skos: . +@prefix iso-thes: . +@prefix dcterms: . + +gloss:norm a skos:ConceptScheme ; + skos:prefLabel "Normative Status"@en ; + skos:definition "Normative status of a designation within a concept entry."@en ; + dcterms:source . + +gloss:norm/preferred a skos:Concept , iso-thes:PreferredTerm ; + skos:inScheme gloss:norm ; + skos:prefLabel "preferred"@en ; + skos:definition "The preferred designation for this concept in this language."@en ; + rdfs:seeAlso iso-thes:PreferredTerm . + +gloss:norm/admitted a skos:Concept , iso-thes:SimpleNonPreferredTerm ; + skos:inScheme gloss:norm ; + skos:prefLabel "admitted"@en ; + skos:definition "An admitted (accepted but not preferred) designation."@en ; + rdfs:seeAlso iso-thes:SimpleNonPreferredTerm . + +gloss:norm/deprecated a skos:Concept , iso-thes:SimpleNonPreferredTerm ; + skos:inScheme gloss:norm ; + skos:prefLabel "deprecated"@en ; + skos:definition "A deprecated designation that should no longer be used."@en ; + rdfs:seeAlso iso-thes:SimpleNonPreferredTerm . + +gloss:norm/superseded a skos:Concept , iso-thes:SimpleNonPreferredTerm ; + skos:inScheme gloss:norm ; + skos:prefLabel "superseded"@en ; + skos:definition "A superseded designation that has been replaced."@en ; + rdfs:seeAlso iso-thes:SimpleNonPreferredTerm . + +gloss:norm skos:hasTopConcept gloss:norm/preferred . diff --git a/ontologies/taxonomies/relationship-type.ttl b/ontologies/taxonomies/relationship-type.ttl new file mode 100644 index 0000000..60d7b31 --- /dev/null +++ b/ontologies/taxonomies/relationship-type.ttl @@ -0,0 +1,112 @@ +# Relationship Type Taxonomy +# +# SKOS ConceptScheme for glossarist-specific concept relationship types. +# Only includes types that have NO standard SKOS or iso-thes equivalent. +# +# Types NOT included here (reused directly from standards): +# skos:broader / skos:narrower +# skos:exactMatch / skos:closeMatch +# skos:broadMatch / skos:narrowMatch / skos:relatedMatch +# skos:related +# iso-thes:broaderGeneric / iso-thes:narrowerGeneric +# iso-thes:broaderPartitive / iso-thes:narrowerPartitive +# iso-thes:broaderInstantial / iso-thes:narrowerInstantial +# +# Source: ISO 10241-1, ISO 12620/TBX, glossarist config.yml related_concept.type + +@prefix gloss: . +@prefix skos: . +@prefix dcterms: . + +gloss:rel a skos:ConceptScheme ; + skos:prefLabel "Relationship Type"@en ; + skos:definition """ + Typed relationships between concepts that have no standard SKOS or + ISO 25964 equivalent. Standard relationship types (broader, narrower, + exactMatch, etc.) are reused directly from SKOS and iso-thes vocabularies. + """@en ; + dcterms:source . + +# ── Lifecycle ──────────────────────────────────────────────────────────── + +gloss:rel/deprecates a skos:Concept ; + skos:inScheme gloss:rel ; + skos:prefLabel "deprecates"@en ; + skos:definition "This concept deprecates another concept."@en . + +gloss:rel/supersedes a skos:Concept ; + skos:inScheme gloss:rel ; + skos:prefLabel "supersedes"@en ; + skos:definition "This concept supersedes another concept."@en . + +gloss:rel/superseded_by a skos:Concept ; + skos:inScheme gloss:rel ; + skos:prefLabel "superseded by"@en ; + skos:definition "This concept has been superseded by another concept."@en . + +# ── Comparative ────────────────────────────────────────────────────────── + +gloss:rel/compare a skos:Concept ; + skos:inScheme gloss:rel ; + skos:prefLabel "compare"@en ; + skos:definition "This concept is compared to another concept (ISO 10241-1)."@en . + +gloss:rel/contrast a skos:Concept ; + skos:inScheme gloss:rel ; + skos:prefLabel "contrast"@en ; + skos:definition "This concept contrasts with another concept (ISO 10241-1)."@en . + +# ── Associative (glossarist-specific sub-types) ────────────────────────── + +gloss:rel/related_concept_broader a skos:Concept ; + skos:inScheme gloss:rel ; + skos:prefLabel "related concept (broader)"@en ; + skos:definition "Associative relationship to a concept with broader scope (ISO 25964 / TBX)."@en . + +gloss:rel/related_concept_narrower a skos:Concept ; + skos:inScheme gloss:rel ; + skos:prefLabel "related concept (narrower)"@en ; + skos:definition "Associative relationship to a concept with narrower scope (ISO 25964 / TBX)."@en . + +# ── Spatiotemporal ─────────────────────────────────────────────────────── + +gloss:rel/sequentially_related a skos:Concept ; + skos:inScheme gloss:rel ; + skos:prefLabel "sequentially related"@en ; + skos:definition "Sequential spatiotemporal relationship (ISO 25964 / TBX)."@en . + +gloss:rel/spatially_related a skos:Concept ; + skos:inScheme gloss:rel ; + skos:prefLabel "spatially related"@en ; + skos:definition "Spatial relationship (ISO 25964 / TBX)."@en . + +gloss:rel/temporally_related a skos:Concept ; + skos:inScheme gloss:rel ; + skos:prefLabel "temporally related"@en ; + skos:definition "Temporal relationship (ISO 25964 / TBX)."@en . + +# ── Lexical ────────────────────────────────────────────────────────────── + +gloss:rel/homograph a skos:Concept ; + skos:inScheme gloss:rel ; + skos:prefLabel "homograph"@en ; + skos:definition "This concept has a homograph in another entry (ISO 12620 / TBX)."@en . + +gloss:rel/false_friend a skos:Concept ; + skos:inScheme gloss:rel ; + skos:prefLabel "false friend"@en ; + skos:definition "This concept has a false friend in another language (ISO 12620 / TBX)."@en . + +# ── Designation-level ──────────────────────────────────────────────────── + +gloss:rel/abbreviated_form_for a skos:Concept ; + skos:inScheme gloss:rel ; + skos:prefLabel "abbreviated form for"@en ; + skos:definition "This designation is an abbreviated form of another designation."@en . + +gloss:rel/short_form_for a skos:Concept ; + skos:inScheme gloss:rel ; + skos:prefLabel "short form for"@en ; + skos:definition "This designation is a short form of another designation."@en . + +gloss:rel skos:hasTopConcept gloss:rel/deprecates , gloss:rel/compare , gloss:rel/sequentially_related , gloss:rel/homograph , gloss:rel/abbreviated_form_for . diff --git a/ontologies/taxonomies/source-status.ttl b/ontologies/taxonomies/source-status.ttl new file mode 100644 index 0000000..13860df --- /dev/null +++ b/ontologies/taxonomies/source-status.ttl @@ -0,0 +1,65 @@ +# Source Status Taxonomy +# +# SKOS ConceptScheme for concept source status values. +# Source: ISO 10241-1, glossarist config.yml concept_source.status + +@prefix gloss: . +@prefix skos: . +@prefix dcterms: . + +gloss:srcstatus a skos:ConceptScheme ; + skos:prefLabel "Source Status"@en ; + skos:definition "Status of the concept relative to the bibliographic source."@en ; + dcterms:source . + +gloss:srcstatus/identical a skos:Concept ; + skos:inScheme gloss:srcstatus ; + skos:prefLabel "identical"@en ; + skos:definition "The concept is identical to the source."@en . + +gloss:srcstatus/similar a skos:Concept ; + skos:inScheme gloss:srcstatus ; + skos:prefLabel "similar"@en ; + skos:definition "The concept is similar to the source."@en . + +gloss:srcstatus/modified a skos:Concept ; + skos:inScheme gloss:srcstatus ; + skos:prefLabel "modified"@en ; + skos:definition "The concept has been modified from the source."@en . + +gloss:srcstatus/restyle a skos:Concept ; + skos:inScheme gloss:srcstatus ; + skos:prefLabel "restyle"@en ; + skos:definition "The concept has been restyled from the source (editorial changes only)."@en . + +gloss:srcstatus/context_added a skos:Concept ; + skos:inScheme gloss:srcstatus ; + skos:prefLabel "context added"@en ; + skos:definition "Context has been added to the concept beyond the source."@en . + +gloss:srcstatus/generalisation a skos:Concept ; + skos:inScheme gloss:srcstatus ; + skos:prefLabel "generalisation"@en ; + skos:definition "The concept is a generalisation of the source concept."@en . + +gloss:srcstatus/specialisation a skos:Concept ; + skos:inScheme gloss:srcstatus ; + skos:prefLabel "specialisation"@en ; + skos:definition "The concept is a specialisation of the source concept."@en . + +gloss:srcstatus/unspecified a skos:Concept ; + skos:inScheme gloss:srcstatus ; + skos:prefLabel "unspecified"@en ; + skos:definition "The relationship to the source is unspecified."@en . + +gloss:srcstatus/related a skos:Concept ; + skos:inScheme gloss:srcstatus ; + skos:prefLabel "related"@en ; + skos:definition "The concept is related to the source."@en . + +gloss:srcstatus/not_equal a skos:Concept ; + skos:inScheme gloss:srcstatus ; + skos:prefLabel "not equal"@en ; + skos:definition "The concept is not equal to the source."@en . + +gloss:srcstatus skos:hasTopConcept gloss:srcstatus/identical , gloss:srcstatus/modified , gloss:srcstatus/unspecified . diff --git a/ontologies/taxonomies/source-type.ttl b/ontologies/taxonomies/source-type.ttl new file mode 100644 index 0000000..e432252 --- /dev/null +++ b/ontologies/taxonomies/source-type.ttl @@ -0,0 +1,25 @@ +# Source Type Taxonomy +# +# SKOS ConceptScheme for concept source types. +# Source: ISO 10241-1, glossarist config.yml concept_source.type + +@prefix gloss: . +@prefix skos: . +@prefix dcterms: . + +gloss:srctype a skos:ConceptScheme ; + skos:prefLabel "Source Type"@en ; + skos:definition "Type of bibliographic source for a concept or designation."@en ; + dcterms:source . + +gloss:srctype/authoritative a skos:Concept ; + skos:inScheme gloss:srctype ; + skos:prefLabel "authoritative"@en ; + skos:definition "The concept is directly sourced from an authoritative standard or document."@en . + +gloss:srctype/lineage a skos:Concept ; + skos:inScheme gloss:srctype ; + skos:prefLabel "lineage"@en ; + skos:definition "The concept's lineage or historical reference."@en . + +gloss:srctype skos:hasTopConcept gloss:srctype/authoritative , gloss:srctype/lineage . diff --git a/ontologies/taxonomies/term-type.ttl b/ontologies/taxonomies/term-type.ttl new file mode 100644 index 0000000..1d4dddd --- /dev/null +++ b/ontologies/taxonomies/term-type.ttl @@ -0,0 +1,151 @@ +# Term Type Taxonomy (ISO 12620) +# +# SKOS ConceptScheme for ISO 12620 term type classification. +# Source: ISO 12620, glossarist config.yml iso12620.term_type +# +# 24 term types organized by category: +# Orthographic / structural (9) +# Symbolic / formulaic (4) +# Usage / provenance (11) + +@prefix gloss: . +@prefix skos: . +@prefix dcterms: . + +gloss:termtype a skos:ConceptScheme ; + skos:prefLabel "Term Type"@en ; + skos:definition """ + ISO 12620 term type classification for designations. A categorization + of a term with respect to formal representations or where/how it is used. + """@en ; + dcterms:source . + +# ── Orthographic / Structural ──────────────────────────────────────────── + +gloss:termtype/abbreviation a skos:Concept ; + skos:inScheme gloss:termtype ; + skos:prefLabel "abbreviation"@en ; + skos:definition "A shortened form of a word or phrase."@en . + +gloss:termtype/acronym a skos:Concept ; + skos:inScheme gloss:termtype ; + skos:prefLabel "acronym"@en ; + skos:definition "An abbreviation formed from initial letters, pronounced as a word."@en ; + skos:broader gloss:termtype/abbreviation . + +gloss:termtype/clipped_term a skos:Concept ; + skos:inScheme gloss:termtype ; + skos:prefLabel "clipped term"@en ; + skos:definition "A term formed by shortening a longer term."@en . + +gloss:termtype/full_form a skos:Concept ; + skos:inScheme gloss:termtype ; + skos:prefLabel "full form"@en ; + skos:definition "The complete, unabbreviated form of a term."@en . + +gloss:termtype/initialism a skos:Concept ; + skos:inScheme gloss:termtype ; + skos:prefLabel "initialism"@en ; + skos:definition "An abbreviation formed from initial letters, each pronounced separately."@en ; + skos:broader gloss:termtype/abbreviation . + +gloss:termtype/short_form a skos:Concept ; + skos:inScheme gloss:termtype ; + skos:prefLabel "short form"@en ; + skos:definition "A shortened form of a term."@en . + +gloss:termtype/transliterated_form a skos:Concept ; + skos:inScheme gloss:termtype ; + skos:prefLabel "transliterated form"@en ; + skos:definition "A term that has been converted from one script to another."@en . + +gloss:termtype/transcribed_form a skos:Concept ; + skos:inScheme gloss:termtype ; + skos:prefLabel "transcribed form"@en ; + skos:definition "A term that has been phonetically transcribed into another script."@en . + +gloss:termtype/variant a skos:Concept ; + skos:inScheme gloss:termtype ; + skos:prefLabel "variant"@en ; + skos:definition "An alternative spelling or form of a term."@en . + +# ── Symbolic / Formulaic ───────────────────────────────────────────────── + +gloss:termtype/equation a skos:Concept ; + skos:inScheme gloss:termtype ; + skos:prefLabel "equation"@en ; + skos:definition "A mathematical equation used as a term."@en . + +gloss:termtype/formula a skos:Concept ; + skos:inScheme gloss:termtype ; + skos:prefLabel "formula"@en ; + skos:definition "A mathematical formula used as a term."@en . + +gloss:termtype/logical_expression a skos:Concept ; + skos:inScheme gloss:termtype ; + skos:prefLabel "logical expression"@en ; + skos:definition "A logical expression used as a term."@en . + +gloss:termtype/symbol a skos:Concept ; + skos:inScheme gloss:termtype ; + skos:prefLabel "symbol"@en ; + skos:definition "A symbol used as a term."@en . + +# ── Usage / Provenance ─────────────────────────────────────────────────── + +gloss:termtype/common_name a skos:Concept ; + skos:inScheme gloss:termtype ; + skos:prefLabel "common name"@en ; + skos:definition "A non-scientific, commonly used name."@en . + +gloss:termtype/entry_term a skos:Concept ; + skos:inScheme gloss:termtype ; + skos:prefLabel "entry term"@en ; + skos:definition "The primary term for a concept entry."@en . + +gloss:termtype/internationalism a skos:Concept ; + skos:inScheme gloss:termtype ; + skos:prefLabel "internationalism"@en ; + skos:definition "A term that is used internationally across multiple languages."@en . + +gloss:termtype/international_scientific_term a skos:Concept ; + skos:inScheme gloss:termtype ; + skos:prefLabel "international scientific term"@en ; + skos:definition "A term established by an international scientific body."@en . + +gloss:termtype/part_number a skos:Concept ; + skos:inScheme gloss:termtype ; + skos:prefLabel "part number"@en ; + skos:definition "A part number used as a term."@en . + +gloss:termtype/phraseological_unit a skos:Concept ; + skos:inScheme gloss:termtype ; + skos:prefLabel "phraseological unit"@en ; + skos:definition "A fixed phrase or collocation used as a term."@en . + +gloss:termtype/shortcut a skos:Concept ; + skos:inScheme gloss:termtype ; + skos:prefLabel "shortcut"@en ; + skos:definition "A shortcut or quick reference used as a term."@en . + +gloss:termtype/sku a skos:Concept ; + skos:inScheme gloss:termtype ; + skos:prefLabel "SKU"@en ; + skos:definition "A stock keeping unit identifier used as a term."@en . + +gloss:termtype/standard_text a skos:Concept ; + skos:inScheme gloss:termtype ; + skos:prefLabel "standard text"@en ; + skos:definition "Standardized text used as a term."@en . + +gloss:termtype/synonym a skos:Concept ; + skos:inScheme gloss:termtype ; + skos:prefLabel "synonym"@en ; + skos:definition "A synonym of the primary term."@en . + +gloss:termtype/synonymous_phrase a skos:Concept ; + skos:inScheme gloss:termtype ; + skos:prefLabel "synonymous phrase"@en ; + skos:definition "A phrase that is synonymous with the primary term."@en . + +gloss:termtype skos:hasTopConcept gloss:termtype/full_form , gloss:termtype/abbreviation , gloss:termtype/symbol , gloss:termtype/entry_term . diff --git a/schemas/v2/concept.yaml b/schemas/v2/concept.yaml index 19b5565..cc40774 100644 --- a/schemas/v2/concept.yaml +++ b/schemas/v2/concept.yaml @@ -23,6 +23,11 @@ properties: examples: - "1234" - "foobar" + uri: + type: string + description: Optional URI for the concept + examples: + - "https://example.org/concepts/1234" localized_concepts: type: object description: Three digit language code followed by the `id` of the localization for that language. @@ -33,6 +38,11 @@ properties: $ref: "#/$defs/iso639_three_char_code" additionalProperties: type: string + domains: + type: array + items: + $ref: "#/$defs/concept_reference" + description: Domain/subject area references (replaces legacy groups field). related: type: array items: @@ -64,7 +74,9 @@ $defs: description: The normative status of the managed term. enum: - draft + - submitted - not_valid + - invalid - valid - superseded - retired @@ -101,8 +113,10 @@ $defs: type: $ref: "#/$defs/related_concept_type" ref: - type: string description: Reference to the related concept + oneOf: + - type: string + - $ref: "#/$defs/concept_reference" content: type: string description: Content describing the relationship @@ -112,15 +126,64 @@ $defs: type: string description: The relation of a term to the current term. enum: + # Lifecycle - deprecates - supersedes - - narrower + - superseded_by + # Hierarchical (SKOS) - broader + - narrower + # ISO 25964 generic + - broader_generic + - narrower_generic + # ISO 25964 partitive + - broader_partitive + - narrower_partitive + # ISO 25964 instantial + - broader_instantial + - narrower_instantial + # SKOS mapping - equivalent + - close_match + - broad_match + - narrow_match + - related_match + # Associative (SKOS) + - see + - related_concept + - related_concept_broader + - related_concept_narrower + # Comparative - compare - contrast - - see - - see-also + # Spatiotemporal + - sequentially_related + - spatially_related + - temporally_related + # Lexical + - homograph + - false_friend + # Designation-level + - abbreviated_form_for + - short_form_for + + # Concept Reference + concept_reference: + type: object + description: A typed reference to another concept (local or external). + properties: + concept_id: + type: string + description: The target concept identifier. + source: + type: string + description: URN prefix for external references. + ref_type: + type: string + description: The type of reference (domain, relationship, etc.). + urn: + type: string + description: Direct URN reference. # Concept Source concept_source: @@ -132,17 +195,10 @@ $defs: status: $ref: "#/$defs/concept_source_status" origin: - type: object - properties: - ref: - type: string - clause: - type: string - link: - type: string - link: + $ref: "#/$defs/citation" + modification: type: string - description: Link of the source + description: How the concept was modified from the source. # Concept Source Type enum concept_source_type: @@ -151,22 +207,78 @@ $defs: enum: - authoritative - lineage - examples: - - authoritative - - lineage # Concept Source Status enum concept_source_status: type: string - description: The status of the managed term in the present context, relative to the term as found in the bibliographic source. + description: The status of the managed term relative to the source. enum: - identical + - similar - modified - - restyled - - context-added + - restyle + - context_added - generalisation - specialisation - unspecified + - related + - not_equal + + # Citation + citation: + type: object + description: A bibliographic citation. + properties: + text: + type: string + source: + type: string + id: + type: string + version: + type: string + locality: + $ref: "#/$defs/locality" + link: + type: string + original: + type: string + ref: + description: Reference identifier (string or structured hash). + oneOf: + - type: string + - type: object + properties: + source: + type: string + id: + type: string + version: + type: string + clause: + type: string + custom_locality: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + + # Locality + locality: + type: object + description: A locality within a cited document. + properties: + type: + type: string + description: Type of the locality (section, clause, page, etc.) + reference_from: + type: string + reference_to: + type: string # Data Types iso639_three_char_code: diff --git a/schemas/v2/examples/01-minimal-concept.yaml b/schemas/v2/examples/01-minimal-concept.yaml new file mode 100644 index 0000000..ff79a8d --- /dev/null +++ b/schemas/v2/examples/01-minimal-concept.yaml @@ -0,0 +1,36 @@ +# 01 — Minimal Concept +# +# The smallest valid managed concept: an id, a localization map, and status. +# Demonstrates identity, localization map, and lifecycle metadata. + +--- +id: "113-01-01" +data: + identifier: "113-01-01" + + # Optional URI reference for the concept (external representation) + uri: "urn:iec:std:iec:60050-113-01-01" + + # Maps ISO 639 language codes to localized concept UUIDs. + # The actual localized concept data lives in separate files. + localized_concepts: + eng: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + + sources: + - type: authoritative + origin: + source: "IEC" + id: "60050-113" + version: "2011" + +status: valid + +# Simplified date — internally mapped to ConceptDate(type: accepted) +date_accepted: "2011-04-01T00:00:00+00:00" + +# Structured dates are also supported: +# dates: +# - date: "2011-04-01T00:00:00+00:00" +# type: accepted +# - date: "2019-03-01T00:00:00+00:00" +# type: amended diff --git a/schemas/v2/examples/01-minimal-localized.yaml b/schemas/v2/examples/01-minimal-localized.yaml new file mode 100644 index 0000000..14c07ae --- /dev/null +++ b/schemas/v2/examples/01-minimal-localized.yaml @@ -0,0 +1,25 @@ +# 01 — Minimal Localized Concept +# +# The smallest valid localized concept: id, language, term, definition, source. + +--- +id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 +data: + language_code: eng + + terms: + - type: expression + designation: "length" + normative_status: preferred + + definition: + - content: >- + distance between two points + + sources: + - type: authoritative + origin: + source: "IEC" + id: "60050-113" + version: "2011" +status: valid diff --git a/schemas/v2/examples/02-designation-abbreviation.yaml b/schemas/v2/examples/02-designation-abbreviation.yaml new file mode 100644 index 0000000..ea09ab3 --- /dev/null +++ b/schemas/v2/examples/02-designation-abbreviation.yaml @@ -0,0 +1,53 @@ +# 02 — Designation: Abbreviation +# +# Abbreviation designations extend Expression with type booleans: +# acronym, initialism, truncation. Also supports designation-level relationships. + +--- +id: c1b2c3d4-e5f6-7890-abcd-ef1234567890 +data: + language_code: eng + + terms: + # Full form (preferred) + - type: expression + designation: "Light Emitting Diode" + normative_status: preferred + + # Acronym — pronounced as a word + - type: abbreviation + designation: "LED" + normative_status: admitted + acronym: true + # Designation-level relationship: this abbreviation is the + # abbreviated form of the preferred term above + related: + - type: abbreviated_form_for + target: "Light Emitting Diode" + + # Another example: initialism (each letter pronounced separately) + - type: abbreviation + designation: "HTML" + normative_status: admitted + initialism: true + + # Truncation — shortened by cutting off the end + - type: abbreviation + designation: "app" + normative_status: admitted + truncation: true + related: + - type: short_form_for + target: "application" + + definition: + - content: >- + a semiconductor device that emits light when current flows through it + + sources: + - type: authoritative + origin: + source: "IEC" + id: "60050-521" + version: "2002" +status: valid diff --git a/schemas/v2/examples/02-designation-expression.yaml b/schemas/v2/examples/02-designation-expression.yaml new file mode 100644 index 0000000..3370d09 --- /dev/null +++ b/schemas/v2/examples/02-designation-expression.yaml @@ -0,0 +1,123 @@ +# 02 — Designation: Expression +# +# Expression designations are words or phrases — the most common type. +# Shows normative_status, grammar_info, usage_info, field_of_application, +# term_type (ISO 12620), and designation-level sources. + +--- +id: b1b2c3d4-e5f6-7890-abcd-ef1234567890 +data: + language_code: eng + + terms: + # Preferred term with full grammar info (noun, singular) + - type: expression + designation: "color" + normative_status: preferred + geographical_area: US + grammar_info: + - noun: true + number: singular + term_type: full_form + + # Admitted alternative — different geographical area + - type: expression + designation: "colour" + normative_status: admitted + geographical_area: GB + grammar_info: + - noun: true + number: singular + term_type: variant + + # Deprecated term with usage context and part-of-speech + - type: expression + designation: "colour signal" + normative_status: deprecated + usage_info: "television" + field_of_application: "in analogue television" + grammar_info: + - noun: true + number: singular + term_type: entry_term + + # Verb form with its own grammar info + - type: expression + designation: "to color" + normative_status: admitted + grammar_info: + - verb: true + term_type: full_form + + # Adjective form — dual gender, plural number + - type: expression + designation: "colorful" + normative_status: admitted + grammar_info: + - adj: true + gender: [m, f] + number: plural + + # Adverb form + - type: expression + designation: "colorfully" + normative_status: admitted + grammar_info: + - adverb: true + + # Participle form + - type: expression + designation: "coloring" + normative_status: admitted + grammar_info: + - participle: true + + # Preposition usage + - type: expression + designation: "in color" + normative_status: admitted + grammar_info: + - preposition: true + + # Expression with prefix + - type: expression + designation: "color" + normative_status: admitted + prefix: "non-" + usage_info: "pigment chemistry" + + # Common name term type (ISO 12620) + - type: expression + designation: "sun" + normative_status: admitted + term_type: common_name + + # Synonym (ISO 12620) + - type: expression + designation: "hue" + normative_status: admitted + term_type: synonym + + # Designation-level source (ISO 10241-1 §6.8) + - type: expression + designation: "chromatic" + normative_status: admitted + sources: + - type: authoritative + status: identical + origin: + source: "IEC" + id: "60050-845" + version: "2020" + + definition: + - content: >- + visual sensation produced by light of a specific wavelength + + sources: + - type: authoritative + origin: + source: "IEC" + id: "60050-845" + version: "2020" +status: valid diff --git a/schemas/v2/examples/02-designation-symbol.yaml b/schemas/v2/examples/02-designation-symbol.yaml new file mode 100644 index 0000000..3104f25 --- /dev/null +++ b/schemas/v2/examples/02-designation-symbol.yaml @@ -0,0 +1,44 @@ +# 02 — Designation: Symbol, Letter Symbol, Graphical Symbol +# +# Three symbol designation types, each inheriting from Base. +# Symbols are often international (valid across languages). + +--- +id: d1b2c3d4-e5f6-7890-abcd-ef1234567890 +data: + language_code: eng + + terms: + # Symbol — a non-letter symbol + - type: symbol + designation: "Ω" + normative_status: preferred + international: true + + # Letter symbol — a letter used as a symbol + - type: letter_symbol + designation: "R" + text: "R" + normative_status: admitted + international: true + + # Graphical symbol — an iconic or graphical symbol + - type: graphical_symbol + designation: "warning sign" + text: "general warning" + image: "⚠" + normative_status: preferred + international: true + + definition: + - content: >- + a designation that is not a word or an abbreviation, used to represent + a concept in a given language + + sources: + - type: authoritative + origin: + source: "ISO" + id: "10241-1" + version: "2011" +status: valid diff --git a/schemas/v2/examples/03-pronunciation.yaml b/schemas/v2/examples/03-pronunciation.yaml new file mode 100644 index 0000000..76b5695 --- /dev/null +++ b/schemas/v2/examples/03-pronunciation.yaml @@ -0,0 +1,52 @@ +# 03 — Pronunciation & Per-Designation Language Overrides +# +# Pronunciations attach to individual designations. Each pronunciation entry +# can specify its own language, script, country, and transcription system. +# Designations can also override the concept-level language/script/system. + +--- +id: e1b2c3d4-e5f6-7890-abcd-ef1234567890 +data: + language_code: jpn + script: Hani + + terms: + # Japanese term with two pronunciations in different systems + - type: expression + designation: "東京" + normative_status: preferred + + # Multiple pronunciations for different romanization systems + pronunciation: + # Hepburn romanization (ISO 24229 system code) + - content: "Tōkyō" + language: jpn + script: Latn + system: "Var:jpn-Hrkt:Latn:Hepburn-1886" + + # IPA phonetic transcription + - content: "toːkjoː" + language: jpn + script: Latn + system: IPA + + # A designation in a different script overrides the concept-level script + - type: expression + designation: "とうきょう" + normative_status: admitted + script: Hrkt + pronunciation: + - content: "Tōkyō" + language: jpn + script: Latn + system: "Var:jpn-Hrkt:Latn:Hepburn-1886" + + definition: + - content: >- + capital city of Japan + + sources: + - type: authoritative + origin: + text: "Example pronunciation data" +status: valid diff --git a/schemas/v2/examples/04-definition-notes-examples.yaml b/schemas/v2/examples/04-definition-notes-examples.yaml new file mode 100644 index 0000000..dd5f394 --- /dev/null +++ b/schemas/v2/examples/04-definition-notes-examples.yaml @@ -0,0 +1,59 @@ +# 04 — Definition, Notes, and Examples +# +# Definitions, notes, and examples all use DetailedDefinition — +# text content with optional per-item sources. + +--- +id: f1b2c3d4-e5f6-7890-abcd-ef1234567890 +data: + language_code: eng + + terms: + - type: expression + designation: "resistance" + normative_status: preferred + grammar_info: + - noun: true + + - type: symbol + designation: "R" + normative_status: admitted + international: true + + # Primary definition — can have sources specific to this definition + definition: + - content: >- + quotient of the voltage and the current in a conductor at a given + temperature + sources: + - type: authoritative + origin: + source: "IEC" + id: "60050-131" + version: "2002" + + # Supplementary notes — each is a DetailedDefinition + notes: + - content: >- + Resistance is a property of a conductor and depends on its dimensions, + material, and temperature. + - content: >- + The SI unit of resistance is the ohm (Ω). + sources: + - type: lineage + origin: + text: "SI Brochure, 9th edition" + + # Illustrative examples — also DetailedDefinition + examples: + - content: >- + A copper wire 1 m long with a cross-section of 1 mm² has a resistance + of approximately 0.017 Ω at 20 °C. + + sources: + - type: authoritative + origin: + source: "IEC" + id: "60050-131" + version: "2002" +status: valid diff --git a/schemas/v2/examples/05-domains-localized.yaml b/schemas/v2/examples/05-domains-localized.yaml new file mode 100644 index 0000000..c4967ae --- /dev/null +++ b/schemas/v2/examples/05-domains-localized.yaml @@ -0,0 +1,34 @@ +# 05 — Domains (Localized): per-language domain URI +# +# LocalizedConcept.data.domain is a simple URI string. +# It can be relative, a URN, or an HTTP URL. + +--- +id: 11111111-aaaa-bbbb-cccc-dddddddddddd +data: + language_code: eng + + # Per-language domain — URI string (not a ConceptReference) + # Three MECE URI forms: + domain: "urn:iec:std:iec:60050-103-01" + # Alternative forms: + # domain: "section-103-01" # relative URI + # domain: "https://www.electropedia.org/..." # HTTP URL + + terms: + - type: expression + designation: "functional" + normative_status: preferred + + definition: + - content: >- + relating to a correspondence that associates uniquely to each element + of a set an element of another set + + sources: + - type: authoritative + origin: + source: "IEC" + id: "60050-103" + version: "2009" +status: valid diff --git a/schemas/v2/examples/05-domains.yaml b/schemas/v2/examples/05-domains.yaml new file mode 100644 index 0000000..0f55d36 --- /dev/null +++ b/schemas/v2/examples/05-domains.yaml @@ -0,0 +1,32 @@ +# 05 — Domains (Classification) +# +# Domains classify a concept into subject areas — language-agnostic tags. +# ManagedConcept.data.domains is a ConceptReference array with ref_type "domain". +# LocalizedConcept.data.domain is a per-language URI string. + +--- +id: "103-01-02" +data: + identifier: "103-01-02" + localized_concepts: + eng: 11111111-aaaa-bbbb-cccc-dddddddddddd + + # Domains: classification into subject areas + # These are ConceptReference objects with ref_type "domain" + domains: + # Local domain reference + - concept_id: "103" + source: "urn:iec:std:iec:60050" + ref_type: "domain" + - concept_id: "103-01" + source: "urn:iec:std:iec:60050" + ref_type: "domain" + + sources: + - type: authoritative + origin: + source: "IEC" + id: "60050-103" + version: "2009" +status: valid +date_accepted: "2009-12-14T00:00:00+00:00" diff --git a/schemas/v2/examples/06-related-localized-fra.yaml b/schemas/v2/examples/06-related-localized-fra.yaml new file mode 100644 index 0000000..ecc294b --- /dev/null +++ b/schemas/v2/examples/06-related-localized-fra.yaml @@ -0,0 +1,38 @@ +# 06 — Related Concepts (French — false_friend) +# +# The French variant has a `false_friend` relationship (ISO 12620/TBX) +# that the English variant does not. This demonstrates language-specific +# relationships. + +--- +id: 33333333-aaaa-bbbb-cccc-dddddddddddd +data: + language_code: fra + + terms: + - type: expression + designation: "mesure" + normative_status: preferred + grammar_info: + - gender: f + number: singular + + definition: + - content: >- + ensemble d'opérations ayant pour but de déterminer la valeur d'une + grandeur + + # Language-specific: false_friend only exists in French + related: + - type: false_friend + content: "measure (English, musical sense)" + ref: + text: "measure" + + sources: + - type: authoritative + origin: + source: "IEC" + id: "60050-112" + version: "2010" +status: valid diff --git a/schemas/v2/examples/06-related-localized.yaml b/schemas/v2/examples/06-related-localized.yaml new file mode 100644 index 0000000..ad35826 --- /dev/null +++ b/schemas/v2/examples/06-related-localized.yaml @@ -0,0 +1,37 @@ +# 06 — Related Concepts (Language-Specific) +# +# LocalizedConcept.data.related holds relationships that only exist in +# one language variant. For example, French "mesure" has a false_friend +# relationship that English "measurement" does not. + +--- +id: 22222222-aaaa-bbbb-cccc-dddddddddddd +data: + language_code: eng + + terms: + - type: expression + designation: "system" + normative_status: preferred + + definition: + - content: >- + set of interrelated elements considered in a defined context as a whole + and separated from their environment + + # Language-specific relationships + related: + # Associative cross-reference + - type: see + content: "open system" + ref: + source: "IEC" + id: "102-03-05" + + sources: + - type: authoritative + origin: + source: "IEC" + id: "60050-102" + version: "2007" +status: valid diff --git a/schemas/v2/examples/06-related-relationships.yaml b/schemas/v2/examples/06-related-relationships.yaml new file mode 100644 index 0000000..f3a12e6 --- /dev/null +++ b/schemas/v2/examples/06-related-relationships.yaml @@ -0,0 +1,202 @@ +# 06 — Related Concepts (All Typed Semantic Relationships) +# +# Relationships are typed semantic links between concepts, spanning: +# - ISO 10241-1: lifecycle (deprecates, supersedes, superseded_by), +# comparative (compare, contrast), associative (see) +# - ISO 25964 / SKOS: hierarchical (broader, narrower) with generic/ +# partitive/instantial subtypes, equivalence (equivalent), +# approximate mapping (close_match, broad_match, narrow_match, +# related_match) +# - ISO 12620 / TBX: associative subtypes (related_concept, +# related_concept_broader, related_concept_narrower), +# spatiotemporal (sequentially_related, spatially_related, +# temporally_related), lexical (homograph, false_friend) +# +# false_friend and language-specific relationships are demonstrated +# in the localized companion files. + +--- +id: "102-03-01" +data: + identifier: "102-03-01" + localized_concepts: + eng: 22222222-aaaa-bbbb-cccc-dddddddddddd + sources: + - type: authoritative + origin: + source: "IEC" + id: "60050-102" + version: "2007" + +related: + # ── Hierarchical (ISO 10241-1 / ISO 25964 BT/NT) ────────────────────── + - type: broader + content: "complex system" + ref: + source: "IEC" + id: "102-03-02" + + - type: narrower + content: "subsystem" + ref: + source: "IEC" + id: "102-03-03" + + # ── ISO 25964 Generic Hierarchy (BTG/NTG) ───────────────────────────── + # "is a kind of" — generic/specific relationship + - type: broader_generic + content: "physical system" + ref: + source: "IEC" + id: "102-01-01" + + - type: narrower_generic + content: "closed system" + ref: + source: "IEC" + id: "102-03-04" + + # ── ISO 25964 Partitive Hierarchy (BTP/NTP) ─────────────────────────── + # "is a part of" — whole/part relationship (transitive) + - type: broader_partitive + content: "larger assembly" + ref: + source: "IEC" + id: "102-05-01" + + - type: narrower_partitive + content: "system component" + ref: + source: "IEC" + id: "102-05-02" + + # ── ISO 25964 Instantial Hierarchy (BTI/NTI) ─────────────────────────── + # "is an instance of" — class/instance relationship + - type: broader_instantial + content: "thermodynamic system (class)" + ref: + source: "IEC" + id: "102-06-01" + + - type: narrower_instantial + content: "specific Carnot engine" + ref: + source: "IEC" + id: "102-06-02" + + # ── Equivalence (SKOS exactMatch) ───────────────────────────────────── + - type: equivalent + content: "system (general systems theory)" + ref: + source: "ISO" + id: "10241-1" + + # ── SKOS Mapping Properties ─────────────────────────────────────────── + - type: close_match + ref: + text: "system (general systems theory)" + + - type: broad_match + content: "related broader concept in another vocabulary" + ref: + source: "ISO" + id: "1087-1" + + - type: narrow_match + content: "related narrower concept in another vocabulary" + ref: + source: "ISO" + id: "1087-2" + + - type: related_match + content: "related concept in another vocabulary" + ref: + source: "IEC" + id: "60050-151" + + # ── Comparative (ISO 10241-1) ───────────────────────────────────────── + - type: compare + content: "closed system" + ref: + source: "IEC" + id: "102-03-04" + + - type: contrast + content: "environment" + ref: + source: "IEC" + id: "102-03-06" + + # ── Associative (ISO 10241-1 / ISO 25964 RT) ───────────────────────── + - type: see + content: "open system" + ref: + source: "IEC" + id: "102-03-05" + + # ── Associative Subtypes (ISO 25964 / TBX) ──────────────────────────── + - type: related_concept + content: "boundary of a system" + ref: + source: "IEC" + id: "102-04-01" + + - type: related_concept_broader + content: "system boundary (broader sense)" + ref: + source: "IEC" + id: "102-04-02" + + - type: related_concept_narrower + content: "permeable boundary (narrower sense)" + ref: + source: "IEC" + id: "102-04-03" + + # ── Spatiotemporal (ISO 25964 / TBX) ────────────────────────────────── + - type: sequentially_related_concept + content: "next process step" + ref: + source: "IEC" + id: "102-07-01" + + - type: spatially_related_concept + content: "adjacent region" + ref: + source: "IEC" + id: "102-07-02" + + - type: temporally_related_concept + content: "preceding state" + ref: + source: "IEC" + id: "102-07-03" + + # ── Lifecycle (ISO 10241-1) ─────────────────────────────────────────── + - type: supersedes + ref: + source: "IEC" + id: "102-03-00" + + - type: superseded_by + content: "replaced by newer concept" + ref: + source: "IEC" + id: "102-03-10" + + - type: deprecates + content: "old deprecated term" + ref: + source: "IEC" + id: "102-03-11" + + # ── Lexical (ISO 12620 / TBX) ───────────────────────────────────────── + # false_friend is language-specific — see 06-related-localized-fra.yaml + - type: homograph + content: "same spelling, different meaning" + ref: + source: "IEC" + id: "102-08-01" + +status: valid +date_accepted: "2007-08-01T00:00:00+00:00" diff --git a/schemas/v2/examples/07-sources-localized.yaml b/schemas/v2/examples/07-sources-localized.yaml new file mode 100644 index 0000000..38aa42d --- /dev/null +++ b/schemas/v2/examples/07-sources-localized.yaml @@ -0,0 +1,173 @@ +# 07 — Sources (Localized — all source features) +# +# Comprehensive demonstration of sources and citations at all levels: +# localized concept, definition, note, example, and designation. +# Shows all source status values, citation locality features +# (ranges, custom_locality, link), and modification notes. + +--- +id: 44444444-aaaa-bbbb-cccc-dddddddddddd +data: + language_code: eng + + terms: + - type: expression + designation: "standard" + normative_status: preferred + + # Designation-level source (ISO 10241-1 §6.8) + sources: + - type: authoritative + status: identical + origin: + source: "ISO" + id: "10241-1" + version: "2011" + + # Definition with modified source — status indicates how it was changed + definition: + - content: >- + a document established by consensus and approved by a recognized body + that provides rules, guidelines or characteristics + sources: + - type: authoritative + status: modified + origin: + source: "ISO" + id: "10241-1" + version: "2011" + clause: "3.1" + modification: >- + replaced "for common and repeated use" with broader wording + + # Notes demonstrating source status values + notes: + # similar — close but not identical + - content: >- + Standards include but are not limited to international standards, + regional standards, and national standards. + sources: + - type: lineage + status: similar + origin: + text: "ISO/IEC Guide 2" + + # context_added — original meaning preserved with added context + - content: >- + The term "standard" also applies to de facto standards that arise + through widespread adoption. + sources: + - type: lineage + status: context_added + origin: + source: "ISO" + id: "IEC Guide 2" + version: "2004" + + # generalisation — source was narrower, generalised for this concept + - content: >- + Standards may cover products, processes, or services. + sources: + - type: authoritative + status: generalisation + origin: + source: "ISO" + id: "10241-1" + version: "2011" + modification: "generalised from product standards to all types" + + # specialisation — source was broader, specialised for this concept + - content: >- + A terminology standard provides terms, definitions, and notes. + sources: + - type: authoritative + status: specialisation + origin: + source: "ISO" + id: "10241-1" + version: "2011" + modification: "specialised from general standards to terminology" + + # restyle — same content, different presentation + - content: >- + Standards are published by recognized standards bodies. + sources: + - type: lineage + status: restyle + origin: + text: "ISO/IEC Guide 2:2004, definition 3.2" + + # unspecified — relationship to source is not classified + - content: >- + Standards evolve through periodic review and revision cycles. + sources: + - type: lineage + status: unspecified + origin: + text: "Wikipedia article on standardization" + + # Example with its own source and locality range + examples: + - content: >- + ISO 9001 is an example of an international standard for quality + management systems. + sources: + - type: authoritative + status: identical + origin: + source: "ISO" + id: "9001" + version: "2015" + # Locality with range: reference_from → reference_to + locality: + type: clause + reference_from: "1" + reference_to: "4" + + # Localized concept level sources + sources: + # Structured citation with locality (single point) + - type: authoritative + status: identical + origin: + source: "ISO" + id: "10241-1" + version: "2011" + clause: "3.1" + + # Citation with link field + - type: authoritative + status: identical + origin: + source: "ISO" + id: "10241-1" + version: "2011" + link: "https://www.iso.org/standard/44798.html" + + # Citation with custom_locality + - type: lineage + status: restyle + origin: + text: "ISO/IEC Guide 2:2004" + custom_locality: + - name: schema + value: Aec_service_life_arm + - name: version + value: "2" + + # Unstructured citation (plain text) + - type: lineage + status: related + origin: + text: "ISO/IEC Guide 2:2004, definition 3.2" + + # not_equal — concept meaning diverges from source + - type: lineage + status: not_equal + origin: + source: "IEC" + id: "60050-171" + version: "2019" + modification: "meaning diverges from IEC definition of standard" + +status: valid diff --git a/schemas/v2/examples/07-sources.yaml b/schemas/v2/examples/07-sources.yaml new file mode 100644 index 0000000..79ff000 --- /dev/null +++ b/schemas/v2/examples/07-sources.yaml @@ -0,0 +1,36 @@ +# 07 — Sources (Bibliographic Citations) +# +# Sources appear at managed concept level, localized concept level, +# definition/note/example level, and designation level. +# Each source has a type (authoritative/lineage), status, and origin citation. + +--- +id: "151-01-01" +data: + identifier: "151-01-01" + localized_concepts: + eng: 44444444-aaaa-bbbb-cccc-dddddddddddd + + # Managed concept level sources + sources: + # Authoritative source — the concept is directly from this standard + - type: authoritative + origin: + source: "ISO" + id: "10241-1" + version: "2011" + clause: "3.1" + # Lineage source — historical/provenance reference + - type: lineage + origin: + text: "ISO/IEC Guide 2:2004" + + related: + - type: supersedes + ref: + source: "ISO" + id: "10241-1" + version: "2007" + +status: valid +date_accepted: "2011-10-01T00:00:00+00:00" diff --git a/schemas/v2/examples/08-multilanguage-ara.yaml b/schemas/v2/examples/08-multilanguage-ara.yaml new file mode 100644 index 0000000..00a3986 --- /dev/null +++ b/schemas/v2/examples/08-multilanguage-ara.yaml @@ -0,0 +1,31 @@ +# 08 — Arabic localization for 121-01-01 +# +# Arabic uses Arab script. The entry_status field tracks this +# localization's lifecycle independently. + +--- +id: 66666666-aaaa-bbbb-cccc-dddddddddddd +data: + language_code: ara + script: Arab + + terms: + - type: expression + designation: "مجال كهرومغناطيسي" + normative_status: preferred + language: ara + script: Arab + + definition: + - content: >- + مجال يتحدد بشدة المجال الكهربائي وشدة المجال المغناطيسي + + entry_status: valid + sources: + - type: authoritative + status: identical + origin: + source: "IEC" + id: "60050-121" + version: "1998" +status: valid diff --git a/schemas/v2/examples/08-multilanguage-eng.yaml b/schemas/v2/examples/08-multilanguage-eng.yaml new file mode 100644 index 0000000..ff123de --- /dev/null +++ b/schemas/v2/examples/08-multilanguage-eng.yaml @@ -0,0 +1,29 @@ +# 08 — English localization for 121-01-01 + +--- +id: 55555555-aaaa-bbbb-cccc-dddddddddddd +data: + language_code: eng + script: Latn + + terms: + - type: expression + designation: "electromagnetic field" + normative_status: preferred + - type: abbreviation + designation: "EMF" + normative_status: admitted + acronym: true + + definition: + - content: >- + field determined by the electric field strength and the magnetic + field strength + + sources: + - type: authoritative + origin: + source: "IEC" + id: "60050-121" + version: "1998" +status: valid diff --git a/schemas/v2/examples/08-multilanguage-jpn.yaml b/schemas/v2/examples/08-multilanguage-jpn.yaml new file mode 100644 index 0000000..848c1f5 --- /dev/null +++ b/schemas/v2/examples/08-multilanguage-jpn.yaml @@ -0,0 +1,46 @@ +# 08 — Japanese localization for 121-01-01 +# +# Japanese uses multiple scripts simultaneously. The script cascade +# (ConceptData → Designation → Pronunciation) is demonstrated here. + +--- +id: 77777777-aaaa-bbbb-cccc-dddddddddddd +data: + # ConceptData-level defaults + language_code: jpn + script: Hani + + terms: + # Kanji form — uses concept-level script (Hani) + - type: expression + designation: "電磁界" + normative_status: preferred + + # Katakana form — overrides script to Kana + - type: expression + designation: "デンジカイ" + normative_status: admitted + script: Kana + pronunciation: + - content: "denjikai" + language: jpn + script: Latn + system: "Var:jpn-Hrkt:Latn:Hepburn-1886" + + # Latin script form — overrides script to Latn + - type: expression + designation: "denjikai" + normative_status: admitted + script: Latn + + definition: + - content: >- + 界は電界の強さ及び磁界の強さによって定まる場 + + sources: + - type: authoritative + origin: + source: "IEC" + id: "60050-121" + version: "1998" +status: valid diff --git a/schemas/v2/examples/08-multilanguage-rus.yaml b/schemas/v2/examples/08-multilanguage-rus.yaml new file mode 100644 index 0000000..77b46de --- /dev/null +++ b/schemas/v2/examples/08-multilanguage-rus.yaml @@ -0,0 +1,40 @@ +# 08 — Russian localization for 121-01-01 +# +# Russian uses Cyrl script. The conversion system (ISO 24229) can +# specify the romanization system for transliteration. + +--- +id: 88888888-aaaa-bbbb-cccc-dddddddddddd +data: + language_code: rus + script: Cyrl + + terms: + - type: expression + designation: "электромагнитное поле" + normative_status: preferred + grammar_info: + - noun: true + number: singular + gender: n + + # Transliterated form using ISO 24229 system code + - type: expression + designation: "elektromagnitnoye pole" + normative_status: admitted + script: Latn + term_type: transliterated_form + system: "UN:rus-Cyrl:Latn:1993" + + definition: + - content: >- + поле, определяемое напряженностью электрического поля и + напряженностью магнитного поля + + sources: + - type: authoritative + origin: + source: "IEC" + id: "60050-121" + version: "1998" +status: valid diff --git a/schemas/v2/examples/08-multilanguage.yaml b/schemas/v2/examples/08-multilanguage.yaml new file mode 100644 index 0000000..20234f5 --- /dev/null +++ b/schemas/v2/examples/08-multilanguage.yaml @@ -0,0 +1,25 @@ +# 08 — Multi-Language & Multi-Script +# +# A managed concept with multiple localizations in different languages +# and scripts. The localization map keys are ISO 639 three-character codes. +# +# Also demonstrates the per-designation language/script/system cascade: +# ConceptData defaults → Designation overrides → Pronunciation overrides + +--- +id: "121-01-01" +data: + identifier: "121-01-01" + localized_concepts: + eng: 55555555-aaaa-bbbb-cccc-dddddddddddd + ara: 66666666-aaaa-bbbb-cccc-dddddddddddd + jpn: 77777777-aaaa-bbbb-cccc-dddddddddddd + rus: 88888888-aaaa-bbbb-cccc-dddddddddddd + sources: + - type: authoritative + origin: + source: "IEC" + id: "60050-121" + version: "1998" +status: valid +date_accepted: "1998-08-01T00:00:00+00:00" diff --git a/schemas/v2/examples/09-nonverbal.yaml b/schemas/v2/examples/09-nonverbal.yaml new file mode 100644 index 0000000..b9c2d7c --- /dev/null +++ b/schemas/v2/examples/09-nonverbal.yaml @@ -0,0 +1,49 @@ +# 09 — Non-Verbal Representations +# +# Non-verbal representations (ISO 10241-1 §6.5) are URI references to +# external resources: images, tables, or formulas. They are NOT embedded +# content — they reference resources that live outside the concept model. + +--- +id: 99999999-aaaa-bbbb-cccc-dddddddddddd +data: + language_code: eng + + terms: + - type: expression + designation: "Nyquist plot" + normative_status: preferred + + definition: + - content: >- + a polar plot of the frequency response of a system, used in control + theory to assess stability + + # Non-verbal representations referenced by URI + non_verbal_rep: + # Image — relative path within the GCR package + - type: image + ref: "assets/nyquist-plot.svg" + text: "Nyquist plot for a typical second-order system" + sources: + - type: authoritative + origin: + text: "IEC 60050-351" + + # Table — URN reference + - type: table + ref: "urn:gcr:assets:stability-criteria-table" + text: "Comparison of stability criteria" + + # Formula — URL reference + - type: formula + ref: "https://example.org/formulas/nyquist-criterion" + text: "Nyquist stability criterion formula" + + sources: + - type: authoritative + origin: + source: "IEC" + id: "60050-351" + version: "2013" +status: valid diff --git a/schemas/v2/examples/10-concept-reference-localized.yaml b/schemas/v2/examples/10-concept-reference-localized.yaml new file mode 100644 index 0000000..2d9c2cd --- /dev/null +++ b/schemas/v2/examples/10-concept-reference-localized.yaml @@ -0,0 +1,42 @@ +# 10 — Concept References (Localized) +# +# The references field on LocalizedConcept holds ConceptReference objects +# for typed cross-references within concept data. + +--- +id: aaaaaaaa-aaaa-bbbb-cccc-dddddddddddd +data: + language_code: eng + + terms: + - type: expression + designation: "insulating material" + normative_status: preferred + + definition: + - content: >- + material used to prevent the flow of electric current + + # Typed references to other concepts + references: + # Local reference — concept in the same glossary + - concept_id: "212-01-02" + ref_type: "local" + term: "insulation" + + # External reference — concept in another registry (URN) + - urn: "urn:iso:std:iso:10241:term:3.1.1" + ref_type: "urn" + + # Designation reference — points to a specific designation + - concept_id: "212-05-03" + ref_type: "designation" + term: "dielectric strength" + + sources: + - type: authoritative + origin: + source: "IEC" + id: "60050-212" + version: "2010" +status: valid diff --git a/schemas/v2/examples/10-concept-reference.yaml b/schemas/v2/examples/10-concept-reference.yaml new file mode 100644 index 0000000..122382f --- /dev/null +++ b/schemas/v2/examples/10-concept-reference.yaml @@ -0,0 +1,33 @@ +# 10 — Concept References +# +# ConceptReference is a typed reference to another concept — either local +# (within the same glossary) or external (in another registry). +# Used for domain assignments, concept mentions, and cross-references. + +--- +id: "212-01-01" +data: + identifier: "212-01-01" + localized_concepts: + eng: aaaaaaaa-aaaa-bbbb-cccc-dddddddddddd + + # Domains demonstrate ConceptReference with ref_type "domain" + domains: + # Local reference — concept_id only, source indicates the registry + - concept_id: "212" + source: "urn:iec:std:iec:60050" + ref_type: "domain" + - concept_id: "212-01" + source: "urn:iec:std:iec:60050" + ref_type: "domain" + + # ConceptReference also appears in LocalizedConcept.data.references + # for typed cross-references (see localized companion file) + + sources: + - type: authoritative + origin: + source: "IEC" + id: "60050-212" + version: "2010" +status: valid diff --git a/schemas/v2/examples/11-lifecycle-localized.yaml b/schemas/v2/examples/11-lifecycle-localized.yaml new file mode 100644 index 0000000..c37caa7 --- /dev/null +++ b/schemas/v2/examples/11-lifecycle-localized.yaml @@ -0,0 +1,64 @@ +# 11 — Lifecycle & Review (Localized) +# +# Localized concepts have their own entry_status, dates, and review metadata. +# A localization can be retired while the managed concept remains valid. +# Also demonstrates classification and review_type fields. + +--- +id: bbbbbbbb-aaaa-bbbb-cccc-dddddddddddd +data: + language_code: eng + + # Entry status of this specific localization + entry_status: valid + + terms: + - type: expression + designation: "oscillation" + normative_status: preferred + grammar_info: + - noun: true + + definition: + - content: >- + the variation, usually with time, of the magnitude of a quantity with + respect to a specified reference + + # Localization-level dates + dates: + - date: "1992-03-01T00:00:00+00:00" + type: accepted + - date: "2016-08-01T00:00:00+00:00" + type: amended + + # Review metadata + review_date: "2019-06-01T00:00:00+00:00" + review_decision_date: "2019-09-01T00:00:00+00:00" + review_decision_event: "published" + + # Lineage similarity — how close this entry is to the source + lineage_source_similarity: 95 + + # Release version + release: "2.1" + + sources: + - type: authoritative + status: identical + origin: + source: "IEC" + id: "60050-702" + version: "1992" + - type: lineage + status: similar + origin: + text: "IEC 60050-702:1988" + +# Classification of this localized concept within the glossary +classification: "admitted" + +# Review type applied to this localized concept +review_type: "editorial" + +status: valid +date_accepted: "1992-03-01T00:00:00+00:00" diff --git a/schemas/v2/examples/11-lifecycle.yaml b/schemas/v2/examples/11-lifecycle.yaml new file mode 100644 index 0000000..fb67bf3 --- /dev/null +++ b/schemas/v2/examples/11-lifecycle.yaml @@ -0,0 +1,37 @@ +# 11 — Lifecycle & Review +# +# Managed concepts and localizations have lifecycle metadata: +# status, dates, review information. + +--- +id: "702-01-01" +data: + identifier: "702-01-01" + localized_concepts: + eng: bbbbbbbb-aaaa-bbbb-cccc-dddddddddddd + + # Structured dates (alternative to simplified date_accepted at top level) + dates: + - date: "1992-03-01T00:00:00+00:00" + type: accepted + - date: "2016-08-01T00:00:00+00:00" + type: amended + + sources: + - type: authoritative + origin: + source: "IEC" + id: "60050-702" + version: "1992" + + # This concept supersedes an older entry + related: + - type: supersedes + ref: + source: "IEC" + id: "60050-702" + version: "1988" + +# Concept lifecycle status +status: valid +date_accepted: "1992-03-01T00:00:00+00:00" diff --git a/schemas/v2/examples/12-absent-designation-eng.yaml b/schemas/v2/examples/12-absent-designation-eng.yaml new file mode 100644 index 0000000..d3b4048 --- /dev/null +++ b/schemas/v2/examples/12-absent-designation-eng.yaml @@ -0,0 +1,27 @@ +# 12 — English: normal designation + +--- +id: cccccccc-aaaa-bbbb-cccc-dddddddddddd +data: + language_code: eng + + terms: + - type: expression + designation: "kilogram" + normative_status: preferred + - type: symbol + designation: "kg" + normative_status: admitted + international: true + + definition: + - content: >- + SI unit of mass + + sources: + - type: authoritative + origin: + source: "IEC" + id: "60050-112" + version: "2010" +status: valid diff --git a/schemas/v2/examples/12-absent-designation-jpn.yaml b/schemas/v2/examples/12-absent-designation-jpn.yaml new file mode 100644 index 0000000..b085d59 --- /dev/null +++ b/schemas/v2/examples/12-absent-designation-jpn.yaml @@ -0,0 +1,50 @@ +# 12 — Japanese: absent designation for expression, international symbol shared +# +# Japanese may not have a native expression for some technical terms. +# The `absent` flag makes this explicit. The international symbol (kg) +# is still used — it has `international: true` and no language override, +# so it applies across all localizations. + +--- +id: dddddddd-aaaa-bbbb-cccc-dddddddddddd +data: + language_code: jpn + script: Hani + + terms: + # No native Japanese expression exists — explicitly marked absent + - type: expression + designation: null + absent: true + language: eng + script: Latn + + # The international symbol is shared — no language override needed + - type: symbol + designation: "kg" + normative_status: admitted + international: true + + # Japanese uses a transliterated form + - type: expression + designation: "キログラム" + normative_status: admitted + script: Kana + term_type: transliterated_form + pronunciation: + - content: "kiriguramu" + language: jpn + script: Latn + system: "Var:jpn-Hrkt:Latn:Hepburn-1886" + + definition: + - content: >- + 質量のSI単位 + + sources: + - type: authoritative + origin: + source: "IEC" + id: "60050-112" + version: "2010" +status: valid diff --git a/schemas/v2/examples/12-absent-designation.yaml b/schemas/v2/examples/12-absent-designation.yaml new file mode 100644 index 0000000..73d1027 --- /dev/null +++ b/schemas/v2/examples/12-absent-designation.yaml @@ -0,0 +1,19 @@ +# 12 — Absent Designation & International Symbols +# +# The `absent` flag indicates no equivalent designation exists in this language. +# The `international` flag indicates a symbol valid across all languages. + +--- +id: "112-02-01" +data: + identifier: "112-02-01" + localized_concepts: + eng: cccccccc-aaaa-bbbb-cccc-dddddddddddd + jpn: dddddddd-aaaa-bbbb-cccc-dddddddddddd + sources: + - type: authoritative + origin: + source: "IEC" + id: "60050-112" + version: "2010" +status: valid diff --git a/schemas/v2/examples/13-superseded-deprecated-localized.yaml b/schemas/v2/examples/13-superseded-deprecated-localized.yaml new file mode 100644 index 0000000..7ce3733 --- /dev/null +++ b/schemas/v2/examples/13-superseded-deprecated-localized.yaml @@ -0,0 +1,50 @@ +# 13 — Superseded & Deprecated (Localized) +# +# The localized concept for a superseded entry. Shows deprecated +# normative_status on designations and entry_status transitions. + +--- +id: cccccccc-aaaa-bbbb-cccc-dddddddddddd +data: + language_code: eng + + # Entry status reflects superseded state + entry_status: superseded + + terms: + # The preferred term is now deprecated + - type: expression + designation: "quantity" + normative_status: deprecated + grammar_info: + - noun: true + number: singular + + # Superseded by this preferred term in the newer entry + - type: expression + designation: "kind of quantity" + normative_status: superseded + term_type: full_form + + definition: + - content: >- + property of a phenomenon, body, or substance, where the property + has a magnitude that can be expressed as a number and a reference + sources: + - type: authoritative + status: identical + origin: + source: "IEC" + id: "60050-112" + version: "2010" + + dates: + - date: "2010-01-01T00:00:00+00:00" + type: accepted + - date: "2023-06-01T00:00:00+00:00" + type: retired + + release: "1.0" + +status: superseded +date_accepted: "2010-01-01T00:00:00+00:00" diff --git a/schemas/v2/examples/13-superseded-deprecated.yaml b/schemas/v2/examples/13-superseded-deprecated.yaml new file mode 100644 index 0000000..ad6a57a --- /dev/null +++ b/schemas/v2/examples/13-superseded-deprecated.yaml @@ -0,0 +1,44 @@ +# 13 — Superseded & Deprecated Concept Lifecycle +# +# Demonstrates the deprecated/superseded lifecycle: a concept that was +# replaced by a newer entry. Shows superseded_by at the managed level, +# deprecated normative_status on designations, and retired dates. +# +# Companion: 13-superseded-deprecated-localized.yaml + +--- +id: "112-01-02" +data: + identifier: "112-01-02" + localized_concepts: + eng: cccccccc-aaaa-bbbb-cccc-dddddddddddd + + sources: + - type: authoritative + origin: + source: "IEC" + id: "60050-112" + version: "2010" + +# This concept is superseded — replaced by a newer entry +related: + - type: superseded_by + content: "replaced by updated definition" + ref: + source: "IEC" + id: "112-01-03" + + - type: deprecates + content: "deprecated older entry" + ref: + source: "IEC" + id: "112-01-01" + +# Concept lifecycle status: superseded +status: superseded + +dates: + - date: "2010-01-01T00:00:00+00:00" + type: accepted + - date: "2023-06-01T00:00:00+00:00" + type: retired diff --git a/schemas/v2/examples/14-term-types.yaml b/schemas/v2/examples/14-term-types.yaml new file mode 100644 index 0000000..0021c3d --- /dev/null +++ b/schemas/v2/examples/14-term-types.yaml @@ -0,0 +1,193 @@ +# 14 — ISO 12620 Term Types +# +# ISO 12620 / TBX term_type classification for designations. The term_type +# attribute categorizes a designation with respect to how it is formed or +# where/how it is used. +# +# Categories: +# Orthographic/structural: abbreviation, acronym, clipped_term, full_form, +# initialism, short_form, transliterated_form, transcribed_form, variant +# Symbolic/formulaic: equation, formula, logical_expression, symbol +# Usage/provenance: common_name, entry_term, internationalism, +# international_scientific_term, part_number, phraseological_unit, +# shortcut, sku, standard_text, synonym, synonymous_phrase + +--- +id: dddddddd-aaaa-bbbb-cccc-dddddddddddd +data: + language_code: eng + + terms: + # ── Orthographic / Structural ──────────────────────────────────────── + + # full_form — the complete, unabbreviated form (default for expressions) + - type: expression + designation: "World Health Organization" + normative_status: preferred + term_type: full_form + + # abbreviation — generic shortened form + - type: abbreviation + designation: "WHO" + normative_status: admitted + acronym: true + term_type: abbreviation + + # acronym — pronounced as a word + - type: abbreviation + designation: "laser" + normative_status: admitted + acronym: true + term_type: acronym + + # initialism — each letter pronounced separately + - type: abbreviation + designation: "DNA" + normative_status: admitted + initialism: true + term_type: initialism + + # clipped_term — shortened by removing part of the word + - type: expression + designation: "phone" + normative_status: admitted + term_type: clipped_term + + # short_form — any recognized short form + - type: expression + designation: "app" + normative_status: admitted + term_type: short_form + + # variant — regional or stylistic variant + - type: expression + designation: "catalog" + normative_status: admitted + geographical_area: US + term_type: variant + + # transliterated_form — converted from one script to another, letter by letter + - type: expression + designation: "elektromagnitnoye pole" + normative_status: admitted + language: rus + script: Latn + system: "UN:rus-Cyrl:Latn:1993" + term_type: transliterated_form + + # transcribed_form — converted from one script to another, phonetically + - type: expression + designation: "Tōkyō" + normative_status: admitted + language: jpn + script: Latn + system: "Var:jpn-Hrkt:Latn:Hepburn-1886" + term_type: transcribed_form + + # ── Symbolic / Formulaic ───────────────────────────────────────────── + + # symbol — a non-letter symbol designation + - type: symbol + designation: "Ω" + normative_status: preferred + international: true + term_type: symbol + + # formula — a mathematical or chemical formula + - type: expression + designation: "H₂O" + normative_status: admitted + term_type: formula + + # logical_expression + - type: expression + designation: "A ∧ B" + normative_status: admitted + term_type: logical_expression + + # equation — a mathematical equation as a designation + - type: expression + designation: "E = mc²" + normative_status: admitted + term_type: equation + + # ── Usage / Provenance ─────────────────────────────────────────────── + + # common_name — everyday name for a scientific concept + - type: expression + designation: "water" + normative_status: admitted + term_type: common_name + + # entry_term — the term as it appears in a specific entry/listing + - type: expression + designation: "dihydrogen monoxide" + normative_status: admitted + term_type: entry_term + + # internationalism — word shared across many languages + - type: expression + designation: "computer" + normative_status: admitted + term_type: internationalism + + # international_scientific_term — internationally recognized scientific term + - type: expression + designation: "photosynthesis" + normative_status: admitted + term_type: international_scientific_term + + # synonym — a true synonym of the preferred term + - type: expression + designation: "liquid hydrogen oxide" + normative_status: admitted + term_type: synonym + + # synonymous_phrase — a phrasal synonym + - type: expression + designation: "oxidane" + normative_status: admitted + term_type: synonymous_phrase + + # part_number — a part or component identifier + - type: expression + designation: "47kΩ resistor" + normative_status: admitted + term_type: part_number + + # phraseological_unit — a fixed expression or collocation + - type: expression + designation: "standard atmospheric pressure" + normative_status: admitted + term_type: phraseological_unit + + # shortcut — a commonly used shortcut reference + - type: expression + designation: "spec" + normative_status: admitted + term_type: shortcut + + # sku — stock keeping unit identifier + - type: expression + designation: "SKU-2024-BLK-M" + normative_status: admitted + term_type: sku + + # standard_text — boilerplate or standardized text + - type: expression + designation: "Not applicable" + normative_status: admitted + term_type: standard_text + + definition: + - content: >- + comprehensive example demonstrating all ISO 12620 term type + classifications across orthographic, symbolic, and usage categories + + sources: + - type: authoritative + origin: + source: "ISO" + id: "12620" + version: "2019" +status: valid diff --git a/schemas/v2/examples/15-citation-features.yaml b/schemas/v2/examples/15-citation-features.yaml new file mode 100644 index 0000000..83aa7f0 --- /dev/null +++ b/schemas/v2/examples/15-citation-features.yaml @@ -0,0 +1,141 @@ +# 15 — Citation & Locality Features +# +# Demonstrates all citation and locality features: +# - Structured citation (source + id + version) +# - Unstructured citation (plain text) +# - Locality with single reference (clause, section, page) +# - Locality with range (reference_from → reference_to) +# - Custom locality (name-value pairs) +# - Link field (URL to source document) +# - Clause shorthand +# - Original field + +--- +id: eeeeeeee-aaaa-bbbb-cccc-dddddddddddd +data: + language_code: eng + + terms: + - type: expression + designation: "quality management" + normative_status: preferred + + definition: + - content: >- + coordinated activities to direct and control an organization with + regard to quality + sources: + # Structured citation with clause locality (single point) + - type: authoritative + status: identical + origin: + source: "ISO" + id: "9000" + version: "2015" + clause: "3.3.3" + + - content: >- + the aspect of overall management that determines and implements + quality policy + sources: + # Locality range: clause 3.3.3 through 3.3.5 + - type: authoritative + status: modified + origin: + source: "ISO" + id: "8402" + version: "1994" + locality: + type: clause + reference_from: "3.3.3" + reference_to: "3.3.5" + modification: "updated from 1994 terminology" + + notes: + - content: >- + Quality management includes quality planning, quality control, + quality assurance, and quality improvement. + sources: + # Citation with link field + - type: authoritative + status: identical + origin: + source: "ISO" + id: "9000" + version: "2015" + link: "https://www.iso.org/standard/45481.html" + locality: + type: section + reference_from: "2.2" + + - content: >- + The concept of quality management was significantly influenced + by the work of Deming and Juran. + sources: + # Unstructured citation (plain text) + - type: lineage + status: related + origin: + text: "Deming, W.E., Out of the Crisis, MIT Press, 1986" + + - content: >- + Quality management frameworks may use custom schema versioning. + sources: + # Citation with custom_locality + - type: lineage + status: context_added + origin: + text: "Internal quality manual QM-2024" + custom_locality: + - name: schema + value: QMS_Framework_v3 + - name: version + value: "3" + - name: department + value: engineering + + - content: >- + This definition was adapted from an earlier standard. + sources: + # Citation with original field (transitional) + - type: lineage + status: restyle + origin: + text: "ISO 8402:1986, quality management" + original: "ISO/TC 176 document N45" + + - content: >- + Page-range reference using locality. + sources: + # Locality range: pages 42-47 + - type: authoritative + status: similar + origin: + source: "ISO" + id: "9000" + version: "2005" + locality: + type: page + reference_from: "42" + reference_to: "47" + + sources: + # Multiple locality types on the concept source + - type: authoritative + status: identical + origin: + source: "ISO" + id: "9001" + version: "2015" + link: "https://www.iso.org/standard/62085.html" + locality: + type: annex + reference_from: "A" + + - type: lineage + status: unspecified + origin: + text: "Juran, J.M., Quality Control Handbook, McGraw-Hill, 1951" + link: "https://archive.org/details/qualitycontrolha00jura" + +status: valid diff --git a/schemas/v2/examples/README.md b/schemas/v2/examples/README.md new file mode 100644 index 0000000..8d948ff --- /dev/null +++ b/schemas/v2/examples/README.md @@ -0,0 +1,343 @@ +# Glossarist Concept Model — YAML Examples + +Concrete YAML examples for every feature of the v2 concept model. Each example +is a valid instance against the schemas in `../concept.yaml` (managed concept) +and `../localized-concept.yaml` (localized concept). + +Companion files share a numeric prefix and are meant to be read together: +`NN-topic.yaml` is the managed concept, `NN-topic-localized*.yaml` are its +localizations. + +## Feature Coverage + +| # | Topic | Managed concept | Localized concept(s) | +|---|-------|----------------|---------------------| +| 01 | Minimal concept | `01-minimal-concept.yaml` | `01-minimal-localized.yaml` | +| 02 | Designations (all 5 types + grammar + term_type) | — | `02-designation-expression.yaml`, `02-designation-abbreviation.yaml`, `02-designation-symbol.yaml` | +| 03 | Pronunciation | — | `03-pronunciation.yaml` | +| 04 | Definition, notes, examples | — | `04-definition-notes-examples.yaml` | +| 05 | Domains (classification) | `05-domains.yaml` | `05-domains-localized.yaml` | +| 06 | Related concepts (all 27 types) | `06-related-relationships.yaml` | `06-related-localized.yaml`, `06-related-localized-fra.yaml` | +| 07 | Sources & citations (all features) | `07-sources.yaml` | `07-sources-localized.yaml` | +| 08 | Multi-language / multi-script | `08-multilanguage.yaml` | `08-multilanguage-eng.yaml`, `-ara.yaml`, `-jpn.yaml`, `-rus.yaml` | +| 09 | Non-verbal representations | — | `09-nonverbal.yaml` | +| 10 | Concept references | `10-concept-reference.yaml` | `10-concept-reference-localized.yaml` | +| 11 | Lifecycle & review | `11-lifecycle.yaml` | `11-lifecycle-localized.yaml` | +| 12 | Absent & international designations | `12-absent-designation.yaml` | `12-absent-designation-eng.yaml`, `12-absent-designation-jpn.yaml` | +| 13 | Superseded & deprecated lifecycle | `13-superseded-deprecated.yaml` | `13-superseded-deprecated-localized.yaml` | +| 14 | ISO 12620 term types (24 values) | — | `14-term-types.yaml` | +| 15 | Citation & locality features | — | `15-citation-features.yaml` | + +--- + +## 01 — Minimal Concept + +The smallest valid managed concept and its localization. + +**Features:** `id`, `identifier`, `localized_concepts` map, `status`, `date_accepted`, structured `dates`. + +## 02 — Designations (5 types + grammar + term_type) + +Five designation types form a MECE hierarchy: + +| Type | Extends | Key additions | +|------|---------|---------------| +| `expression` | Base | `prefix`, `usage_info`, `field_of_application`, `grammar_info` | +| `abbreviation` | Expression | `acronym`, `initialism`, `truncation` booleans | +| `symbol` | Base | (none — pure base) | +| `letter_symbol` | Symbol | `text` | +| `graphical_symbol` | Symbol | `text`, `image` | + +All types inherit from Base: `designation`, `normative_status`, `geographical_area`, +`language`/`script`/`system`, `international`, `absent`, `pronunciation`, `sources`, +`term_type`, `related` (designation-level). + +- **Expression** — `02-designation-expression.yaml`: preferred/admitted/deprecated + terms, all grammar info options (noun, verb, adj, adverb, preposition, participle; + gender: m/f/n/c; number: singular/dual/plural), `geographical_area` (US vs GB), + `usage_info`, `field_of_application`, `term_type` (full_form, variant, entry_term, + common_name, synonym), designation-level sources. +- **Abbreviation** — `02-designation-abbreviation.yaml`: acronym/initialism/truncation + booleans, designation-level `related` (abbreviated_form_for, short_form_for). +- **Symbol, letter_symbol, graphical_symbol** — `02-designation-symbol.yaml`: + international symbols, text/image representations. + +## 03 — Pronunciation + +Pronunciations attach to individual designations with language, script, country, +and transcription system (ISO 24229). Demonstrates the three-level cascade: +ConceptData defaults → Designation overrides → Pronunciation overrides. + +- **`03-pronunciation.yaml`**: Japanese term with Hepburn romanization and IPA + transcriptions; Hiragana variant with script override. + +## 04 — Definition, Notes, Examples + +All three use `DetailedDefinition` — text content with optional per-item sources. + +- **`04-definition-notes-examples.yaml`**: definition with authoritative source, + two notes (one with lineage source), and an example. + +## 05 — Domains (Classification) + +Domains are language-agnostic classification tags. A concept *belongs to* +subject areas — this is not semantic hierarchy. + +- **`05-domains.yaml`**: ConceptReference array with `ref_type: "domain"`. +- **`05-domains-localized.yaml`**: Per-language `domain` URI string (relative, + URN, or URL forms). + +## 06 — Related Concepts (All 27 Typed Semantic Relationships) + +Typed semantic links between concepts. The full type enum covers four standards: + +| Category | Standard | Types | +|----------|----------|-------| +| Hierarchical | ISO 10241-1 / ISO 25964 | `broader`, `narrower` | +| Generic hierarchy | ISO 25964 (BTG/NTG) | `broader_generic`, `narrower_generic` | +| Partitive hierarchy | ISO 25964 (BTP/NTP) | `broader_partitive`, `narrower_partitive` | +| Instantial hierarchy | ISO 25964 (BTI/NTI) | `broader_instantial`, `narrower_instantial` | +| Equivalence | ISO 10241-1 / SKOS | `equivalent` | +| Approximate mapping | ISO 25964 / SKOS | `close_match` | +| Cross-vocabulary mapping | SKOS | `broad_match`, `narrow_match`, `related_match` | +| Comparative | ISO 10241-1 | `compare`, `contrast` | +| Associative | ISO 10241-1 / ISO 25964 | `see` | +| Associative subtypes | ISO 25964 / TBX | `related_concept`, `related_concept_broader`, `related_concept_narrower` | +| Spatiotemporal | ISO 25964 / TBX | `sequentially_related_concept`, `spatially_related_concept`, `temporally_related_concept` | +| Lifecycle | ISO 10241-1 | `deprecates`, `supersedes`, `superseded_by` | +| Lexical | ISO 12620 / TBX | `homograph`, `false_friend` | + +- **`06-related-relationships.yaml`**: All 27 relationship types at the managed + concept level, organized by category. +- **`06-related-localized.yaml`**: English `see` relationship at the localization level. +- **`06-related-localized-fra.yaml`**: French `false_friend` (ISO 12620/TBX) — + a relationship that only exists in one language. + +## 07 — Sources & Citations (All Features) + +Sources appear at four levels: managed concept, localized concept, +definition/note/example, and designation. Each source has: +- `type`: authoritative or lineage +- `status`: 10 values (identical, similar, modified, restyle, context_added, + generalisation, specialisation, unspecified, related, not_equal) +- `origin`: structured citation (source/id/version/clause/locality) or + unstructured text +- `modification`: free-text description of changes + +- **`07-sources.yaml`**: Managed concept with authoritative and lineage sources. +- **`07-sources-localized.yaml`**: All 10 source status values, locality ranges + (reference_from → reference_to), custom_locality, link field, clause shorthand, + modification notes. + +## 08 — Multi-Language / Multi-Script + +A concept with four localizations demonstrating different scripts and writing systems. + +- **`08-multilanguage.yaml`**: Managed concept with eng/ara/jpn/rus map. +- **`08-multilanguage-eng.yaml`**: English (Latn) with expression + abbreviation. +- **`08-multilanguage-ara.yaml`**: Arabic (Arab) with entry_status. +- **`08-multilanguage-jpn.yaml`**: Japanese with Kanji/Kana/Latn variants, + demonstrating the script cascade and pronunciation overrides. +- **`08-multilanguage-rus.yaml`**: Russian (Cyrl) with transliterated form + using ISO 24229 conversion system code. + +## 09 — Non-Verbal Representations + +URI references to external resources (ISO 10241-1 §6.5): images, tables, formulas. +Resources live outside the concept model and are referenced by relative path, +URN, or URL. + +- **`09-nonverbal.yaml`**: Three representation types with different URI schemes. + +## 10 — Concept References + +Typed references to other concepts — local (same glossary) or external (another +registry). `ref_type` values: `local`, `designation`, `urn`, `domain`. + +- **`10-concept-reference.yaml`**: Domain references on managed concept. +- **`10-concept-reference-localized.yaml`**: Local, URN, and designation + references on localized concept. + +## 11 — Lifecycle & Review + +Status transitions, structured dates, review metadata, release version, and +lineage similarity tracking. + +- **`11-lifecycle.yaml`**: Managed concept with dates (accepted, amended), + supersedes relationship. +- **`11-lifecycle-localized.yaml`**: entry_status, dates, review_date/decision, + lineage_source_similarity, release version. + +## 12 — Absent & International Designations + +- `absent: true` — explicitly marks that no designation exists in this language. +- `international: true` — symbol valid across all languages (no script override). + +- **`12-absent-designation.yaml`**: Managed concept with eng/jpn map. +- **`12-absent-designation-eng.yaml`**: English with normal expression + international symbol. +- **`12-absent-designation-jpn.yaml`**: Japanese with `absent: true` expression, + international symbol shared, transliterated form as admitted alternative. + +## 13 — Superseded & Deprecated Lifecycle + +Demonstrates the deprecated/superseded concept lifecycle — a concept that was +replaced by a newer entry. Shows: +- Managed concept with `status: superseded` +- `superseded_by` and `deprecates` relationships +- Localized concept with `entry_status: superseded` +- `normative_status: deprecated` and `normative_status: superseded` on designations +- Retired date + +- **`13-superseded-deprecated.yaml`**: Managed concept with superseded_by, deprecates, + retired date. +- **`13-superseded-deprecated-localized.yaml`**: Deprecated/superseded designations, + entry_status transitions. + +## 14 — ISO 12620 Term Types (24 Values) + +ISO 12620 / TBX term_type classification for designations. All 24 values +organized by category: + +| Category | Types | +|----------|-------| +| Orthographic/structural | `full_form`, `abbreviation`, `acronym`, `initialism`, `clipped_term`, `short_form`, `transliterated_form`, `transcribed_form`, `variant` | +| Symbolic/formulaic | `symbol`, `formula`, `equation`, `logical_expression` | +| Usage/provenance | `common_name`, `entry_term`, `internationalism`, `international_scientific_term`, `part_number`, `phraseological_unit`, `shortcut`, `sku`, `standard_text`, `synonym`, `synonymous_phrase` | + +- **`14-term-types.yaml`**: All 24 term_type values demonstrated with contextual + designations. + +## 15 — Citation & Locality Features + +All citation and locality features in one example: + +| Feature | Shown in | +|---------|----------| +| Structured citation (source + id + version) | multiple sources | +| Unstructured citation (plain text) | Deming reference | +| Locality single reference (clause, section, page, annex) | multiple sources | +| Locality range (reference_from → reference_to) | clause 3.3.3–3.3.5, pages 42–47 | +| Custom locality (name-value pairs) | schema/version/department | +| Link field (URL to source) | ISO 9000, ISO 9001 | +| Clause shorthand | definition source | +| Original field (transitional) | note source | + +- **`15-citation-features.yaml`**: All citation features with contextual examples. + +## Schema-to-Example Mapping + +The tables below map each schema feature to the example(s) that demonstrate it. + +### Managed concept features (`concept.yaml`) + +| Feature | Examples | +|---------|----------| +| `id` / `identifier` | 01, 05, 06, 10, 11, 13 | +| `data.uri` | 01 (urn:iec:std:iec:60050-113-01-01) | +| `data.localized_concepts` | 01, 05, 06, 08, 10, 11, 13 | +| `data.domains` | 05, 10 | +| `data.sources` | 01, 05, 06, 07, 08, 10, 11 | +| `data.related` | (localized-level only) | +| `data.dates` | 11, 13 | +| `status` (7 values) | 01 (valid), 11 (valid), 13 (superseded) | +| `date_accepted` | 01, 06, 11 | +| `related` (27 types) | 06 (all 27), 11 (supersedes), 13 (superseded_by, deprecates) | + +### Localized concept features (`localized-concept.yaml`) + +| Feature | Examples | +|---------|----------| +| `language_code` | 01, 02, 03, 04, 07, 08, 09, 12, 14, 15 | +| `script` (ISO 15924) | 03 (Hani), 08 (Hani, Kana, Latn, Cyrl, Arab) | +| `system` (ISO 24229) | 03 (Hepburn, IPA), 08 (UN:rus-Cyrl:Latn:1993) | +| `entry_status` (4 values) | 08-ara (not_valid), 11 (valid), 13 (superseded) | +| `terms` (5 types) | 02 (all 5), 04, 14 | +| `definition` | 01, 02, 03, 04, 07, 09, 11, 13, 14, 15 | +| `domain` | 05-localized | +| `notes` | 04, 07, 15 | +| `examples` | 04, 07, 15 | +| `sources` | 01, 02, 04, 07, 11, 13 | +| `dates` | 11, 13 | +| `related` | 06-localized, 06-fra | +| `references` | 10-localized | +| `lineage_source_similarity` | 11 | +| `release` | 11, 13 | +| `review_date` / `review_decision_date` / `review_decision_event` | 11 | +| `non_verbal_rep` | 09 | +| `classification` | 11 (admitted) | +| `review_type` | 11 (editorial) | + +### Designation features (`localized-concept.yaml` → designation) + +| Feature | Examples | +|---------|----------| +| `designation` | all examples | +| `normative_status` (4 values) | 02 (preferred, admitted, deprecated), 12, 13 (deprecated, superseded) | +| `geographical_area` | 02 (US, GB), 14 (US) | +| `type` (5 values) | 02 (all 5) | +| `language` (per-designation override) | 03 | +| `script` (per-designation override) | 03, 08-jpn, 08-rus | +| `system` (per-designation override) | 08-rus | +| `international` | 02-symbol, 04, 12 | +| `absent` | 12 | +| `pronunciation` | 03, 08-jpn | +| `sources` (per-designation) | 02-expression, 07, 09 | +| `term_type` (24 values) | 08-rus (transliterated_form), 14 (all 24 including transcribed_form, transliterated_form) | +| `related` (designation-level) | 02-abbreviation | +| `prefix` | 02-expression (non-) | +| `usage_info` | 02-expression | +| `field_of_application` | 02-expression | +| `grammar_info` | 02-expression (noun, verb, adj, adverb, preposition, participle; gender; number) | +| `acronym` / `initialism` / `truncation` | 02-abbreviation | +| `text` (letter/graphical symbol) | 02-symbol | +| `image` (graphical symbol) | 02-symbol | + +### Citation & source features + +| Feature | Examples | +|---------|----------| +| Structured citation (source + id + version) | 01, 04, 07, 15 | +| Unstructured citation (text) | 03, 04, 06, 07, 15 | +| Locality (single reference) | 07, 15 | +| Locality (range: reference_to) | 07, 15 | +| Custom locality | 07, 15 | +| Link field | 07, 15 | +| Clause shorthand | 07, 15 | +| Original field | 15 | +| Source type (authoritative/lineage) | all source examples | +| Source status (10 values) | 07 (all 10) | +| Modification | 07, 15 | + +### Relationship type coverage + +| Category | Type | Example | +|----------|------|---------| +| Hierarchical | `broader` | 06 | +| Hierarchical | `narrower` | 06 | +| Generic | `broader_generic` | 06 | +| Generic | `narrower_generic` | 06 | +| Partitive | `broader_partitive` | 06 | +| Partitive | `narrower_partitive` | 06 | +| Instantial | `broader_instantial` | 06 | +| Instantial | `narrower_instantial` | 06 | +| Equivalence | `equivalent` | 06 | +| Mapping | `close_match` | 06 | +| Mapping | `broad_match` | 06 | +| Mapping | `narrow_match` | 06 | +| Mapping | `related_match` | 06 | +| Comparative | `compare` | 06 | +| Comparative | `contrast` | 06 | +| Associative | `see` | 06, 06-localized | +| Associative | `related_concept` | 06 | +| Associative | `related_concept_broader` | 06 | +| Associative | `related_concept_narrower` | 06 | +| Spatiotemporal | `sequentially_related_concept` | 06 | +| Spatiotemporal | `spatially_related_concept` | 06 | +| Spatiotemporal | `temporally_related_concept` | 06 | +| Lifecycle | `deprecates` | 06, 13 | +| Lifecycle | `supersedes` | 06, 11 | +| Lifecycle | `superseded_by` | 06, 13 | +| Lexical | `homograph` | 06 | +| Lexical | `false_friend` | 06-localized-fra | +| Designation | `abbreviated_form_for` | 02-abbreviation | +| Designation | `short_form_for` | 02-abbreviation | diff --git a/schemas/v2/localized-concept.yaml b/schemas/v2/localized-concept.yaml index b229042..ccf798b 100644 --- a/schemas/v2/localized-concept.yaml +++ b/schemas/v2/localized-concept.yaml @@ -20,6 +20,20 @@ properties: properties: language_code: $ref: "#/$defs/language_code" + entry_status: + $ref: "#/$defs/entry_status" + classification: + type: string + description: Classification of the localized concept entry. + examples: + - admitted + - preferred + review_type: + type: string + description: Type of review for this entry. + examples: + - editorial + - substantive designations: type: array description: List of designations (terms) of the concept @@ -46,22 +60,14 @@ properties: notes: type: array items: - type: object - description: List of notes for current localization - properties: - content: - type: string - description: content of a single note + $ref: "#/$defs/detailed_definition" + description: List of notes for current localization examples: type: array items: - type: object - description: List of all examples for current localization - properties: - content: - type: string - description: content of a single example + $ref: "#/$defs/detailed_definition" + description: List of examples for current localization non_verbal: type: array @@ -79,6 +85,20 @@ properties: $ref: "#/$defs/concept_source" description: The authoritative source for current localization + dates: + type: array + items: + $ref: "#/$defs/concept_date" + description: Dates relevant to this localized concept. + + release: + type: string + description: Release version of this localized entry. + + lineage_source_similarity: + type: integer + description: Percentage similarity to the lineage source (0-100). + status: $ref: "#/$defs/concept_status" @@ -102,10 +122,10 @@ $defs: description: Indication that the term designation is missing. field_of_application: type: string - description: Text used to disambiguate a designation from other, homonymous designations, by describing the subject field that the designation is used in. + description: Text used to disambiguate a designation by describing the subject field. usage_info: type: string - description: Text used to disambiguate a designation from other, homonymous designations, by describing how the designation is used. + description: Text used to disambiguate a designation by describing how it is used. geographical_area: type: array items: @@ -116,6 +136,13 @@ $defs: items: $ref: "#/$defs/concept_source" description: Bibliographic references for this designation. + term_type: + $ref: "#/$defs/term_type" + related: + type: array + items: + $ref: "#/$defs/related_concept" + description: Designation-level relationships (e.g. abbreviated_form_for, short_form_for). # Expression Designation designation_expression: @@ -139,16 +166,24 @@ $defs: $ref: "#/$defs/iso639_three_char_code" script: $ref: "#/$defs/iso15924_code" + system: + $ref: "#/$defs/iso24229_code" + international: + type: boolean + description: Whether the designation is valid across all regions. pronunciation: type: array items: - type: string - description: A pronunciation guide to the designation. + $ref: "#/$defs/pronunciation" + description: Pronunciation guides for the designation. grammar_info: type: array items: $ref: "#/$defs/grammar_info" description: Grammatical information about the designation. + prefix: + type: string + description: A prefix that attaches to the designation. # Abbreviation Designation designation_abbreviation: @@ -168,9 +203,25 @@ $defs: examples: - j - ATS - is_international: + language: + $ref: "#/$defs/iso639_three_char_code" + script: + $ref: "#/$defs/iso15924_code" + system: + $ref: "#/$defs/iso24229_code" + international: type: boolean - description: Whether an abbreviation is the same across languages, or language-specific. + description: Whether an abbreviation is the same across languages. + pronunciation: + type: array + items: + $ref: "#/$defs/pronunciation" + grammar_info: + type: array + items: + $ref: "#/$defs/grammar_info" + prefix: + type: string abbreviation_type: $ref: "#/$defs/abbreviation_type" @@ -188,7 +239,7 @@ $defs: const: symbol international: type: boolean - description: Whether the designation is valid across all regions, or is region-specific. + description: Whether the designation is valid across all regions. designation: type: string description: The symbol used to represent the localized term @@ -210,13 +261,19 @@ $defs: const: graphical_symbol international: type: boolean - description: Whether the designation is valid across all regions, or is region-specific. + description: Whether the designation is valid across all regions. designation: type: string description: The symbol used to represent the localized term examples: - ♕ - ♖ + text: + type: string + description: Alt text description of the graphical symbol. + image: + type: string + description: URI or path to the graphical symbol image. # Letter Symbol Designation designation_letter_symbol: @@ -232,13 +289,16 @@ $defs: const: letter_symbol international: type: boolean - description: Whether the designation is valid across all regions, or is region-specific. + description: Whether the designation is valid across all regions. designation: type: string description: The symbol used to represent the localized term examples: - C - L + text: + type: string + description: The letter text of the symbol. # Prefix Designation designation_prefix: @@ -272,6 +332,24 @@ $defs: type: string description: The suffix used to represent the localized term + # Pronunciation + pronunciation: + type: object + description: A pronunciation guide for a designation. + properties: + content: + type: string + description: The phonetic transcription text. + language: + $ref: "#/$defs/iso639_three_char_code" + script: + $ref: "#/$defs/iso15924_code" + system: + type: string + description: The transcription system (e.g. IPA, romaji). + country: + $ref: "#/$defs/iso3166_code" + # Enums and Types abbreviation_type: type: string @@ -289,6 +367,45 @@ $defs: - preferred - admitted - deprecated + - superseded + + entry_status: + type: string + description: Status of the localized concept entry. + enum: + - valid + - not_valid + - superseded + - retired + + term_type: + type: string + description: ISO 12620 term type classification. + enum: + - full_form + - variant + - entry_term + - common_name + - synonym + - transliterated_form + - transcribed_form + - scientific_name + - short_form + - acronym + - initialism + - abbreviation + - truncation + - symbol + - equation + - formula + - reference_symbol + - figure_symbol + - graphic_symbol + - letter_symbol + - roman_numeral + - mathematical_expression + - code + - phrase grammar_gender: type: string @@ -339,11 +456,27 @@ $defs: description: Status of the concept enum: - draft + - submitted - not_valid + - invalid - valid - superseded - retired + concept_date: + type: object + description: A date relevant to the lifecycle of the localized concept. + properties: + date: + type: string + format: date + type: + type: string + enum: + - accepted + - amended + - retired + concept_source_statuses: type: string description: Status of the concept source @@ -382,6 +515,7 @@ $defs: citation: type: object + description: A bibliographic citation. properties: text: type: string @@ -399,63 +533,69 @@ $defs: original: type: string ref: - type: string + description: Reference identifier. + oneOf: + - type: string + - type: object + properties: + source: + type: string + id: + type: string + version: + type: string clause: type: string custom_locality: - $ref: "#/$defs/custom_locality" + type: array + items: + type: object + properties: + name: + type: string + value: + type: string locality: - type: string - description: The locality of the origin + type: object + description: A locality within a cited document. properties: type: type: string - description: Type of the locality - pattern: - format: section|clause|part|paragraph|chapter|page|title|line|whole|table|annex|figure|note|list|example|volume|issue|time|anchor|locality:[a-zA-Z0-9_]+ - example: clause + description: Type of the locality (section, clause, page, etc.) reference_from: type: string - description: The source of the type of the locality - example: 3.2.1 reference_to: type: string - description: The target of the type of the locality - example: 3.2.2 - - custom_locality: - type: array - items: - type: object - description: Custom locality for the origin - properties: - name: - type: string - description: Name of the custom locality - examples: - - schema - - version - value: - type: string - description: Value of the custom locality - examples: - - Aec_service_life_arm - - '2' detailed_definition: type: object - description: A definition of the concept. + description: A definition, note, or example with optional sources. properties: content: type: string - description: The text of the definition of the concept. - example: some definition of a geometric node + description: The text content. sources: type: array items: $ref: "#/$defs/concept_source" - description: Bibliographic references for this particular definition of the concept. + description: Bibliographic references for this content. + + related_concept: + type: object + description: A concept related to the current concept or designation. + properties: + type: + type: string + description: The type of relationship. + ref: + description: Reference to the related concept. + oneOf: + - type: string + - type: object + content: + type: string + description: Text describing the relationship. # Data Types iso639_three_char_code: @@ -484,17 +624,13 @@ $defs: - Arab - Cyrl - # Legacy aliases for backward compatibility - geographical_area: - $ref: "#/$defs/iso3166_code" - - usage_info: + iso24229_code: type: string - description: >- - Text used to disambiguate a designation from other, homonymous designations, - by describing how the designation is used. The usageinfo - is supplementary, language-specific text appended - to the designation. + description: The ISO-24229 conversion system code + examples: + - pinyin + - romaji + - ISO language_code: $ref: "#/$defs/iso639_three_char_code" @@ -502,19 +638,23 @@ $defs: # Non-verbal representation non_verbal_rep: type: object - description: A non-verbal representation of the term, used to help define it. + description: A non-verbal representation of the term. properties: - image: - type: object - description: An image used to help define a term. - table: - type: object - description: A table used to help define a term. - formula: - type: object - description: A formula used to help define a term. + type: + type: string + description: Type of representation. + enum: + - image + - table + - formula + ref: + type: string + description: URI or path to the resource. + text: + type: string + description: Alt text or description. sources: type: array items: $ref: "#/$defs/concept_source" - description: Bibliographic source for the non-verbal representation of the term. + description: Bibliographic source for the non-verbal representation.