glossarist 2.8.18 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +175 -8
  3. data/Rakefile +4 -0
  4. data/config.yml +2 -3
  5. data/data/concept-model/README.md +35 -0
  6. data/data/concept-model/SOURCE.json +5 -0
  7. data/data/concept-model/glossarist.context.jsonld +209 -0
  8. data/data/concept-model/glossarist.ttl +960 -0
  9. data/data/concept-model/shapes/glossarist.shacl.ttl +575 -0
  10. data/glossarist.gemspec +2 -0
  11. data/lib/glossarist/asset_reference.rb +2 -0
  12. data/lib/glossarist/bibliographic_reference.rb +13 -0
  13. data/lib/glossarist/cli/export_command.rb +130 -7
  14. data/lib/glossarist/cli.rb +11 -2
  15. data/lib/glossarist/concept_document.rb +13 -0
  16. data/lib/glossarist/concept_reference.rb +6 -0
  17. data/lib/glossarist/concept_store.rb +2 -3
  18. data/lib/glossarist/dataset_register.rb +2 -2
  19. data/lib/glossarist/figure_reference.rb +0 -4
  20. data/lib/glossarist/formula_reference.rb +0 -4
  21. data/lib/glossarist/non_verbal_reference.rb +10 -0
  22. data/lib/glossarist/rdf/gloss_detailed_definition.rb +6 -1
  23. data/lib/glossarist/rdf/gloss_localized_concept.rb +65 -0
  24. data/lib/glossarist/rdf/lutaml_ext.rb +33 -0
  25. data/lib/glossarist/rdf.rb +2 -0
  26. data/lib/glossarist/reference.rb +33 -0
  27. data/lib/glossarist/table_reference.rb +0 -4
  28. data/lib/glossarist/tasks/shacl.rake +30 -0
  29. data/lib/glossarist/tasks/sync.rake +14 -0
  30. data/lib/glossarist/tasks/sync_model.rb +92 -0
  31. data/lib/glossarist/transforms/concept_to_gloss_transform.rb +3 -2
  32. data/lib/glossarist/utilities/uuid.rb +5 -1
  33. data/lib/glossarist/validation/rules/related_concept_cycle_rule.rb +15 -1
  34. data/lib/glossarist/validation/shacl_validator.rb +97 -0
  35. data/lib/glossarist/validation.rb +1 -0
  36. data/lib/glossarist/version.rb +1 -1
  37. data/lib/glossarist.rb +1 -0
  38. metadata +41 -2
@@ -0,0 +1,960 @@
1
+ # Glossarist Ontology — Core
2
+ #
3
+ # IRI: https://www.glossarist.org/ontologies/glossarist
4
+ # Prefix: gloss:
5
+ #
6
+ # An OWL ontology for the Glossarist concept model. Builds on and extends
7
+ # multiple ISO standards: ISO 10241-1 (terminology entries), ISO 30042/TBX
8
+ # (data exchange), ISO 12620 (data category registry), ISO 25964/SKOS
9
+ # (thesaurus interoperability), ISO 639/15924/24229 (language/script/system
10
+ # identifiers). Aligns with SKOS (concepts, labels, relationships), SKOS-XL
11
+ # (reified lexical labels for designations), ISO 25964 SKOS-Thes (hierarchical
12
+ # relationship subtypes, concept groups), PROV-O (source provenance), and
13
+ # Dublin Core Terms (language, bibliographic citation).
14
+ #
15
+ # Every class and property here has a direct correspondence to a field in the
16
+ # Glossarist YAML schema (schemas/v3/concept.yaml, localized-concept.yaml).
17
+
18
+ @prefix gloss: <https://www.glossarist.org/ontologies/> .
19
+ @prefix owl: <http://www.w3.org/2002/07/owl#> .
20
+ @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
21
+ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
22
+ @prefix skos: <http://www.w3.org/2004/02/skos/core#> .
23
+ @prefix xl: <http://www.w3.org/2008/05/skos-xl#> .
24
+ @prefix iso-thes: <http://purl.org/iso25964/skos-thes#> .
25
+ @prefix dcterms: <http://purl.org/dc/terms/> .
26
+ @prefix prov: <http://www.w3.org/ns/prov#> .
27
+ @prefix vann: <http://purl.org/vocab/vann/> .
28
+ @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
29
+
30
+ <https://www.glossarist.org/ontologies/glossarist> a owl:Ontology ;
31
+ rdfs:label "Glossarist Ontology"@en ;
32
+ rdfs:comment """
33
+ An OWL ontology for the Glossarist concept model. Builds on and extends
34
+ multiple ISO standards: ISO 10241-1 (terminology entries), ISO 30042/TBX
35
+ (data exchange), ISO 12620 (data category registry), ISO 25964/SKOS
36
+ (thesaurus interoperability), ISO 639/15924/24229 (language/script/system
37
+ identifiers).
38
+
39
+ Design principles:
40
+ - gloss:Concept rdfs:subClassOf skos:Concept — instant SKOS interop
41
+ - gloss:Designation rdfs:subClassOf skosxl:Label — SKOS-XL pattern
42
+ - Designations are separate named resources, linked via skosxl:prefLabel / skosxl:altLabel
43
+ - Relationship subtypes reuse iso-thes: properties directly (broaderGeneric, etc.)
44
+ - Source provenance uses prov:qualifiedDerivation
45
+ - SKOS ConceptSchemes for all enumeration values (taxonomies/)
46
+ """@en ;
47
+ vann:preferredNamespacePrefix "gloss" ;
48
+ vann:preferredNamespaceUri "https://www.glossarist.org/ontologies/" ;
49
+ owl:imports <http://www.w3.org/2004/02/skos/core> ;
50
+ owl:imports <http://www.w3.org/2008/05/skos-xl> ;
51
+ owl:imports <http://purl.org/iso25964/skos-thes> ;
52
+ owl:imports <http://www.w3.org/ns/prov#> ;
53
+ dcterms:title "Glossarist Ontology"@en ;
54
+ dcterms:description "OWL ontology for terminology management (ISO 10241-1, 30042, 12620, 25964/SKOS)."@en ;
55
+ dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
56
+ dcterms:created "2025-05-14"^^xsd:date .
57
+
58
+ # ══════════════════════════════════════════════════════════════════════════
59
+ # CLASSES
60
+ # ══════════════════════════════════════════════════════════════════════════
61
+
62
+ # ── Concept Management Layer ─────────────────────────────────────────────
63
+
64
+ gloss:Concept a owl:Class ;
65
+ rdfs:subClassOf skos:Concept ;
66
+ rdfs:label "Concept"@en ;
67
+ rdfs:comment """
68
+ A managed terminology concept — the top-level entity in Glossarist.
69
+ Has status, dates, domains, related concepts, and localizations.
70
+ Corresponds to ManagedConcept in glossarist-ruby.
71
+ """@en .
72
+
73
+ gloss:ConceptCollection a owl:Class ;
74
+ rdfs:subClassOf skos:Collection ;
75
+ rdfs:label "Concept Collection"@en ;
76
+ rdfs:comment """
77
+ A managed collection of concepts (a glossary or register).
78
+ Corresponds to ManagedConceptCollection in glossarist-ruby.
79
+ """@en .
80
+
81
+ # ── Localization Layer ───────────────────────────────────────────────────
82
+
83
+ gloss:LocalizedConcept a owl:Class ;
84
+ rdfs:subClassOf skos:Concept ;
85
+ rdfs:label "Localized Concept"@en ;
86
+ rdfs:comment """
87
+ A concept in a specific language. Contains designations, definition,
88
+ notes, examples, sources. Linked to its managed concept via
89
+ gloss:isLocalizationOf.
90
+ Corresponds to LocalizedConcept in glossarist-ruby.
91
+ """@en .
92
+
93
+ # ── Designation Hierarchy (MECE) ─────────────────────────────────────────
94
+
95
+ gloss:Designation a owl:Class ;
96
+ rdfs:subClassOf xl:Label ;
97
+ rdfs:label "Designation"@en ;
98
+ rdfs:comment """
99
+ Abstract base for all designation types. A designation is both a
100
+ gloss:Designation and a skosxl:Label. The xl:literalForm carries the
101
+ designation text.
102
+ Corresponds to Designation::Base in glossarist-ruby.
103
+ """@en .
104
+
105
+ gloss:Expression a owl:Class ;
106
+ rdfs:subClassOf gloss:Designation ;
107
+ rdfs:label "Expression"@en ;
108
+ rdfs:comment "A word or phrase used as a designation."@en ;
109
+ owl:disjointWith gloss:Symbol .
110
+
111
+ gloss:Abbreviation a owl:Class ;
112
+ rdfs:subClassOf gloss:Expression ;
113
+ rdfs:label "Abbreviation"@en ;
114
+ rdfs:comment """
115
+ A shortened form of a word or phrase (acronym, initialism, or truncation).
116
+ """@en .
117
+
118
+ gloss:Symbol a owl:Class ;
119
+ rdfs:subClassOf gloss:Designation ;
120
+ rdfs:label "Symbol"@en ;
121
+ rdfs:comment "A non-letter symbol representing a concept."@en ;
122
+ owl:disjointWith gloss:Expression .
123
+
124
+ gloss:LetterSymbol a owl:Class ;
125
+ rdfs:subClassOf gloss:Symbol ;
126
+ rdfs:label "Letter Symbol"@en ;
127
+ rdfs:comment "A single letter used as a symbol."@en .
128
+
129
+ gloss:GraphicalSymbol a owl:Class ;
130
+ rdfs:subClassOf gloss:Symbol ;
131
+ rdfs:label "Graphical Symbol"@en ;
132
+ rdfs:comment "An iconic or graphical symbol."@en ;
133
+ owl:disjointWith gloss:LetterSymbol .
134
+
135
+ gloss:Prefix a owl:Class ;
136
+ rdfs:subClassOf gloss:Designation ;
137
+ rdfs:label "Prefix Designation"@en ;
138
+ rdfs:comment "A prefix that attaches before a designation (ISO 12620)."@en ;
139
+ owl:disjointWith gloss:Expression ;
140
+ owl:disjointWith gloss:Symbol ;
141
+ owl:disjointWith gloss:Suffix .
142
+
143
+ gloss:Suffix a owl:Class ;
144
+ rdfs:subClassOf gloss:Designation ;
145
+ rdfs:label "Suffix Designation"@en ;
146
+ rdfs:comment "A suffix that attaches after a designation (ISO 12620)."@en ;
147
+ owl:disjointWith gloss:Expression ;
148
+ owl:disjointWith gloss:Symbol ;
149
+ owl:disjointWith gloss:Prefix .
150
+
151
+ # ── Supporting Classes ───────────────────────────────────────────────────
152
+
153
+ gloss:Pronunciation a owl:Class ;
154
+ rdfs:label "Pronunciation"@en ;
155
+ rdfs:comment """
156
+ A pronunciation or transcription entry for a designation.
157
+ Supports IPA, romanization, and other transcription systems.
158
+ """@en .
159
+
160
+ gloss:GrammarInfo a owl:Class ;
161
+ rdfs:label "Grammar Information"@en ;
162
+ rdfs:comment """
163
+ Grammatical information about a designation: gender, number, part of speech.
164
+ """@en .
165
+
166
+ gloss:DetailedDefinition a owl:Class ;
167
+ rdfs:label "Detailed Definition"@en ;
168
+ rdfs:comment """
169
+ A definition, note, or example with optional per-item sources.
170
+ Uses rdf:value for the text content.
171
+ """@en .
172
+
173
+ gloss:ConceptSource a owl:Class ;
174
+ rdfs:label "Concept Source"@en ;
175
+ rdfs:comment """
176
+ Bibliographic source with type (authoritative/lineage), status
177
+ (identical/modified/...), and an origin citation.
178
+ """@en .
179
+
180
+ gloss:Reference a owl:Class ;
181
+ rdfs:label "Reference"@en ;
182
+ rdfs:comment """
183
+ A typed reference to an item within a collection. Used for domain
184
+ classification (ManagedConceptData#domains) and typed references
185
+ (ConceptData#references). For bibliographic citations, use gloss:Citation.
186
+ For concept links in relationships, use gloss:ConceptRef.
187
+ """@en .
188
+
189
+ gloss:RelatedConcept a owl:Class ;
190
+ rdfs:label "Related Concept"@en ;
191
+ rdfs:comment """
192
+ A concept with a typed relationship (deprecates, broader, equivalent, etc.).
193
+ """@en .
194
+
195
+ gloss:ConceptDate a owl:Class ;
196
+ rdfs:label "Concept Date"@en ;
197
+ rdfs:comment """
198
+ MANAGEMENT: A governance event in the concept or localization lifecycle.
199
+ Types include acceptance, amendment, retirement, review, and review decision.
200
+ Inspired by TBX <transactionGrp> (ISO 30042).
201
+ """@en .
202
+
203
+ gloss:NonVerbalRepresentation a owl:Class ;
204
+ rdfs:label "Non-Verbal Representation"@en ;
205
+ rdfs:comment """
206
+ Reference to an external image, table, or formula resource
207
+ (ISO 10241-1 §6.5).
208
+ """@en .
209
+
210
+
211
+ gloss:Citation a owl:Class ;
212
+ rdfs:label "Citation"@en ;
213
+ rdfs:comment """
214
+ A bibliographic citation. The ref field is always a structured CitationRef
215
+ hash (source + id + optional version). Never a plain string in V3.
216
+ Used as the origin of ConceptSource.
217
+ Corresponds to Citation in glossarist-ruby.
218
+ """@en .
219
+
220
+ gloss:CitationRef a owl:Class ;
221
+ rdfs:label "Citation Reference"@en ;
222
+ rdfs:comment """
223
+ Inner reference of a Citation — always a structured hash with source,
224
+ id, and optional version. Never a plain string in V3.
225
+ Corresponds to Citation::Ref in glossarist-ruby.
226
+ """@en .
227
+
228
+ gloss:ConceptRef a owl:Class ;
229
+ rdfs:label "Concept Reference"@en ;
230
+ rdfs:comment """
231
+ A reference to a concept in another registry or vocabulary.
232
+ Has source and id only — no version, locality, or link.
233
+ Used as the ref of RelatedConcept.
234
+ Corresponds to ConceptRef in glossarist-ruby.
235
+ """@en .
236
+
237
+ gloss:Locality a owl:Class ;
238
+ rdfs:label "Locality"@en ;
239
+ rdfs:comment "A locality within a cited document (section, clause, page, etc.)."@en .
240
+
241
+ # ══════════════════════════════════════════════════════════════════════════
242
+ # OBJECT PROPERTIES — Concept-level
243
+ # ══════════════════════════════════════════════════════════════════════════
244
+
245
+ gloss:hasLocalization a owl:ObjectProperty ;
246
+ owl:inverseOf gloss:isLocalizationOf ;
247
+ rdfs:domain gloss:Concept ;
248
+ rdfs:range gloss:LocalizedConcept ;
249
+ rdfs:label "has localization"@en ;
250
+ rdfs:comment "Links a managed concept to one of its language-specific localizations."@en .
251
+
252
+ gloss:isLocalizationOf a owl:ObjectProperty ;
253
+ owl:inverseOf gloss:hasLocalization ;
254
+ rdfs:domain gloss:LocalizedConcept ;
255
+ rdfs:range gloss:Concept ;
256
+ rdfs:label "is localization of"@en ;
257
+ rdfs:comment "Links a localized concept back to its managed concept."@en .
258
+
259
+ gloss:hasStatus a owl:ObjectProperty ;
260
+ rdfs:domain gloss:Concept ;
261
+ rdfs:range skos:Concept ;
262
+ rdfs:label "has status"@en ;
263
+ rdfs:comment "Concept lifecycle status (draft, valid, superseded, etc.)."@en .
264
+
265
+ gloss:hasDomain a owl:ObjectProperty ;
266
+ rdfs:domain gloss:Concept ;
267
+ rdfs:range gloss:Reference ;
268
+ rdfs:label "has domain"@en ;
269
+ rdfs:comment "Links a concept to a domain (subject area) classification."@en .
270
+
271
+ gloss:tag a owl:DatatypeProperty ;
272
+ rdfs:domain gloss:Concept ;
273
+ rdfs:range xsd:string ;
274
+ rdfs:label "tag"@en ;
275
+ rdfs:comment "Organizational tag for grouping and filtering concepts (not rendered as a terminological domain)."@en .
276
+
277
+ gloss:hasRelatedConcept a owl:ObjectProperty ;
278
+ rdfs:domain [
279
+ a owl:Class ;
280
+ owl:unionOf ( gloss:Concept gloss:LocalizedConcept gloss:Designation )
281
+ ] ;
282
+ rdfs:range gloss:RelatedConcept ;
283
+ rdfs:label "has related concept"@en ;
284
+ rdfs:comment "DATA: Typed semantic relationship — applicable at concept, localization, and designation levels."@en .
285
+
286
+ gloss:hasDate a owl:ObjectProperty ;
287
+ rdfs:domain [
288
+ a owl:Class ;
289
+ owl:unionOf ( gloss:Concept gloss:LocalizedConcept )
290
+ ] ;
291
+ rdfs:range gloss:ConceptDate ;
292
+ rdfs:label "has date"@en ;
293
+ rdfs:comment "MANAGEMENT: Governance date/event — applicable at concept and localization levels."@en .
294
+
295
+ gloss:hasSource a owl:ObjectProperty ;
296
+ rdfs:domain [
297
+ a owl:Class ;
298
+ owl:unionOf (
299
+ gloss:Concept
300
+ gloss:LocalizedConcept
301
+ gloss:Designation
302
+ gloss:DetailedDefinition
303
+ gloss:NonVerbalRepresentation
304
+ )
305
+ ] ;
306
+ rdfs:range gloss:ConceptSource ;
307
+ rdfs:label "has source"@en ;
308
+ rdfs:comment "DATA: Bibliographic source — applicable at concept, localization, designation, definition, and non-verbal representation levels."@en .
309
+
310
+ gloss:identifier a owl:DatatypeProperty ;
311
+ rdfs:domain gloss:Concept ;
312
+ rdfs:range xsd:string ;
313
+ rdfs:label "identifier"@en ;
314
+ rdfs:comment "The management identifier for the concept."@en .
315
+
316
+ gloss:uri a owl:DatatypeProperty ;
317
+ rdfs:domain gloss:Concept ;
318
+ rdfs:range xsd:anyURI ;
319
+ rdfs:label "URI"@en ;
320
+ rdfs:comment "Optional URI for the managed concept."@en .
321
+
322
+ # ══════════════════════════════════════════════════════════════════════════
323
+ # OBJECT PROPERTIES — Localized concept
324
+ # ══════════════════════════════════════════════════════════════════════════
325
+
326
+ gloss:hasEntryStatus a owl:ObjectProperty ;
327
+ rdfs:domain gloss:LocalizedConcept ;
328
+ rdfs:range skos:Concept ;
329
+ rdfs:label "has entry status"@en ;
330
+ rdfs:comment "Localized entry lifecycle status (valid, not_valid, superseded, retired)."@en .
331
+
332
+ gloss:hasDesignation a owl:ObjectProperty ;
333
+ rdfs:domain gloss:LocalizedConcept ;
334
+ rdfs:range gloss:Designation ;
335
+ rdfs:label "has designation"@en ;
336
+ rdfs:comment "Links a localized concept to one of its designations (terms/symbols)."@en .
337
+
338
+ gloss:hasDefinition a owl:ObjectProperty ;
339
+ rdfs:domain gloss:LocalizedConcept ;
340
+ rdfs:range gloss:DetailedDefinition ;
341
+ rdfs:label "has definition"@en ;
342
+ rdfs:comment "Links a localized concept to a definition."@en .
343
+
344
+ gloss:hasNote a owl:ObjectProperty ;
345
+ rdfs:domain gloss:LocalizedConcept ;
346
+ rdfs:range gloss:DetailedDefinition ;
347
+ rdfs:label "has note"@en ;
348
+ rdfs:comment "Links a localized concept to a supplementary note."@en .
349
+
350
+ gloss:hasExample a owl:ObjectProperty ;
351
+ rdfs:domain gloss:LocalizedConcept ;
352
+ rdfs:range gloss:DetailedDefinition ;
353
+ rdfs:label "has example"@en ;
354
+ rdfs:comment "Links a localized concept to an illustrative example."@en .
355
+
356
+ gloss:hasNonVerbalRep a owl:ObjectProperty ;
357
+ rdfs:domain gloss:LocalizedConcept ;
358
+ rdfs:range gloss:NonVerbalRepresentation ;
359
+ rdfs:label "has non-verbal representation"@en ;
360
+ rdfs:comment "Links a localized concept to a non-verbal representation resource."@en .
361
+
362
+ gloss:domain a owl:DatatypeProperty ;
363
+ rdfs:domain gloss:LocalizedConcept ;
364
+ rdfs:range xsd:anyURI ;
365
+ rdfs:label "domain"@en ;
366
+ rdfs:comment "Per-language domain URI reference."@en .
367
+
368
+ gloss:classification a owl:DatatypeProperty ;
369
+ rdfs:domain gloss:LocalizedConcept ;
370
+ rdfs:range xsd:string ;
371
+ rdfs:label "classification"@en ;
372
+ rdfs:comment "DATA: Classification of the localized entry (admitted, preferred)."@en .
373
+
374
+ gloss:hasReference a owl:ObjectProperty ;
375
+ rdfs:domain gloss:LocalizedConcept ;
376
+ rdfs:range gloss:Reference ;
377
+ rdfs:label "has reference"@en ;
378
+ rdfs:comment "DATA: Typed concept reference at the localization level."@en .
379
+
380
+ gloss:language a owl:DatatypeProperty ;
381
+ rdfs:domain [
382
+ a owl:Class ;
383
+ owl:unionOf ( gloss:LocalizedConcept gloss:Designation gloss:Pronunciation )
384
+ ] ;
385
+ rdfs:range xsd:string ;
386
+ rdfs:label "language"@en ;
387
+ rdfs:comment "DATA: ISO 639 three-character language code. Cascades: L10n → Designation → Pronunciation."@en .
388
+
389
+ gloss:release a owl:DatatypeProperty ;
390
+ rdfs:domain gloss:LocalizedConcept ;
391
+ rdfs:range xsd:string ;
392
+ rdfs:label "release"@en ;
393
+ rdfs:comment "Release version of this localized concept."@en .
394
+
395
+ gloss:lineageSimilarity a owl:DatatypeProperty ;
396
+ rdfs:domain gloss:LocalizedConcept ;
397
+ rdfs:range xsd:integer ;
398
+ rdfs:label "lineage similarity"@en ;
399
+ rdfs:comment "Similarity percentage to the lineage source."@en .
400
+
401
+ gloss:reviewType a owl:DatatypeProperty ;
402
+ rdfs:domain gloss:LocalizedConcept ;
403
+ rdfs:range xsd:string ;
404
+ rdfs:label "review type"@en ;
405
+ rdfs:comment "Type of review for the localized entry (editorial or substantive)."@en .
406
+
407
+ # ══════════════════════════════════════════════════════════════════════════
408
+ # OBJECT PROPERTIES — Designation
409
+ # ══════════════════════════════════════════════════════════════════════════
410
+
411
+ gloss:normativeStatus a owl:ObjectProperty ;
412
+ rdfs:domain gloss:Designation ;
413
+ rdfs:range skos:Concept ;
414
+ rdfs:label "normative status"@en ;
415
+ rdfs:comment """
416
+ Normative status of a designation (preferred, admitted, deprecated, superseded).
417
+ Preferred designations SHOULD also be typed as iso-thes:PreferredTerm;
418
+ others as iso-thes:SimpleNonPreferredTerm.
419
+ """@en .
420
+
421
+ gloss:hasPronunciation a owl:ObjectProperty ;
422
+ rdfs:domain gloss:Designation ;
423
+ rdfs:range gloss:Pronunciation ;
424
+ rdfs:label "has pronunciation"@en .
425
+
426
+ gloss:hasTermType a owl:ObjectProperty ;
427
+ rdfs:domain gloss:Designation ;
428
+ rdfs:range skos:Concept ;
429
+ rdfs:label "has term type"@en ;
430
+ rdfs:comment "ISO 12620 term type classification."@en .
431
+
432
+
433
+ gloss:hasGrammarInfo a owl:ObjectProperty ;
434
+ rdfs:domain gloss:Expression ;
435
+ rdfs:range gloss:GrammarInfo ;
436
+ rdfs:label "has grammar info"@en .
437
+
438
+ gloss:geographicalArea a owl:DatatypeProperty ;
439
+ rdfs:domain gloss:Designation ;
440
+ rdfs:range xsd:string ;
441
+ rdfs:label "geographical area"@en ;
442
+ rdfs:comment "ISO 3166-1 alpha-2 country code."@en .
443
+
444
+ gloss:isInternational a owl:DatatypeProperty ;
445
+ rdfs:domain gloss:Designation ;
446
+ rdfs:range xsd:boolean ;
447
+ rdfs:label "is international"@en ;
448
+ rdfs:comment "Whether the designation is valid across all languages/regions."@en .
449
+
450
+ gloss:isAbsent a owl:DatatypeProperty ;
451
+ rdfs:domain gloss:Designation ;
452
+ rdfs:range xsd:boolean ;
453
+ rdfs:label "is absent"@en ;
454
+ rdfs:comment "The designation is explicitly absent for this concept in this language."@en .
455
+
456
+ gloss:register a owl:DatatypeProperty ;
457
+ rdfs:domain gloss:Designation ;
458
+ rdfs:range xsd:string ;
459
+ rdfs:label "register"@en ;
460
+ rdfs:comment "Register or usage level of the designation (ISO 12620 / TBX-Linguist: colloquial_register, neutral_register, technical_register, in_house_register, bench_level_register, slang_register, vulgar_register)."@en .
461
+
462
+ # ── Expression-specific ──────────────────────────────────────────────────
463
+
464
+ gloss:prefix a owl:DatatypeProperty ;
465
+ rdfs:domain gloss:Expression ;
466
+ rdfs:range xsd:string ;
467
+ rdfs:label "prefix"@en .
468
+
469
+ gloss:usageInfo a owl:DatatypeProperty ;
470
+ rdfs:domain gloss:Expression ;
471
+ rdfs:range xsd:string ;
472
+ rdfs:label "usage info"@en ;
473
+ rdfs:comment "Disambiguation context for homonymous designations."@en .
474
+
475
+ gloss:fieldOfApplication a owl:DatatypeProperty ;
476
+ rdfs:domain gloss:Expression ;
477
+ rdfs:range xsd:string ;
478
+ rdfs:label "field of application"@en ;
479
+ rdfs:comment "Subject field in which the designation is used."@en .
480
+
481
+ # ── Abbreviation-specific ────────────────────────────────────────────────
482
+
483
+ gloss:isAcronym a owl:DatatypeProperty ;
484
+ rdfs:domain gloss:Abbreviation ;
485
+ rdfs:range xsd:boolean ;
486
+ rdfs:label "is acronym"@en .
487
+
488
+ gloss:isInitialism a owl:DatatypeProperty ;
489
+ rdfs:domain gloss:Abbreviation ;
490
+ rdfs:range xsd:boolean ;
491
+ rdfs:label "is initialism"@en .
492
+
493
+ gloss:isTruncation a owl:DatatypeProperty ;
494
+ rdfs:domain gloss:Abbreviation ;
495
+ rdfs:range xsd:boolean ;
496
+ rdfs:label "is truncation"@en .
497
+
498
+ # ── Symbol-specific ──────────────────────────────────────────────────────
499
+
500
+ gloss:text a owl:DatatypeProperty ;
501
+ rdfs:domain [ a owl:Class ; owl:unionOf ( gloss:LetterSymbol gloss:GraphicalSymbol ) ] ;
502
+ rdfs:range xsd:string ;
503
+ rdfs:label "text"@en ;
504
+ rdfs:comment "Textual representation of a letter or graphical symbol."@en .
505
+
506
+ gloss:image a owl:DatatypeProperty ;
507
+ rdfs:domain gloss:GraphicalSymbol ;
508
+ rdfs:range xsd:anyURI ;
509
+ rdfs:label "image"@en ;
510
+ rdfs:comment "URI to the graphical symbol image."@en .
511
+
512
+ # ══════════════════════════════════════════════════════════════════════════
513
+ # OBJECT PROPERTIES — Pronunciation
514
+ # ══════════════════════════════════════════════════════════════════════════
515
+
516
+ gloss:pronunciationContent a owl:DatatypeProperty ;
517
+ rdfs:domain gloss:Pronunciation ;
518
+ rdfs:range xsd:string ;
519
+ rdfs:label "pronunciation content"@en ;
520
+ rdfs:comment "Phonetic or transcribed text."@en .
521
+
522
+ gloss:pronunciationLanguage a owl:DatatypeProperty ;
523
+ rdfs:domain gloss:Pronunciation ;
524
+ rdfs:range xsd:string ;
525
+ rdfs:label "pronunciation language"@en ;
526
+ rdfs:comment "ISO 639 three-character language code."@en .
527
+
528
+ gloss:pronunciationScript a owl:DatatypeProperty ;
529
+ rdfs:domain gloss:Pronunciation ;
530
+ rdfs:range xsd:string ;
531
+ rdfs:label "pronunciation script"@en ;
532
+ rdfs:comment "ISO 15924 four-letter script code."@en .
533
+
534
+ gloss:pronunciationCountry a owl:DatatypeProperty ;
535
+ rdfs:domain gloss:Pronunciation ;
536
+ rdfs:range xsd:string ;
537
+ rdfs:label "pronunciation country"@en ;
538
+ rdfs:comment "ISO 3166-1 alpha-2 country code."@en .
539
+
540
+ gloss:pronunciationSystem a owl:DatatypeProperty ;
541
+ rdfs:domain gloss:Pronunciation ;
542
+ rdfs:range xsd:string ;
543
+ rdfs:label "pronunciation system"@en ;
544
+ rdfs:comment "ISO 24229 conversion system code or simple identifier (e.g. IPA)."@en .
545
+
546
+ # ══════════════════════════════════════════════════════════════════════════
547
+ # OBJECT PROPERTIES — Relationship / Reference (unified)
548
+ # ══════════════════════════════════════════════════════════════════════════
549
+
550
+ gloss:relationshipType a owl:ObjectProperty ;
551
+ rdfs:domain gloss:RelatedConcept ;
552
+ rdfs:range skos:Concept ;
553
+ rdfs:label "relationship type"@en ;
554
+ rdfs:comment "The type of relationship between concepts."@en .
555
+
556
+ gloss:relationshipContent a owl:DatatypeProperty ;
557
+ rdfs:domain gloss:RelatedConcept ;
558
+ rdfs:range xsd:string ;
559
+ rdfs:label "relationship content"@en ;
560
+ rdfs:comment "Free-text description of the relationship."@en .
561
+
562
+ gloss:relationshipRef a owl:ObjectProperty ;
563
+ rdfs:domain gloss:RelatedConcept ;
564
+ rdfs:range gloss:ConceptRef ;
565
+ rdfs:label "relationship reference"@en ;
566
+ rdfs:comment "Reference for the related concept (source + id)."@en .
567
+
568
+ # ── Reference (typed classification — domains, typed references) ────────
569
+
570
+ gloss:source a owl:DatatypeProperty ;
571
+ rdfs:domain gloss:Reference ;
572
+ rdfs:range xsd:string ;
573
+ rdfs:label "source"@en ;
574
+ rdfs:comment "Collection identifier (document series, termbase, vocabulary)."@en .
575
+
576
+ gloss:refId a owl:DatatypeProperty ;
577
+ rdfs:domain gloss:Reference ;
578
+ rdfs:range xsd:string ;
579
+ rdfs:label "reference identifier"@en ;
580
+ rdfs:comment "Item identifier within the collection (document ID, concept ID)."@en .
581
+
582
+ gloss:refVersion a owl:DatatypeProperty ;
583
+ rdfs:domain gloss:Reference ;
584
+ rdfs:range xsd:string ;
585
+ rdfs:label "reference version"@en ;
586
+ rdfs:comment "Version of the item or collection."@en .
587
+
588
+ gloss:refLink a owl:DatatypeProperty ;
589
+ rdfs:domain gloss:Reference ;
590
+ rdfs:range xsd:anyURI ;
591
+ rdfs:label "reference link"@en ;
592
+ rdfs:comment "URL link to the source document or concept."@en .
593
+
594
+ gloss:refType a owl:DatatypeProperty ;
595
+ rdfs:domain gloss:Reference ;
596
+ rdfs:range xsd:string ;
597
+ rdfs:label "reference type"@en ;
598
+ rdfs:comment "Type qualifier: local, designation, urn, domain."@en .
599
+
600
+ gloss:urn a owl:DatatypeProperty ;
601
+ rdfs:domain gloss:Reference ;
602
+ rdfs:range xsd:anyURI ;
603
+ rdfs:label "URN"@en ;
604
+ rdfs:comment "Direct URN reference to the target concept."@en .
605
+
606
+ gloss:term a owl:DatatypeProperty ;
607
+ rdfs:domain gloss:Reference ;
608
+ rdfs:range xsd:string ;
609
+ rdfs:label "term"@en ;
610
+ rdfs:comment "Term text when referencing a concept."@en .
611
+
612
+ # ══════════════════════════════════════════════════════════════════════════
613
+ # OBJECT PROPERTIES — Source
614
+ # ══════════════════════════════════════════════════════════════════════════
615
+
616
+ gloss:sourceType a owl:ObjectProperty ;
617
+ rdfs:domain gloss:ConceptSource ;
618
+ rdfs:range skos:Concept ;
619
+ rdfs:label "source type"@en ;
620
+ rdfs:comment "Type of source: authoritative or lineage."@en .
621
+
622
+ gloss:sourceStatus a owl:ObjectProperty ;
623
+ rdfs:domain gloss:ConceptSource ;
624
+ rdfs:range skos:Concept ;
625
+ rdfs:label "source status"@en ;
626
+ rdfs:comment "Status relative to source: identical, modified, etc."@en .
627
+
628
+ gloss:sourceOrigin a owl:ObjectProperty ;
629
+ rdfs:domain gloss:ConceptSource ;
630
+ rdfs:range gloss:Citation ;
631
+ rdfs:label "source origin"@en ;
632
+ rdfs:comment "The bibliographic citation from which this concept was sourced."@en .
633
+
634
+ gloss:modification a owl:DatatypeProperty ;
635
+ rdfs:domain gloss:ConceptSource ;
636
+ rdfs:range xsd:string ;
637
+ rdfs:label "modification"@en ;
638
+ rdfs:comment "How the concept was modified from the source."@en .
639
+
640
+ # ── Citation properties ────────────────────────────────────────────────────
641
+
642
+ gloss:hasCitationRef a owl:ObjectProperty ;
643
+ rdfs:domain gloss:Citation ;
644
+ rdfs:range gloss:CitationRef ;
645
+ rdfs:label "has citation ref"@en ;
646
+ rdfs:comment "Structured inner reference (source + id + optional version)."@en .
647
+
648
+ gloss:hasCitationLocality a owl:ObjectProperty ;
649
+ rdfs:domain gloss:Citation ;
650
+ rdfs:range gloss:Locality ;
651
+ rdfs:label "has citation locality"@en ;
652
+ rdfs:comment "Locality within the cited document."@en .
653
+
654
+ gloss:citationOriginal a owl:DatatypeProperty ;
655
+ rdfs:domain gloss:Citation ;
656
+ rdfs:range xsd:string ;
657
+ rdfs:label "citation original"@en ;
658
+ rdfs:comment "Pre-parsed original citation text."@en .
659
+
660
+ gloss:hasCustomLocality a owl:ObjectProperty ;
661
+ rdfs:domain gloss:Citation ;
662
+ rdfs:range gloss:CustomLocality ;
663
+ rdfs:label "has custom locality"@en ;
664
+ rdfs:comment "Custom name-value locality pairs."@en .
665
+
666
+ # ── CitationRef properties ────────────────────────────────────────────────
667
+
668
+ gloss:citationRefSource a owl:DatatypeProperty ;
669
+ rdfs:domain gloss:CitationRef ;
670
+ rdfs:range xsd:string ;
671
+ rdfs:label "citation ref source"@en ;
672
+ rdfs:comment "Document series or termbase (e.g. ISO, IEC)."@en .
673
+
674
+ gloss:citationRefId a owl:DatatypeProperty ;
675
+ rdfs:domain gloss:CitationRef ;
676
+ rdfs:range xsd:string ;
677
+ rdfs:label "citation ref identifier"@en ;
678
+ rdfs:comment "Document identifier within the series."@en .
679
+
680
+ gloss:citationRefVersion a owl:DatatypeProperty ;
681
+ rdfs:domain gloss:CitationRef ;
682
+ rdfs:range xsd:string ;
683
+ rdfs:label "citation ref version"@en ;
684
+ rdfs:comment "Version of the document."@en .
685
+
686
+ # ── ConceptRef properties ────────────────────────────────────────────────
687
+
688
+ gloss:conceptRefSource a owl:DatatypeProperty ;
689
+ rdfs:domain gloss:ConceptRef ;
690
+ rdfs:range xsd:string ;
691
+ rdfs:label "concept ref source"@en ;
692
+ rdfs:comment "Registry or vocabulary identifier (e.g. IEC, ISO)."@en .
693
+
694
+ gloss:conceptRefId a owl:DatatypeProperty ;
695
+ rdfs:domain gloss:ConceptRef ;
696
+ rdfs:range xsd:string ;
697
+ rdfs:label "concept ref identifier"@en ;
698
+ rdfs:comment "Concept identifier within the registry."@en .
699
+
700
+ # ── CustomLocality ─────────────────────────────────────────────────────────
701
+
702
+ gloss:CustomLocality a owl:Class ;
703
+ rdfs:label "Custom Locality"@en ;
704
+ rdfs:comment "A custom name-value locality pair within a citation."@en .
705
+
706
+ gloss:customLocalityName a owl:DatatypeProperty ;
707
+ rdfs:domain gloss:CustomLocality ;
708
+ rdfs:range xsd:string ;
709
+ rdfs:label "custom locality name"@en .
710
+
711
+ gloss:customLocalityValue a owl:DatatypeProperty ;
712
+ rdfs:domain gloss:CustomLocality ;
713
+ rdfs:range xsd:string ;
714
+ rdfs:label "custom locality value"@en .
715
+
716
+ gloss:citationLink a owl:DatatypeProperty ;
717
+ rdfs:domain gloss:Citation ;
718
+ rdfs:range xsd:anyURI ;
719
+ rdfs:label "citation link"@en ;
720
+ rdfs:comment "URL link to the source document."@en .
721
+
722
+ gloss:hasLocality a owl:ObjectProperty ;
723
+ rdfs:domain gloss:Reference ;
724
+ rdfs:range gloss:Locality ;
725
+ rdfs:label "has locality"@en .
726
+
727
+ # ══════════════════════════════════════════════════════════════════════════
728
+ # OBJECT PROPERTIES — Date
729
+ # ══════════════════════════════════════════════════════════════════════════
730
+
731
+ gloss:dateValue a owl:DatatypeProperty ;
732
+ rdfs:domain gloss:ConceptDate ;
733
+ rdfs:range xsd:dateTime ;
734
+ rdfs:label "date value"@en .
735
+
736
+ gloss:dateType a owl:ObjectProperty ;
737
+ rdfs:domain gloss:ConceptDate ;
738
+ rdfs:range skos:Concept ;
739
+ rdfs:label "date type"@en ;
740
+ rdfs:comment "MANAGEMENT: Kind of governance event: accepted, amended, retired, review, review_decision."@en .
741
+
742
+ gloss:eventDescription a owl:DatatypeProperty ;
743
+ rdfs:domain gloss:ConceptDate ;
744
+ rdfs:range xsd:string ;
745
+ rdfs:label "event description"@en ;
746
+ rdfs:comment "MANAGEMENT: Free-text description of the governance event (e.g., review decision narrative)."@en .
747
+
748
+ # ══════════════════════════════════════════════════════════════════════════
749
+ # OBJECT PROPERTIES — Non-verbal representation
750
+ # ══════════════════════════════════════════════════════════════════════════
751
+
752
+ gloss:representationType a owl:DatatypeProperty ;
753
+ rdfs:domain gloss:NonVerbalRepresentation ;
754
+ rdfs:range xsd:string ;
755
+ rdfs:label "representation type"@en ;
756
+ rdfs:comment "Type of representation: image, table, or formula."@en .
757
+
758
+ gloss:representationRef a owl:DatatypeProperty ;
759
+ rdfs:domain gloss:NonVerbalRepresentation ;
760
+ rdfs:range xsd:anyURI ;
761
+ rdfs:label "representation reference"@en ;
762
+ rdfs:comment "URI to the external resource."@en .
763
+
764
+ gloss:representationText a owl:DatatypeProperty ;
765
+ rdfs:domain gloss:NonVerbalRepresentation ;
766
+ rdfs:range xsd:string ;
767
+ rdfs:label "representation text"@en ;
768
+ rdfs:comment "Alt text or description of the representation."@en .
769
+
770
+
771
+ # ══════════════════════════════════════════════════════════════════════════
772
+ # OBJECT PROPERTIES — Locality
773
+ # ══════════════════════════════════════════════════════════════════════════
774
+
775
+ gloss:localityType a owl:DatatypeProperty ;
776
+ rdfs:domain gloss:Locality ;
777
+ rdfs:range xsd:string ;
778
+ rdfs:label "locality type"@en ;
779
+ rdfs:comment "Type of locality: section, clause, page, etc."@en .
780
+
781
+ gloss:referenceFrom a owl:DatatypeProperty ;
782
+ rdfs:domain gloss:Locality ;
783
+ rdfs:range xsd:string ;
784
+ rdfs:label "reference from"@en ;
785
+ rdfs:comment "Starting point of the locality reference."@en .
786
+
787
+ gloss:referenceTo a owl:DatatypeProperty ;
788
+ rdfs:domain gloss:Locality ;
789
+ rdfs:range xsd:string ;
790
+ rdfs:label "reference to"@en ;
791
+ rdfs:comment "Ending point of the locality reference (for ranges)."@en .
792
+
793
+ # ══════════════════════════════════════════════════════════════════════════
794
+ # OBJECT PROPERTIES — Grammar
795
+ # ══════════════════════════════════════════════════════════════════════════
796
+
797
+ gloss:gender a owl:ObjectProperty ;
798
+ rdfs:domain gloss:GrammarInfo ;
799
+ rdfs:range skos:Concept ;
800
+ rdfs:label "gender"@en ;
801
+ rdfs:comment "Grammatical gender (m, f, n, c)."@en .
802
+
803
+ gloss:number a owl:ObjectProperty ;
804
+ rdfs:domain gloss:GrammarInfo ;
805
+ rdfs:range skos:Concept ;
806
+ rdfs:label "number"@en ;
807
+ rdfs:comment "Grammatical number (singular, dual, plural)."@en .
808
+
809
+ gloss:isNoun a owl:DatatypeProperty ;
810
+ rdfs:domain gloss:GrammarInfo ;
811
+ rdfs:range xsd:boolean ;
812
+ rdfs:label "is noun"@en .
813
+
814
+ gloss:isVerb a owl:DatatypeProperty ;
815
+ rdfs:domain gloss:GrammarInfo ;
816
+ rdfs:range xsd:boolean ;
817
+ rdfs:label "is verb"@en .
818
+
819
+ gloss:isAdjective a owl:DatatypeProperty ;
820
+ rdfs:domain gloss:GrammarInfo ;
821
+ rdfs:range xsd:boolean ;
822
+ rdfs:label "is adjective"@en .
823
+
824
+ gloss:isAdverb a owl:DatatypeProperty ;
825
+ rdfs:domain gloss:GrammarInfo ;
826
+ rdfs:range xsd:boolean ;
827
+ rdfs:label "is adverb"@en .
828
+
829
+ gloss:isPreposition a owl:DatatypeProperty ;
830
+ rdfs:domain gloss:GrammarInfo ;
831
+ rdfs:range xsd:boolean ;
832
+ rdfs:label "is preposition"@en .
833
+
834
+ gloss:isParticiple a owl:DatatypeProperty ;
835
+ rdfs:domain gloss:GrammarInfo ;
836
+ rdfs:range xsd:boolean ;
837
+ rdfs:label "is participle"@en .
838
+
839
+ gloss:partOfSpeech a owl:DatatypeProperty ;
840
+ rdfs:domain gloss:GrammarInfo ;
841
+ rdfs:range xsd:string ;
842
+ rdfs:label "part of speech"@en ;
843
+ rdfs:comment "Part of speech classification (ISO 12620 / TBX: noun, verb, adj, adverb, preposition, participle)."@en .
844
+
845
+ # ══════════════════════════════════════════════════════════════════════════
846
+ # OBJECT PROPERTIES — Language / Script / System
847
+ # ══════════════════════════════════════════════════════════════════════════
848
+
849
+ gloss:script a owl:DatatypeProperty ;
850
+ rdfs:domain [ a owl:Class ; owl:unionOf ( gloss:LocalizedConcept gloss:Designation gloss:Pronunciation ) ] ;
851
+ rdfs:range xsd:string ;
852
+ rdfs:label "script"@en ;
853
+ rdfs:comment "ISO 15924 four-letter script code."@en .
854
+
855
+ gloss:conversionSystem a owl:DatatypeProperty ;
856
+ rdfs:domain [ a owl:Class ; owl:unionOf ( gloss:LocalizedConcept gloss:Designation gloss:Pronunciation ) ] ;
857
+ rdfs:range xsd:string ;
858
+ rdfs:label "conversion system"@en ;
859
+ rdfs:comment "ISO 24229 conversion system code."@en .
860
+
861
+ # ══════════════════════════════════════════════════════════════════════════
862
+ # OBJECT PROPERTIES — Glossarist-specific relationships
863
+ # (no standard SKOS / iso-thes equivalent)
864
+ # ══════════════════════════════════════════════════════════════════════════
865
+
866
+ gloss:deprecates a owl:ObjectProperty ;
867
+ owl:inverseOf gloss:deprecatedBy ;
868
+ rdfs:domain skos:Concept ;
869
+ rdfs:range skos:Concept ;
870
+ rdfs:label "deprecates"@en ;
871
+ rdfs:comment "Lifecycle: this concept deprecates another."@en .
872
+
873
+ gloss:deprecatedBy a owl:ObjectProperty ;
874
+ owl:inverseOf gloss:deprecates ;
875
+ rdfs:domain skos:Concept ;
876
+ rdfs:range skos:Concept ;
877
+ rdfs:label "deprecated by"@en .
878
+
879
+ gloss:supersedes a owl:ObjectProperty ;
880
+ owl:inverseOf gloss:supersededBy ;
881
+ rdfs:domain skos:Concept ;
882
+ rdfs:range skos:Concept ;
883
+ rdfs:label "supersedes"@en ;
884
+ rdfs:comment "Lifecycle: this concept supersedes another."@en .
885
+
886
+ gloss:supersededBy a owl:ObjectProperty ;
887
+ owl:inverseOf gloss:supersedes ;
888
+ rdfs:domain skos:Concept ;
889
+ rdfs:range skos:Concept ;
890
+ rdfs:label "superseded by"@en .
891
+
892
+ gloss:compares a owl:ObjectProperty ;
893
+ rdfs:domain skos:Concept ;
894
+ rdfs:range skos:Concept ;
895
+ rdfs:label "compares"@en ;
896
+ rdfs:comment "Comparative: this concept is compared to another."@en .
897
+
898
+ gloss:contrasts a owl:ObjectProperty ;
899
+ rdfs:domain skos:Concept ;
900
+ rdfs:range skos:Concept ;
901
+ rdfs:label "contrasts"@en ;
902
+ rdfs:comment "Comparative: this concept contrasts with another."@en .
903
+
904
+ gloss:sequentiallyRelated a owl:ObjectProperty ;
905
+ rdfs:domain skos:Concept ;
906
+ rdfs:range skos:Concept ;
907
+ rdfs:label "sequentially related"@en ;
908
+ rdfs:comment "Associative spatiotemporal: sequential relationship."@en .
909
+
910
+ gloss:spatiallyRelated a owl:ObjectProperty ;
911
+ rdfs:domain skos:Concept ;
912
+ rdfs:range skos:Concept ;
913
+ rdfs:label "spatially related"@en ;
914
+ rdfs:comment "Associative spatiotemporal: spatial relationship."@en .
915
+
916
+ gloss:temporallyRelated a owl:ObjectProperty ;
917
+ rdfs:domain skos:Concept ;
918
+ rdfs:range skos:Concept ;
919
+ rdfs:label "temporally related"@en ;
920
+ rdfs:comment "Associative spatiotemporal: temporal relationship."@en .
921
+
922
+ gloss:hasHomograph a owl:ObjectProperty ;
923
+ rdfs:domain skos:Concept ;
924
+ rdfs:range skos:Concept ;
925
+ rdfs:label "has homograph"@en ;
926
+ rdfs:comment "Lexical: this concept has a homograph in another entry."@en .
927
+
928
+ gloss:hasFalseFriend a owl:ObjectProperty ;
929
+ rdfs:domain skos:Concept ;
930
+ rdfs:range skos:Concept ;
931
+ rdfs:label "has false friend"@en ;
932
+ rdfs:comment "Lexical: this concept has a false friend in another language."@en .
933
+
934
+ gloss:relatedConceptBroader a owl:ObjectProperty ;
935
+ rdfs:domain skos:Concept ;
936
+ rdfs:range skos:Concept ;
937
+ rdfs:label "related concept (broader)"@en ;
938
+ rdfs:comment "Associative: related concept with broader scope."@en .
939
+
940
+ gloss:relatedConceptNarrower a owl:ObjectProperty ;
941
+ rdfs:domain skos:Concept ;
942
+ rdfs:range skos:Concept ;
943
+ rdfs:label "related concept (narrower)"@en ;
944
+ rdfs:comment "Associative: related concept with narrower scope."@en .
945
+
946
+ # ── Designation-level relationship properties ────────────────────────────
947
+
948
+ gloss:abbreviatedFormFor a owl:ObjectProperty ;
949
+ owl:inverseOf gloss:shortFormFor ;
950
+ rdfs:domain gloss:Designation ;
951
+ rdfs:range gloss:Designation ;
952
+ rdfs:label "abbreviated form for"@en ;
953
+ rdfs:comment "This designation is an abbreviated form of the target designation."@en .
954
+
955
+ gloss:shortFormFor a owl:ObjectProperty ;
956
+ owl:inverseOf gloss:abbreviatedFormFor ;
957
+ rdfs:domain gloss:Designation ;
958
+ rdfs:range gloss:Designation ;
959
+ rdfs:label "short form for"@en ;
960
+ rdfs:comment "This designation is a short form of the target designation."@en .