glossarist 0.4.50 → 0.4.51

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 (700) hide show
  1. package/dist/compiled-format.d.ts +43 -0
  2. package/dist/compiled-format.d.ts.map +1 -0
  3. package/{src/compiled-format.ts → dist/compiled-format.js} +28 -46
  4. package/dist/compiled-format.js.map +1 -0
  5. package/dist/concept-collection.d.ts +39 -0
  6. package/dist/concept-collection.d.ts.map +1 -0
  7. package/dist/concept-collection.js +127 -0
  8. package/dist/concept-collection.js.map +1 -0
  9. package/dist/concept-diff.d.ts +14 -0
  10. package/dist/concept-diff.d.ts.map +1 -0
  11. package/{src/concept-diff.ts → dist/concept-diff.js} +2 -20
  12. package/dist/concept-diff.js.map +1 -0
  13. package/dist/concept-parser.d.ts +11 -0
  14. package/dist/concept-parser.d.ts.map +1 -0
  15. package/dist/concept-parser.js +209 -0
  16. package/dist/concept-parser.js.map +1 -0
  17. package/dist/concept-reader.d.ts +55 -0
  18. package/dist/concept-reader.d.ts.map +1 -0
  19. package/{src/concept-reader.ts → dist/concept-reader.js} +70 -76
  20. package/dist/concept-reader.js.map +1 -0
  21. package/dist/concept-serializer.d.ts +9 -0
  22. package/dist/concept-serializer.d.ts.map +1 -0
  23. package/dist/concept-serializer.js +87 -0
  24. package/dist/concept-serializer.js.map +1 -0
  25. package/dist/concept-writer.d.ts +10 -0
  26. package/dist/concept-writer.d.ts.map +1 -0
  27. package/dist/concept-writer.js +28 -0
  28. package/dist/concept-writer.js.map +1 -0
  29. package/dist/dataset-asset.d.ts +49 -0
  30. package/dist/dataset-asset.d.ts.map +1 -0
  31. package/{src/dataset-asset.ts → dist/dataset-asset.js} +16 -33
  32. package/dist/dataset-asset.js.map +1 -0
  33. package/dist/diff/canonical-json.d.ts +7 -0
  34. package/dist/diff/canonical-json.d.ts.map +1 -0
  35. package/dist/diff/canonical-json.js +28 -0
  36. package/dist/diff/canonical-json.js.map +1 -0
  37. package/dist/diff/change.d.ts +67 -0
  38. package/dist/diff/change.d.ts.map +1 -0
  39. package/dist/diff/change.js +131 -0
  40. package/dist/diff/change.js.map +1 -0
  41. package/dist/diff/collection-diff.d.ts +50 -0
  42. package/dist/diff/collection-diff.d.ts.map +1 -0
  43. package/dist/diff/collection-diff.js +182 -0
  44. package/dist/diff/collection-diff.js.map +1 -0
  45. package/dist/diff/concept-diff.d.ts +188 -0
  46. package/dist/diff/concept-diff.d.ts.map +1 -0
  47. package/dist/diff/concept-diff.js +624 -0
  48. package/dist/diff/concept-diff.js.map +1 -0
  49. package/dist/diff/diff-patch.d.ts +7 -0
  50. package/dist/diff/diff-patch.d.ts.map +1 -0
  51. package/dist/diff/diff-patch.js +225 -0
  52. package/dist/diff/diff-patch.js.map +1 -0
  53. package/dist/diff/diff-renderer.d.ts +44 -0
  54. package/dist/diff/diff-renderer.d.ts.map +1 -0
  55. package/dist/diff/diff-renderer.js +263 -0
  56. package/dist/diff/diff-renderer.js.map +1 -0
  57. package/dist/diff/identity.d.ts +2 -0
  58. package/dist/diff/identity.d.ts.map +1 -0
  59. package/dist/diff/identity.js +29 -0
  60. package/dist/diff/identity.js.map +1 -0
  61. package/dist/diff/index.d.ts +8 -0
  62. package/dist/diff/index.d.ts.map +1 -0
  63. package/dist/diff/index.js +8 -0
  64. package/dist/diff/index.js.map +1 -0
  65. package/dist/diff/list-diff.d.ts +36 -0
  66. package/dist/diff/list-diff.d.ts.map +1 -0
  67. package/dist/diff/list-diff.js +185 -0
  68. package/dist/diff/list-diff.js.map +1 -0
  69. package/dist/diff/similarity.d.ts +4 -0
  70. package/dist/diff/similarity.d.ts.map +1 -0
  71. package/dist/diff/similarity.js +20 -0
  72. package/dist/diff/similarity.js.map +1 -0
  73. package/dist/diff/text-diff.d.ts +42 -0
  74. package/dist/diff/text-diff.d.ts.map +1 -0
  75. package/dist/diff/text-diff.js +134 -0
  76. package/dist/diff/text-diff.js.map +1 -0
  77. package/dist/entity-directory.d.ts +13 -0
  78. package/dist/entity-directory.d.ts.map +1 -0
  79. package/dist/entity-directory.js +35 -0
  80. package/dist/entity-directory.js.map +1 -0
  81. package/dist/errors.d.ts +15 -0
  82. package/dist/errors.d.ts.map +1 -0
  83. package/dist/errors.js +23 -0
  84. package/dist/errors.js.map +1 -0
  85. package/dist/gcr-reader.d.ts +57 -0
  86. package/dist/gcr-reader.d.ts.map +1 -0
  87. package/dist/gcr-reader.js +264 -0
  88. package/dist/gcr-reader.js.map +1 -0
  89. package/dist/gcr-writer.d.ts +23 -0
  90. package/dist/gcr-writer.d.ts.map +1 -0
  91. package/dist/gcr-writer.js +84 -0
  92. package/dist/gcr-writer.js.map +1 -0
  93. package/dist/index.d.ts +21 -0
  94. package/dist/index.d.ts.map +1 -0
  95. package/{src/index.ts → dist/index.js} +6 -66
  96. package/dist/index.js.map +1 -0
  97. package/dist/managed-concept-collection.d.ts +31 -0
  98. package/dist/managed-concept-collection.d.ts.map +1 -0
  99. package/dist/managed-concept-collection.js +87 -0
  100. package/dist/managed-concept-collection.js.map +1 -0
  101. package/dist/migration/hyperedge-migrator.d.ts +33 -0
  102. package/dist/migration/hyperedge-migrator.d.ts.map +1 -0
  103. package/dist/migration/hyperedge-migrator.js +70 -0
  104. package/dist/migration/hyperedge-migrator.js.map +1 -0
  105. package/dist/models/abstract-hyperedge.d.ts +35 -0
  106. package/dist/models/abstract-hyperedge.d.ts.map +1 -0
  107. package/dist/models/abstract-hyperedge.js +112 -0
  108. package/dist/models/abstract-hyperedge.js.map +1 -0
  109. package/dist/models/base.d.ts +58 -0
  110. package/dist/models/base.d.ts.map +1 -0
  111. package/dist/models/base.js +77 -0
  112. package/dist/models/base.js.map +1 -0
  113. package/dist/models/bibliography-data.d.ts +20 -0
  114. package/dist/models/bibliography-data.d.ts.map +1 -0
  115. package/dist/models/bibliography-data.js +43 -0
  116. package/dist/models/bibliography-data.js.map +1 -0
  117. package/dist/models/bibliography-entry.d.ts +19 -0
  118. package/dist/models/bibliography-entry.d.ts.map +1 -0
  119. package/dist/models/bibliography-entry.js +34 -0
  120. package/dist/models/bibliography-entry.js.map +1 -0
  121. package/dist/models/citation.d.ts +40 -0
  122. package/dist/models/citation.d.ts.map +1 -0
  123. package/dist/models/citation.js +82 -0
  124. package/dist/models/citation.js.map +1 -0
  125. package/dist/models/completeness.d.ts +9 -0
  126. package/dist/models/completeness.d.ts.map +1 -0
  127. package/{src/models/completeness.ts → dist/models/completeness.js} +4 -9
  128. package/dist/models/completeness.js.map +1 -0
  129. package/dist/models/concept-date.d.ts +20 -0
  130. package/dist/models/concept-date.d.ts.map +1 -0
  131. package/dist/models/concept-date.js +36 -0
  132. package/dist/models/concept-date.js.map +1 -0
  133. package/dist/models/concept-ref.d.ts +32 -0
  134. package/dist/models/concept-ref.d.ts.map +1 -0
  135. package/dist/models/concept-ref.js +53 -0
  136. package/dist/models/concept-ref.js.map +1 -0
  137. package/dist/models/concept-reference.d.ts +22 -0
  138. package/dist/models/concept-reference.d.ts.map +1 -0
  139. package/dist/models/concept-reference.js +39 -0
  140. package/dist/models/concept-reference.js.map +1 -0
  141. package/dist/models/concept-source.d.ts +53 -0
  142. package/dist/models/concept-source.d.ts.map +1 -0
  143. package/dist/models/concept-source.js +66 -0
  144. package/dist/models/concept-source.js.map +1 -0
  145. package/dist/models/concept-system-type.d.ts +6 -0
  146. package/dist/models/concept-system-type.d.ts.map +1 -0
  147. package/dist/models/concept-system-type.js +22 -0
  148. package/dist/models/concept-system-type.js.map +1 -0
  149. package/dist/models/concept-system.d.ts +44 -0
  150. package/dist/models/concept-system.d.ts.map +1 -0
  151. package/dist/models/concept-system.js +115 -0
  152. package/dist/models/concept-system.js.map +1 -0
  153. package/dist/models/concept-type.d.ts +7 -0
  154. package/dist/models/concept-type.d.ts.map +1 -0
  155. package/{src/models/concept-type.ts → dist/models/concept-type.js} +8 -19
  156. package/dist/models/concept-type.js.map +1 -0
  157. package/dist/models/concept.d.ts +94 -0
  158. package/dist/models/concept.d.ts.map +1 -0
  159. package/dist/models/concept.js +368 -0
  160. package/dist/models/concept.js.map +1 -0
  161. package/dist/models/dataset-color.d.ts +28 -0
  162. package/dist/models/dataset-color.d.ts.map +1 -0
  163. package/dist/models/dataset-color.js +74 -0
  164. package/dist/models/dataset-color.js.map +1 -0
  165. package/dist/models/definition-type.d.ts +9 -0
  166. package/dist/models/definition-type.d.ts.map +1 -0
  167. package/{src/models/definition-type.ts → dist/models/definition-type.js} +6 -15
  168. package/dist/models/definition-type.js.map +1 -0
  169. package/dist/models/designation-relationship.d.ts +17 -0
  170. package/dist/models/designation-relationship.d.ts.map +1 -0
  171. package/dist/models/designation-relationship.js +30 -0
  172. package/dist/models/designation-relationship.js.map +1 -0
  173. package/dist/models/designation.d.ts +110 -0
  174. package/dist/models/designation.d.ts.map +1 -0
  175. package/dist/models/designation.js +224 -0
  176. package/dist/models/designation.js.map +1 -0
  177. package/dist/models/detailed-definition.d.ts +34 -0
  178. package/dist/models/detailed-definition.d.ts.map +1 -0
  179. package/dist/models/detailed-definition.js +63 -0
  180. package/dist/models/detailed-definition.js.map +1 -0
  181. package/dist/models/enum.d.ts +21 -0
  182. package/dist/models/enum.d.ts.map +1 -0
  183. package/dist/models/enum.js +39 -0
  184. package/dist/models/enum.js.map +1 -0
  185. package/dist/models/equivalence-degree.d.ts +7 -0
  186. package/dist/models/equivalence-degree.d.ts.map +1 -0
  187. package/dist/models/equivalence-degree.js +20 -0
  188. package/dist/models/equivalence-degree.js.map +1 -0
  189. package/dist/models/figure.d.ts +40 -0
  190. package/dist/models/figure.d.ts.map +1 -0
  191. package/dist/models/figure.js +82 -0
  192. package/dist/models/figure.js.map +1 -0
  193. package/dist/models/formula.d.ts +15 -0
  194. package/dist/models/formula.d.ts.map +1 -0
  195. package/dist/models/formula.js +27 -0
  196. package/dist/models/formula.js.map +1 -0
  197. package/dist/models/gcr-metadata.d.ts +62 -0
  198. package/dist/models/gcr-metadata.d.ts.map +1 -0
  199. package/dist/models/gcr-metadata.js +102 -0
  200. package/dist/models/gcr-metadata.js.map +1 -0
  201. package/dist/models/gcr-statistics.d.ts +30 -0
  202. package/dist/models/gcr-statistics.d.ts.map +1 -0
  203. package/dist/models/gcr-statistics.js +53 -0
  204. package/dist/models/gcr-statistics.js.map +1 -0
  205. package/dist/models/generic-hyperedge.d.ts +32 -0
  206. package/dist/models/generic-hyperedge.d.ts.map +1 -0
  207. package/dist/models/generic-hyperedge.js +51 -0
  208. package/dist/models/generic-hyperedge.js.map +1 -0
  209. package/dist/models/generic-member.d.ts +14 -0
  210. package/dist/models/generic-member.d.ts.map +1 -0
  211. package/dist/models/generic-member.js +51 -0
  212. package/dist/models/generic-member.js.map +1 -0
  213. package/dist/models/grammar-info.d.ts +34 -0
  214. package/dist/models/grammar-info.d.ts.map +1 -0
  215. package/dist/models/grammar-info.js +59 -0
  216. package/dist/models/grammar-info.js.map +1 -0
  217. package/dist/models/hyperedge-colors.d.ts +19 -0
  218. package/dist/models/hyperedge-colors.d.ts.map +1 -0
  219. package/dist/models/hyperedge-colors.js +61 -0
  220. package/dist/models/hyperedge-colors.js.map +1 -0
  221. package/dist/models/hyperedge-index.d.ts +34 -0
  222. package/dist/models/hyperedge-index.d.ts.map +1 -0
  223. package/dist/models/hyperedge-index.js +85 -0
  224. package/dist/models/hyperedge-index.js.map +1 -0
  225. package/dist/models/hyperedge-member.d.ts +28 -0
  226. package/dist/models/hyperedge-member.d.ts.map +1 -0
  227. package/dist/models/hyperedge-member.js +92 -0
  228. package/dist/models/hyperedge-member.js.map +1 -0
  229. package/dist/models/hyperedge-registry.d.ts +47 -0
  230. package/dist/models/hyperedge-registry.d.ts.map +1 -0
  231. package/dist/models/hyperedge-registry.js +118 -0
  232. package/dist/models/hyperedge-registry.js.map +1 -0
  233. package/dist/models/index.d.ts +53 -0
  234. package/dist/models/index.d.ts.map +1 -0
  235. package/{src/models/index.ts → dist/models/index.js} +11 -63
  236. package/dist/models/index.js.map +1 -0
  237. package/dist/models/locality.d.ts +17 -0
  238. package/dist/models/locality.d.ts.map +1 -0
  239. package/dist/models/locality.js +26 -0
  240. package/dist/models/locality.js.map +1 -0
  241. package/dist/models/localized-concept.d.ts +102 -0
  242. package/dist/models/localized-concept.d.ts.map +1 -0
  243. package/dist/models/localized-concept.js +195 -0
  244. package/dist/models/localized-concept.js.map +1 -0
  245. package/dist/models/localized-string.d.ts +5 -0
  246. package/dist/models/localized-string.d.ts.map +1 -0
  247. package/dist/models/localized-string.js +20 -0
  248. package/dist/models/localized-string.js.map +1 -0
  249. package/dist/models/multiplicity.d.ts +42 -0
  250. package/dist/models/multiplicity.d.ts.map +1 -0
  251. package/dist/models/multiplicity.js +84 -0
  252. package/dist/models/multiplicity.js.map +1 -0
  253. package/dist/models/non-verb-rep.d.ts +20 -0
  254. package/dist/models/non-verb-rep.d.ts.map +1 -0
  255. package/dist/models/non-verb-rep.js +32 -0
  256. package/dist/models/non-verb-rep.js.map +1 -0
  257. package/dist/models/non-verbal-entity.d.ts +30 -0
  258. package/dist/models/non-verbal-entity.d.ts.map +1 -0
  259. package/dist/models/non-verbal-entity.js +48 -0
  260. package/dist/models/non-verbal-entity.js.map +1 -0
  261. package/dist/models/non-verbal-reference.d.ts +23 -0
  262. package/dist/models/non-verbal-reference.d.ts.map +1 -0
  263. package/dist/models/non-verbal-reference.js +44 -0
  264. package/dist/models/non-verbal-reference.js.map +1 -0
  265. package/dist/models/non-verbal-references.d.ts +12 -0
  266. package/dist/models/non-verbal-references.d.ts.map +1 -0
  267. package/dist/models/non-verbal-references.js +20 -0
  268. package/dist/models/non-verbal-references.js.map +1 -0
  269. package/dist/models/partitive-count.d.ts +10 -0
  270. package/dist/models/partitive-count.d.ts.map +1 -0
  271. package/{src/models/partitive-count.ts → dist/models/partitive-count.js} +5 -9
  272. package/dist/models/partitive-count.js.map +1 -0
  273. package/dist/models/partitive-enumeration.d.ts +5 -0
  274. package/dist/models/partitive-enumeration.d.ts.map +1 -0
  275. package/dist/models/partitive-enumeration.js +16 -0
  276. package/dist/models/partitive-enumeration.js.map +1 -0
  277. package/dist/models/partitive-hyperedge.d.ts +43 -0
  278. package/dist/models/partitive-hyperedge.d.ts.map +1 -0
  279. package/dist/models/partitive-hyperedge.js +63 -0
  280. package/dist/models/partitive-hyperedge.js.map +1 -0
  281. package/dist/models/partitive-member.d.ts +14 -0
  282. package/dist/models/partitive-member.d.ts.map +1 -0
  283. package/dist/models/partitive-member.js +44 -0
  284. package/dist/models/partitive-member.js.map +1 -0
  285. package/dist/models/partitive-presence.d.ts +9 -0
  286. package/dist/models/partitive-presence.d.ts.map +1 -0
  287. package/{src/models/partitive-presence.ts → dist/models/partitive-presence.js} +4 -8
  288. package/dist/models/partitive-presence.js.map +1 -0
  289. package/dist/models/plurality-marker.d.ts +5 -0
  290. package/dist/models/plurality-marker.d.ts.map +1 -0
  291. package/dist/models/plurality-marker.js +20 -0
  292. package/dist/models/plurality-marker.js.map +1 -0
  293. package/dist/models/pronunciation.d.ts +19 -0
  294. package/dist/models/pronunciation.d.ts.map +1 -0
  295. package/dist/models/pronunciation.js +34 -0
  296. package/dist/models/pronunciation.js.map +1 -0
  297. package/dist/models/register.d.ts +104 -0
  298. package/dist/models/register.d.ts.map +1 -0
  299. package/dist/models/register.js +297 -0
  300. package/dist/models/register.js.map +1 -0
  301. package/dist/models/registrable.d.ts +25 -0
  302. package/dist/models/registrable.d.ts.map +1 -0
  303. package/dist/models/registrable.js +23 -0
  304. package/dist/models/registrable.js.map +1 -0
  305. package/dist/models/related-concept.d.ts +33 -0
  306. package/dist/models/related-concept.d.ts.map +1 -0
  307. package/dist/models/related-concept.js +95 -0
  308. package/dist/models/related-concept.js.map +1 -0
  309. package/dist/models/relation-categories.d.ts +38 -0
  310. package/dist/models/relation-categories.d.ts.map +1 -0
  311. package/dist/models/relation-categories.js +135 -0
  312. package/dist/models/relation-categories.js.map +1 -0
  313. package/dist/models/relation-colors.d.ts +35 -0
  314. package/dist/models/relation-colors.d.ts.map +1 -0
  315. package/dist/models/relation-colors.js +68 -0
  316. package/dist/models/relation-colors.js.map +1 -0
  317. package/dist/models/relation-loader.d.ts +41 -0
  318. package/dist/models/relation-loader.d.ts.map +1 -0
  319. package/dist/models/relation-loader.js +101 -0
  320. package/dist/models/relation-loader.js.map +1 -0
  321. package/dist/models/section.d.ts +22 -0
  322. package/dist/models/section.d.ts.map +1 -0
  323. package/dist/models/section.js +47 -0
  324. package/dist/models/section.js.map +1 -0
  325. package/dist/models/sequential-hyperedge.d.ts +32 -0
  326. package/dist/models/sequential-hyperedge.d.ts.map +1 -0
  327. package/dist/models/sequential-hyperedge.js +49 -0
  328. package/dist/models/sequential-hyperedge.js.map +1 -0
  329. package/dist/models/sequential-member.d.ts +8 -0
  330. package/dist/models/sequential-member.d.ts.map +1 -0
  331. package/{src/models/sequential-member.ts → dist/models/sequential-member.js} +4 -9
  332. package/dist/models/sequential-member.js.map +1 -0
  333. package/dist/models/shared-non-verbal-entity.d.ts +16 -0
  334. package/dist/models/shared-non-verbal-entity.d.ts.map +1 -0
  335. package/dist/models/shared-non-verbal-entity.js +28 -0
  336. package/dist/models/shared-non-verbal-entity.js.map +1 -0
  337. package/dist/models/table.d.ts +15 -0
  338. package/dist/models/table.d.ts.map +1 -0
  339. package/dist/models/table.js +27 -0
  340. package/dist/models/table.js.map +1 -0
  341. package/dist/rdf/agents-emitter.d.ts +37 -0
  342. package/dist/rdf/agents-emitter.d.ts.map +1 -0
  343. package/dist/rdf/agents-emitter.js +107 -0
  344. package/dist/rdf/agents-emitter.js.map +1 -0
  345. package/dist/rdf/bibliography-emitter.d.ts +16 -0
  346. package/dist/rdf/bibliography-emitter.d.ts.map +1 -0
  347. package/dist/rdf/bibliography-emitter.js +84 -0
  348. package/dist/rdf/bibliography-emitter.js.map +1 -0
  349. package/dist/rdf/bnode-id.d.ts +2 -0
  350. package/dist/rdf/bnode-id.d.ts.map +1 -0
  351. package/dist/rdf/bnode-id.js +57 -0
  352. package/dist/rdf/bnode-id.js.map +1 -0
  353. package/dist/rdf/build-activity-emitter.d.ts +42 -0
  354. package/dist/rdf/build-activity-emitter.d.ts.map +1 -0
  355. package/dist/rdf/build-activity-emitter.js +103 -0
  356. package/dist/rdf/build-activity-emitter.js.map +1 -0
  357. package/dist/rdf/curie.d.ts +7 -0
  358. package/dist/rdf/curie.d.ts.map +1 -0
  359. package/dist/rdf/curie.js +45 -0
  360. package/dist/rdf/curie.js.map +1 -0
  361. package/dist/rdf/dataset-emitter.d.ts +37 -0
  362. package/dist/rdf/dataset-emitter.d.ts.map +1 -0
  363. package/dist/rdf/dataset-emitter.js +126 -0
  364. package/dist/rdf/dataset-emitter.js.map +1 -0
  365. package/dist/rdf/deterministic-id.d.ts +3 -0
  366. package/dist/rdf/deterministic-id.d.ts.map +1 -0
  367. package/dist/rdf/deterministic-id.js +68 -0
  368. package/dist/rdf/deterministic-id.js.map +1 -0
  369. package/dist/rdf/document-writer.d.ts +11 -0
  370. package/dist/rdf/document-writer.d.ts.map +1 -0
  371. package/dist/rdf/document-writer.js +77 -0
  372. package/dist/rdf/document-writer.js.map +1 -0
  373. package/dist/rdf/gloss-concept.d.ts +27 -0
  374. package/dist/rdf/gloss-concept.d.ts.map +1 -0
  375. package/dist/rdf/gloss-concept.js +95 -0
  376. package/dist/rdf/gloss-concept.js.map +1 -0
  377. package/dist/rdf/gloss-designation.d.ts +17 -0
  378. package/dist/rdf/gloss-designation.d.ts.map +1 -0
  379. package/dist/rdf/gloss-designation.js +46 -0
  380. package/dist/rdf/gloss-designation.js.map +1 -0
  381. package/dist/rdf/gloss-detailed-definition.d.ts +14 -0
  382. package/dist/rdf/gloss-detailed-definition.d.ts.map +1 -0
  383. package/dist/rdf/gloss-detailed-definition.js +53 -0
  384. package/dist/rdf/gloss-detailed-definition.js.map +1 -0
  385. package/dist/rdf/gloss-generic-hyperedge.d.ts +27 -0
  386. package/dist/rdf/gloss-generic-hyperedge.d.ts.map +1 -0
  387. package/{src/rdf/gloss-generic-hyperedge.ts → dist/rdf/gloss-generic-hyperedge.js} +36 -50
  388. package/dist/rdf/gloss-generic-hyperedge.js.map +1 -0
  389. package/dist/rdf/gloss-localized-concept.d.ts +24 -0
  390. package/dist/rdf/gloss-localized-concept.d.ts.map +1 -0
  391. package/dist/rdf/gloss-localized-concept.js +71 -0
  392. package/dist/rdf/gloss-localized-concept.js.map +1 -0
  393. package/dist/rdf/gloss-non-verbal-rep.d.ts +33 -0
  394. package/dist/rdf/gloss-non-verbal-rep.d.ts.map +1 -0
  395. package/dist/rdf/gloss-non-verbal-rep.js +163 -0
  396. package/dist/rdf/gloss-non-verbal-rep.js.map +1 -0
  397. package/dist/rdf/gloss-partitive-member.d.ts +8 -0
  398. package/dist/rdf/gloss-partitive-member.d.ts.map +1 -0
  399. package/{src/rdf/gloss-partitive-member.ts → dist/rdf/gloss-partitive-member.js} +23 -41
  400. package/dist/rdf/gloss-partitive-member.js.map +1 -0
  401. package/dist/rdf/gloss-partitive-relation.d.ts +26 -0
  402. package/dist/rdf/gloss-partitive-relation.d.ts.map +1 -0
  403. package/dist/rdf/gloss-partitive-relation.js +73 -0
  404. package/dist/rdf/gloss-partitive-relation.js.map +1 -0
  405. package/dist/rdf/gloss-source.d.ts +23 -0
  406. package/dist/rdf/gloss-source.d.ts.map +1 -0
  407. package/dist/rdf/gloss-source.js +52 -0
  408. package/dist/rdf/gloss-source.js.map +1 -0
  409. package/dist/rdf/group-emitter.d.ts +46 -0
  410. package/dist/rdf/group-emitter.d.ts.map +1 -0
  411. package/dist/rdf/group-emitter.js +107 -0
  412. package/dist/rdf/group-emitter.js.map +1 -0
  413. package/dist/rdf/image-variant-emitter.d.ts +12 -0
  414. package/dist/rdf/image-variant-emitter.d.ts.map +1 -0
  415. package/dist/rdf/image-variant-emitter.js +55 -0
  416. package/dist/rdf/image-variant-emitter.js.map +1 -0
  417. package/dist/rdf/index.d.ts +26 -0
  418. package/dist/rdf/index.d.ts.map +1 -0
  419. package/{src/rdf/index.ts → dist/rdf/index.js} +8 -37
  420. package/dist/rdf/index.js.map +1 -0
  421. package/dist/rdf/normalize-enum.d.ts +3 -0
  422. package/dist/rdf/normalize-enum.d.ts.map +1 -0
  423. package/{src/rdf/normalize-enum.ts → dist/rdf/normalize-enum.js} +11 -10
  424. package/dist/rdf/normalize-enum.js.map +1 -0
  425. package/dist/rdf/predicates.d.ts +277 -0
  426. package/dist/rdf/predicates.d.ts.map +1 -0
  427. package/dist/rdf/predicates.js +279 -0
  428. package/dist/rdf/predicates.js.map +1 -0
  429. package/dist/rdf/prefixes.d.ts +16 -0
  430. package/dist/rdf/prefixes.d.ts.map +1 -0
  431. package/{src/rdf/prefixes.ts → dist/rdf/prefixes.js} +10 -12
  432. package/dist/rdf/prefixes.js.map +1 -0
  433. package/dist/rdf/provenance-emitter.d.ts +28 -0
  434. package/dist/rdf/provenance-emitter.d.ts.map +1 -0
  435. package/dist/rdf/provenance-emitter.js +74 -0
  436. package/dist/rdf/provenance-emitter.js.map +1 -0
  437. package/dist/rdf/sections-builder.d.ts +17 -0
  438. package/dist/rdf/sections-builder.d.ts.map +1 -0
  439. package/dist/rdf/sections-builder.js +137 -0
  440. package/dist/rdf/sections-builder.js.map +1 -0
  441. package/dist/rdf/shacl-entry.d.ts +2 -0
  442. package/dist/rdf/shacl-entry.d.ts.map +1 -0
  443. package/{src/rdf/shacl-entry.ts → dist/rdf/shacl-entry.js} +1 -1
  444. package/dist/rdf/shacl-entry.js.map +1 -0
  445. package/dist/rdf/shacl.d.ts +10 -0
  446. package/dist/rdf/shacl.d.ts.map +1 -0
  447. package/{src/rdf/shacl.ts → dist/rdf/shacl.js} +38 -57
  448. package/dist/rdf/shacl.js.map +1 -0
  449. package/dist/rdf/terms.d.ts +10 -0
  450. package/dist/rdf/terms.d.ts.map +1 -0
  451. package/{src/rdf/terms.ts → dist/rdf/terms.js} +6 -3
  452. package/dist/rdf/terms.js.map +1 -0
  453. package/dist/rdf/version-emitter.d.ts +57 -0
  454. package/dist/rdf/version-emitter.d.ts.map +1 -0
  455. package/dist/rdf/version-emitter.js +68 -0
  456. package/dist/rdf/version-emitter.js.map +1 -0
  457. package/dist/rdf/vocabulary-emitter.d.ts +32 -0
  458. package/dist/rdf/vocabulary-emitter.d.ts.map +1 -0
  459. package/dist/rdf/vocabulary-emitter.js +46 -0
  460. package/dist/rdf/vocabulary-emitter.js.map +1 -0
  461. package/dist/rdf/write-turtle-sync.d.ts +7 -0
  462. package/dist/rdf/write-turtle-sync.d.ts.map +1 -0
  463. package/dist/rdf/write-turtle-sync.js +130 -0
  464. package/dist/rdf/write-turtle-sync.js.map +1 -0
  465. package/dist/reference-mention.d.ts +49 -0
  466. package/dist/reference-mention.d.ts.map +1 -0
  467. package/dist/reference-mention.js +98 -0
  468. package/dist/reference-mention.js.map +1 -0
  469. package/dist/reference-resolver.d.ts +52 -0
  470. package/dist/reference-resolver.d.ts.map +1 -0
  471. package/dist/reference-resolver.js +311 -0
  472. package/dist/reference-resolver.js.map +1 -0
  473. package/dist/render-classification.d.ts +19 -0
  474. package/dist/render-classification.d.ts.map +1 -0
  475. package/dist/render-classification.js +82 -0
  476. package/dist/render-classification.js.map +1 -0
  477. package/dist/sort.d.ts +5 -0
  478. package/dist/sort.d.ts.map +1 -0
  479. package/dist/sort.js +25 -0
  480. package/dist/sort.js.map +1 -0
  481. package/dist/transforms/concept-to-gloss.transform.d.ts +32 -0
  482. package/dist/transforms/concept-to-gloss.transform.d.ts.map +1 -0
  483. package/dist/transforms/concept-to-gloss.transform.js +60 -0
  484. package/dist/transforms/concept-to-gloss.transform.js.map +1 -0
  485. package/dist/transforms/index.d.ts +2 -0
  486. package/dist/transforms/index.d.ts.map +1 -0
  487. package/{src/transforms/index.ts → dist/transforms/index.js} +1 -0
  488. package/dist/transforms/index.js.map +1 -0
  489. package/dist/utils/assertions.d.ts +4 -0
  490. package/dist/utils/assertions.d.ts.map +1 -0
  491. package/dist/utils/assertions.js +17 -0
  492. package/dist/utils/assertions.js.map +1 -0
  493. package/dist/uuid.d.ts +4 -0
  494. package/dist/uuid.d.ts.map +1 -0
  495. package/dist/uuid.js +23 -0
  496. package/dist/uuid.js.map +1 -0
  497. package/dist/v1-reader.d.ts +8 -0
  498. package/dist/v1-reader.d.ts.map +1 -0
  499. package/dist/v1-reader.js +56 -0
  500. package/dist/v1-reader.js.map +1 -0
  501. package/dist/validators/asset-index.d.ts +23 -0
  502. package/dist/validators/asset-index.d.ts.map +1 -0
  503. package/dist/validators/asset-index.js +58 -0
  504. package/dist/validators/asset-index.js.map +1 -0
  505. package/dist/validators/binary-has-part-redundancy-rule.d.ts +8 -0
  506. package/dist/validators/binary-has-part-redundancy-rule.d.ts.map +1 -0
  507. package/dist/validators/binary-has-part-redundancy-rule.js +57 -0
  508. package/dist/validators/binary-has-part-redundancy-rule.js.map +1 -0
  509. package/dist/validators/concept-validator.d.ts +21 -0
  510. package/dist/validators/concept-validator.d.ts.map +1 -0
  511. package/dist/validators/concept-validator.js +76 -0
  512. package/dist/validators/concept-validator.js.map +1 -0
  513. package/dist/validators/delimiting-coherence-rule.d.ts +8 -0
  514. package/dist/validators/delimiting-coherence-rule.d.ts.map +1 -0
  515. package/dist/validators/delimiting-coherence-rule.js +72 -0
  516. package/dist/validators/delimiting-coherence-rule.js.map +1 -0
  517. package/dist/validators/external-concept-shape-rule.d.ts +8 -0
  518. package/dist/validators/external-concept-shape-rule.d.ts.map +1 -0
  519. package/dist/validators/external-concept-shape-rule.js +48 -0
  520. package/dist/validators/external-concept-shape-rule.js.map +1 -0
  521. package/dist/validators/gcr-validator.d.ts +11 -0
  522. package/dist/validators/gcr-validator.d.ts.map +1 -0
  523. package/dist/validators/gcr-validator.js +76 -0
  524. package/dist/validators/gcr-validator.js.map +1 -0
  525. package/dist/validators/hyperedge-coherence-rule.d.ts +9 -0
  526. package/dist/validators/hyperedge-coherence-rule.d.ts.map +1 -0
  527. package/dist/validators/hyperedge-coherence-rule.js +78 -0
  528. package/dist/validators/hyperedge-coherence-rule.js.map +1 -0
  529. package/dist/validators/index.d.ts +21 -0
  530. package/dist/validators/index.d.ts.map +1 -0
  531. package/{src/validators/index.ts → dist/validators/index.js} +25 -51
  532. package/dist/validators/index.js.map +1 -0
  533. package/dist/validators/partitive-relation-coherence-rule.d.ts +2 -0
  534. package/dist/validators/partitive-relation-coherence-rule.d.ts.map +1 -0
  535. package/{src/validators/partitive-relation-coherence-rule.ts → dist/validators/partitive-relation-coherence-rule.js} +1 -1
  536. package/dist/validators/partitive-relation-coherence-rule.js.map +1 -0
  537. package/dist/validators/ref-keys.d.ts +8 -0
  538. package/dist/validators/ref-keys.d.ts.map +1 -0
  539. package/dist/validators/ref-keys.js +27 -0
  540. package/dist/validators/ref-keys.js.map +1 -0
  541. package/dist/validators/register-validator.d.ts +10 -0
  542. package/dist/validators/register-validator.d.ts.map +1 -0
  543. package/dist/validators/register-validator.js +18 -0
  544. package/dist/validators/register-validator.js.map +1 -0
  545. package/dist/validators/relationship-type-rule.d.ts +13 -0
  546. package/dist/validators/relationship-type-rule.d.ts.map +1 -0
  547. package/dist/validators/relationship-type-rule.js +34 -0
  548. package/dist/validators/relationship-type-rule.js.map +1 -0
  549. package/dist/validators/sourced-from-locality-rule.d.ts +8 -0
  550. package/dist/validators/sourced-from-locality-rule.d.ts.map +1 -0
  551. package/dist/validators/sourced-from-locality-rule.js +37 -0
  552. package/dist/validators/sourced-from-locality-rule.js.map +1 -0
  553. package/dist/validators/v3-rules.d.ts +60 -0
  554. package/dist/validators/v3-rules.d.ts.map +1 -0
  555. package/dist/validators/v3-rules.js +327 -0
  556. package/dist/validators/v3-rules.js.map +1 -0
  557. package/dist/validators/validation-error.d.ts +13 -0
  558. package/dist/validators/validation-error.d.ts.map +1 -0
  559. package/dist/validators/validation-error.js +17 -0
  560. package/dist/validators/validation-error.js.map +1 -0
  561. package/dist/validators/validation-result.d.ts +17 -0
  562. package/dist/validators/validation-result.d.ts.map +1 -0
  563. package/dist/validators/validation-result.js +47 -0
  564. package/dist/validators/validation-result.js.map +1 -0
  565. package/dist/validators/validation-rule.d.ts +10 -0
  566. package/dist/validators/validation-rule.d.ts.map +1 -0
  567. package/dist/validators/validation-rule.js +17 -0
  568. package/dist/validators/validation-rule.js.map +1 -0
  569. package/package.json +37 -42
  570. package/src/concept-collection.ts +0 -172
  571. package/src/concept-parser.ts +0 -235
  572. package/src/concept-reader.d.ts +0 -13
  573. package/src/concept-serializer.ts +0 -110
  574. package/src/concept-writer.d.ts +0 -7
  575. package/src/concept-writer.ts +0 -47
  576. package/src/diff/canonical-json.ts +0 -29
  577. package/src/diff/change.ts +0 -175
  578. package/src/diff/collection-diff.ts +0 -245
  579. package/src/diff/concept-diff.ts +0 -853
  580. package/src/diff/diff-patch.ts +0 -276
  581. package/src/diff/diff-renderer.ts +0 -348
  582. package/src/diff/identity.ts +0 -33
  583. package/src/diff/index.d.ts +0 -242
  584. package/src/diff/index.ts +0 -50
  585. package/src/diff/list-diff.ts +0 -231
  586. package/src/diff/similarity.ts +0 -20
  587. package/src/diff/text-diff.ts +0 -167
  588. package/src/entity-directory.ts +0 -43
  589. package/src/errors.d.ts +0 -11
  590. package/src/errors.ts +0 -24
  591. package/src/gcr-reader.d.ts +0 -65
  592. package/src/gcr-reader.ts +0 -512
  593. package/src/gcr-writer.d.ts +0 -22
  594. package/src/gcr-writer.ts +0 -99
  595. package/src/index.d.ts +0 -124
  596. package/src/managed-concept-collection.ts +0 -130
  597. package/src/migration/hyperedge-migrator.ts +0 -104
  598. package/src/models/abstract-hyperedge.ts +0 -164
  599. package/src/models/base.ts +0 -110
  600. package/src/models/bibliography-data.ts +0 -64
  601. package/src/models/bibliography-entry.ts +0 -40
  602. package/src/models/citation.ts +0 -98
  603. package/src/models/concept-date.ts +0 -48
  604. package/src/models/concept-ref.ts +0 -64
  605. package/src/models/concept-reference.ts +0 -50
  606. package/src/models/concept-source.ts +0 -96
  607. package/src/models/concept-system-type.ts +0 -39
  608. package/src/models/concept-system.ts +0 -152
  609. package/src/models/concept.ts +0 -499
  610. package/src/models/dataset-color.ts +0 -88
  611. package/src/models/designation-relationship.ts +0 -39
  612. package/src/models/designation.ts +0 -297
  613. package/src/models/detailed-definition.ts +0 -92
  614. package/src/models/enum.ts +0 -60
  615. package/src/models/equivalence-degree.ts +0 -34
  616. package/src/models/figure.ts +0 -110
  617. package/src/models/formula.ts +0 -36
  618. package/src/models/gcr-metadata.ts +0 -118
  619. package/src/models/gcr-statistics.ts +0 -76
  620. package/src/models/generic-hyperedge.ts +0 -72
  621. package/src/models/generic-member.ts +0 -80
  622. package/src/models/grammar-info.ts +0 -78
  623. package/src/models/hyperedge-colors.ts +0 -87
  624. package/src/models/hyperedge-index.ts +0 -101
  625. package/src/models/hyperedge-member.ts +0 -121
  626. package/src/models/hyperedge-registry.ts +0 -145
  627. package/src/models/index.d.ts +0 -586
  628. package/src/models/locality.ts +0 -34
  629. package/src/models/localized-concept.ts +0 -284
  630. package/src/models/localized-string.ts +0 -32
  631. package/src/models/multiplicity.ts +0 -134
  632. package/src/models/non-verb-rep.ts +0 -48
  633. package/src/models/non-verbal-entity.ts +0 -65
  634. package/src/models/non-verbal-reference.ts +0 -73
  635. package/src/models/non-verbal-references.ts +0 -29
  636. package/src/models/partitive-enumeration.ts +0 -27
  637. package/src/models/partitive-hyperedge.ts +0 -90
  638. package/src/models/partitive-member.ts +0 -56
  639. package/src/models/plurality-marker.ts +0 -31
  640. package/src/models/pronunciation.ts +0 -40
  641. package/src/models/register.ts +0 -315
  642. package/src/models/registrable.ts +0 -48
  643. package/src/models/related-concept.ts +0 -117
  644. package/src/models/relation-categories.ts +0 -167
  645. package/src/models/relation-colors.ts +0 -90
  646. package/src/models/relation-loader.ts +0 -115
  647. package/src/models/section.ts +0 -61
  648. package/src/models/sequential-hyperedge.ts +0 -70
  649. package/src/models/shared-non-verbal-entity.ts +0 -36
  650. package/src/models/table.ts +0 -36
  651. package/src/rdf/agents-emitter.ts +0 -137
  652. package/src/rdf/bibliography-emitter.ts +0 -126
  653. package/src/rdf/bnode-id.ts +0 -55
  654. package/src/rdf/build-activity-emitter.ts +0 -129
  655. package/src/rdf/curie.ts +0 -46
  656. package/src/rdf/dataset-emitter.ts +0 -170
  657. package/src/rdf/deterministic-id.ts +0 -69
  658. package/src/rdf/document-writer.ts +0 -87
  659. package/src/rdf/gloss-concept.ts +0 -115
  660. package/src/rdf/gloss-designation.ts +0 -72
  661. package/src/rdf/gloss-detailed-definition.ts +0 -69
  662. package/src/rdf/gloss-localized-concept.ts +0 -79
  663. package/src/rdf/gloss-non-verbal-rep.ts +0 -202
  664. package/src/rdf/gloss-partitive-relation.ts +0 -89
  665. package/src/rdf/gloss-source.ts +0 -56
  666. package/src/rdf/group-emitter.ts +0 -133
  667. package/src/rdf/image-variant-emitter.ts +0 -80
  668. package/src/rdf/index.d.ts +0 -371
  669. package/src/rdf/predicates.d.ts +0 -527
  670. package/src/rdf/predicates.ts +0 -287
  671. package/src/rdf/provenance-emitter.ts +0 -87
  672. package/src/rdf/sections-builder.ts +0 -190
  673. package/src/rdf/shacl-entry.d.ts +0 -6
  674. package/src/rdf/version-emitter.ts +0 -97
  675. package/src/rdf/vocabulary-emitter.ts +0 -67
  676. package/src/rdf/write-turtle-sync.ts +0 -179
  677. package/src/reference-mention.ts +0 -114
  678. package/src/reference-resolver.ts +0 -361
  679. package/src/render-classification.ts +0 -85
  680. package/src/sort.ts +0 -22
  681. package/src/transforms/concept-to-gloss.transform.ts +0 -81
  682. package/src/transforms/index.d.ts +0 -26
  683. package/src/uuid.ts +0 -32
  684. package/src/v1-reader.ts +0 -66
  685. package/src/validators/asset-index.ts +0 -72
  686. package/src/validators/binary-has-part-redundancy-rule.ts +0 -67
  687. package/src/validators/concept-validator.ts +0 -93
  688. package/src/validators/delimiting-coherence-rule.ts +0 -105
  689. package/src/validators/external-concept-shape-rule.ts +0 -60
  690. package/src/validators/gcr-validator.ts +0 -76
  691. package/src/validators/hyperedge-coherence-rule.ts +0 -98
  692. package/src/validators/index.d.ts +0 -43
  693. package/src/validators/ref-keys.ts +0 -31
  694. package/src/validators/register-validator.ts +0 -18
  695. package/src/validators/relationship-type-rule.ts +0 -39
  696. package/src/validators/sourced-from-locality-rule.ts +0 -53
  697. package/src/validators/v3-rules.ts +0 -382
  698. package/src/validators/validation-error.ts +0 -19
  699. package/src/validators/validation-result.ts +0 -52
  700. package/src/validators/validation-rule.ts +0 -21
@@ -1,361 +0,0 @@
1
- import { ConceptRef } from './models/concept-ref.js';
2
- import { parseMention } from './reference-mention.js';
3
-
4
- export class Reference {
5
- constructor(type, target, relationship, source, extras = {}) {
6
- // @ts-expect-error TODO(Phase 2e): type this fully
7
- this.type = type;
8
- // @ts-expect-error TODO(Phase 2e): type this fully
9
- this.target = target;
10
- // @ts-expect-error TODO(Phase 2e): type this fully
11
- this.relationship = relationship ?? null;
12
- // @ts-expect-error TODO(Phase 2e): type this fully
13
- this.source = source ?? null;
14
- // @ts-expect-error TODO(Phase 2e): type this fully
15
- this.uri = extras.uri ?? null;
16
- // @ts-expect-error TODO(Phase 2e): type this fully
17
- this.citation = extras.citation ?? null;
18
- // @ts-expect-error TODO(Phase 2e): type this fully
19
- this.sourceId = extras.sourceId ?? null;
20
- // @ts-expect-error TODO(Phase 2e): type this fully
21
- this.resolution = extras.resolution ?? null;
22
- // @ts-expect-error TODO(Phase 2e): type this fully
23
- this.lookupKey = extras.lookupKey ?? null;
24
- }
25
-
26
- get dedupKey() {
27
- // @ts-expect-error TODO(Phase 2e): type this fully
28
- if (this.type === 'bibliography') {
29
- return ['bibliography',
30
- // @ts-expect-error TODO(Phase 2e): type this fully
31
- this.sourceId ?? this.citation?.ref?.id ?? this.target];
32
- }
33
- // @ts-expect-error TODO(Phase 2e): type this fully
34
- if (this.type === 'figure' || this.type === 'table' || this.type === 'formula') {
35
- // @ts-expect-error TODO(Phase 2e): type this fully
36
- return [this.type, this.lookupKey?.entityId ?? this.target];
37
- }
38
- // @ts-expect-error TODO(Phase 2e): type this fully
39
- if (this.type === 'concept') {
40
- return ['concept',
41
- // @ts-expect-error TODO(Phase 2e): type this fully
42
- this.lookupKey?.id ?? this.lookupKey?.designation ?? this.target];
43
- }
44
- // @ts-expect-error TODO(Phase 2e): type this fully
45
- return [this.type, this.target];
46
- }
47
- }
48
-
49
- function refTarget(rc) {
50
- if (rc.content) return rc.content;
51
- if (rc.ref instanceof ConceptRef) {
52
- return rc.ref.id ?? rc.ref.source ?? '';
53
- }
54
- return '';
55
- }
56
-
57
- // Extract a concept-ref target from a hyperedge comprehensive/part
58
- // ConceptRef. Returns the id (preferred) or source. Returns '' if
59
- // the ref is empty (the constructor already rejects empty refs; this
60
- // is a defensive guard for data that bypassed the constructor).
61
- function hyperedgeRefTarget(ref) {
62
- if (!ref) return '';
63
- if (ref.id) return ref.id;
64
- if (ref.source) return ref.source;
65
- return '';
66
- }
67
-
68
- export function resolveBibliographyRecord(citationRef, registry) {
69
- if (!citationRef?.source || !citationRef?.id) return null;
70
- const bioColl = registry[`bibliography:${citationRef.source}`]?.concepts;
71
- if (!bioColl) return null;
72
- if (citationRef.version) {
73
- return bioColl.byIdAnd(citationRef.id, citationRef.version);
74
- }
75
- return bioColl.byId(citationRef.id);
76
- }
77
-
78
- export function findNonVerbalEntity(ref, registry) {
79
- const { entityType, entityId } = ref.lookupKey ?? {};
80
- if (!entityType || !entityId) return null;
81
- const collection = registry[`nvr:${entityType}`];
82
- if (!collection) return null;
83
- for (const entity of collection) {
84
- const found = entity.findById(entityId);
85
- if (found) return found;
86
- }
87
- return null;
88
- }
89
-
90
- export class ReferenceResolver {
91
- extractReferences(concept) {
92
- const refs = [];
93
-
94
- for (const rc of concept.relatedConcepts) {
95
- const target = refTarget(rc);
96
- if (target) {
97
- // @ts-expect-error TODO(Phase 2e): type this fully
98
- refs.push(new Reference('concept', target, rc.type, 'relatedConcepts', {
99
- lookupKey: { id: target },
100
- }));
101
- }
102
- }
103
-
104
- // All hyperedges (Partitive + Generic + future types) live in
105
- // concept.relations. Each has a comprehensive ConceptRef and 2+
106
- // members each carrying a ConceptRef. The reference type is the
107
- // relation's typeTag (partitive_relation, generic_relation, …).
108
- const relations = concept.relations ?? [];
109
- for (let i = 0; i < relations.length; i++) {
110
- const rel = relations[i];
111
- const relType = rel?.constructor?.typeTag ?? 'hyperedge';
112
- const relPath = `relations[${i}]`;
113
-
114
- const compTarget = hyperedgeRefTarget(rel.comprehensive);
115
- if (compTarget) {
116
- // @ts-expect-error TODO(Phase 2e): type this fully
117
- refs.push(new Reference(
118
- 'concept',
119
- compTarget,
120
- relType,
121
- `${relPath}.comprehensive`,
122
- { lookupKey: { id: compTarget } },
123
- ));
124
- }
125
-
126
- // Member shape: members is [{ ref, presence, count, is_delimiting }, ...]
127
- // (HyperedgeMember / PartitiveMember / GenericMember). The wire
128
- // alias .partitives is also handled for backward compat with v2 wire consumers.
129
- const members = rel.members ?? rel.partitives ?? rel.parts ?? [];
130
- for (let j = 0; j < members.length; j++) {
131
- const m = members[j];
132
- const memberRef = m?.ref ?? m;
133
- const pTarget = hyperedgeRefTarget(memberRef);
134
- if (!pTarget) continue;
135
- // @ts-expect-error TODO(Phase 2e): type this fully
136
- refs.push(new Reference(
137
- 'concept',
138
- pTarget,
139
- relType,
140
- `${relPath}.members[${j}]`,
141
- { lookupKey: { id: pTarget } },
142
- ));
143
- }
144
- }
145
-
146
- for (const ref of concept.figures) {
147
- // @ts-expect-error TODO(Phase 2e): type this fully
148
- refs.push(new Reference('figure', ref.display ?? ref.entityId, 'structural', 'figures', {
149
- lookupKey: { entityType: 'figure', entityId: ref.entityId },
150
- }));
151
- }
152
- for (const ref of concept.tables) {
153
- // @ts-expect-error TODO(Phase 2e): type this fully
154
- refs.push(new Reference('table', ref.display ?? ref.entityId, 'structural', 'tables', {
155
- lookupKey: { entityType: 'table', entityId: ref.entityId },
156
- }));
157
- }
158
- for (const ref of concept.formulas) {
159
- // @ts-expect-error TODO(Phase 2e): type this fully
160
- refs.push(new Reference('formula', ref.display ?? ref.entityId, 'structural', 'formulas', {
161
- lookupKey: { entityType: 'formula', entityId: ref.entityId },
162
- }));
163
- }
164
-
165
- for (const lang of concept.languages) {
166
- const lc = concept.localization(lang);
167
- if (!lc) continue;
168
-
169
- for (let i = 0; i < lc.sources.length; i++) {
170
- const src = lc.sources[i];
171
- const ref = src.origin?.toString() ?? '';
172
- if (ref) {
173
- // @ts-expect-error TODO(Phase 2e): type this fully
174
- refs.push(new Reference('standard', ref, src.type, `localizations.${lang}.sources[${i}]`));
175
- }
176
- }
177
-
178
- for (const { text, source } of lc.walkTexts(`localizations.${lang}`)) {
179
- for (const ref of this._extractFromText(text, source, concept)) {
180
- refs.push(ref);
181
- }
182
- }
183
- }
184
-
185
- return this._dedup(refs);
186
- }
187
-
188
- _dedup(refs) {
189
- const seen = new Set();
190
- return refs.filter(ref => {
191
- const key = JSON.stringify(ref.dedupKey);
192
- if (seen.has(key)) return false;
193
- seen.add(key);
194
- return true;
195
- });
196
- }
197
-
198
- _extractFromText(text, source, concept) {
199
- const refs = [];
200
- const re = /\{\{([^{}]*?)\}\}/g;
201
- let m;
202
- while ((m = re.exec(text)) !== null) {
203
- const parsed = parseMention(m[1]);
204
- switch (parsed.kind) {
205
- case 'cite-ref':
206
- // @ts-expect-error TODO(Phase 2e): type this fully
207
- refs.push(this._resolveCiteRef(parsed, source, concept));
208
- break;
209
- case 'urn-ref':
210
- // @ts-expect-error TODO(Phase 2e): type this fully
211
- refs.push(new Reference('concept', parsed.label ?? parsed.uri, 'embedded', source, {
212
- uri: parsed.uri,
213
- resolution: null,
214
- }));
215
- break;
216
- case 'fig-ref':
217
- // @ts-expect-error TODO(Phase 2e): type this fully
218
- refs.push(new Reference('figure', parsed.label ?? parsed.key, 'embedded', source, {
219
- lookupKey: { entityType: 'figure', entityId: parsed.key },
220
- }));
221
- break;
222
- case 'table-ref':
223
- // @ts-expect-error TODO(Phase 2e): type this fully
224
- refs.push(new Reference('table', parsed.label ?? parsed.key, 'embedded', source, {
225
- lookupKey: { entityType: 'table', entityId: parsed.key },
226
- }));
227
- break;
228
- case 'formula-ref':
229
- // @ts-expect-error TODO(Phase 2e): type this fully
230
- refs.push(new Reference('formula', parsed.label ?? parsed.key, 'embedded', source, {
231
- lookupKey: { entityType: 'formula', entityId: parsed.key },
232
- }));
233
- break;
234
- case 'numeric':
235
- // @ts-expect-error TODO(Phase 2e): type this fully
236
- refs.push(new Reference('concept', parsed.label ?? parsed.id, 'embedded', source, {
237
- lookupKey: { id: parsed.id },
238
- }));
239
- break;
240
- case 'designation':
241
- // @ts-expect-error TODO(Phase 2e): type this fully
242
- refs.push(new Reference('concept', parsed.label ?? parsed.id, 'embedded', source, {
243
- lookupKey: { designation: parsed.id },
244
- }));
245
- break;
246
- case 'unresolved':
247
- break;
248
- }
249
- }
250
- return refs;
251
- }
252
-
253
- _resolveCiteRef(parsed, source, concept) {
254
- const sourceEntry = concept?.findSourceById(parsed.key) ?? null;
255
- if (!sourceEntry) {
256
- return new Reference(
257
- 'bibliography',
258
- parsed.label ?? parsed.key,
259
- null,
260
- source,
261
- {
262
- sourceId: parsed.key,
263
- citation: null,
264
- resolution: { kind: 'unresolved', reason: 'no-source' },
265
- },
266
- );
267
- }
268
- const displayTarget = parsed.label
269
- ?? sourceEntry.origin?.toString()
270
- ?? sourceEntry.id;
271
- return new Reference(
272
- 'bibliography',
273
- displayTarget,
274
- null,
275
- source,
276
- {
277
- sourceId: sourceEntry.id,
278
- citation: sourceEntry.origin,
279
- resolution: { kind: 'resolved', sourceId: sourceEntry.id },
280
- },
281
- );
282
- }
283
-
284
- resolveReference(ref, registry) {
285
- if (ref == null || registry == null) return null;
286
-
287
- switch (ref.type) {
288
- case 'concept': return this._resolveConcept(ref, registry);
289
- case 'bibliography': return this._resolveBibliography(ref, registry);
290
- case 'figure':
291
- case 'table':
292
- case 'formula': return this._resolveNonVerbal(ref, registry);
293
- case 'dataset': return this._resolveDataset(ref, registry);
294
- case 'typed-ref': return this._resolveTypedRef(ref, registry);
295
- case 'standard': return this._resolveStandard(ref, registry);
296
- default: return null;
297
- }
298
- }
299
-
300
- _resolveNonVerbal(ref, registry) {
301
- return findNonVerbalEntity(ref, registry);
302
- }
303
-
304
- _resolveConcept(ref, registry) {
305
- if (ref.lookupKey?.id) {
306
- const dataset = ref.lookupKey.dataset;
307
- if (dataset) {
308
- return registry[dataset]?.concepts?.byId(ref.lookupKey.id) ?? null;
309
- }
310
- for (const entry of Object.values(registry)) {
311
- // @ts-expect-error TODO(Phase 2e): type this fully
312
- const found = entry?.concepts?.byId(ref.lookupKey.id);
313
- if (found) return found;
314
- }
315
- return null;
316
- }
317
- if (ref.uri && ref.resolution?.datasetId) {
318
- return registry[ref.resolution.datasetId]?.concepts?.byId(ref.resolution.conceptId) ?? null;
319
- }
320
- return null;
321
- }
322
-
323
- _resolveBibliography(ref, registry) {
324
- if (ref.citation) {
325
- return resolveBibliographyRecord(ref.citation.ref, registry) ?? ref.citation;
326
- }
327
- if (ref.uri && ref.resolution?.source) {
328
- return resolveBibliographyRecord(ref.resolution, registry) ?? null;
329
- }
330
- return null;
331
- }
332
-
333
- _resolveDataset(_ref, _registry) {
334
- return null;
335
- }
336
-
337
- _resolveTypedRef(_ref, _registry) {
338
- return null;
339
- }
340
-
341
- _resolveStandard(_ref, _registry) {
342
- return null;
343
- }
344
-
345
- resolveAll(concept, registry) {
346
- const resolved = new Map();
347
- for (const ref of this.extractReferences(concept)) {
348
- if (ref.type === 'concept' || ref.type === 'bibliography'
349
- || ref.type === 'figure' || ref.type === 'table' || ref.type === 'formula') {
350
- const target = this.resolveReference(ref, registry);
351
- if (target != null) {
352
- const key = ref.target ?? ref.uri ?? ref.sourceId;
353
- if (key != null) resolved.set(key, target);
354
- }
355
- }
356
- }
357
- return resolved;
358
- }
359
- }
360
-
361
- export const referenceResolver = new ReferenceResolver();
@@ -1,85 +0,0 @@
1
- import { resolveBibliographyRecord, findNonVerbalEntity } from './reference-resolver.js';
2
-
3
- export class ReferenceClassifier {
4
- constructor(registry = {}, sourceDatasetId = null, options = {}) {
5
- // @ts-expect-error TODO(Phase 2e): type this fully
6
- this.registry = registry;
7
- // @ts-expect-error TODO(Phase 2e): type this fully
8
- this.sourceDatasetId = sourceDatasetId;
9
- // @ts-expect-error TODO(Phase 2e): type this fully
10
- this.options = options;
11
- }
12
-
13
- classify(ref) {
14
- if (ref == null) return 'unknown';
15
-
16
- switch (ref.type) {
17
- case 'concept': return this._classifyConcept(ref);
18
- case 'dataset': return this._classifyDataset(ref);
19
- case 'bibliography': return this._classifyBibliography(ref);
20
- case 'figure':
21
- case 'table':
22
- case 'formula': return this._classifyNonVerbal(ref);
23
- case 'typed-ref': return this._classifyTypedRef(ref);
24
- case 'standard': return 'legacy-standard';
25
- default: return 'unknown';
26
- }
27
- }
28
-
29
- _classifyConcept(ref) {
30
- if (ref.uri) {
31
- const dsId = ref.resolution?.datasetId;
32
- if (!dsId) return 'unresolved';
33
- // @ts-expect-error TODO(Phase 2e): type this fully
34
- if (!this.registry[dsId]) return 'external-citation';
35
- // @ts-expect-error TODO(Phase 2e): type this fully
36
- if (dsId === this.sourceDatasetId) return 'same-dataset';
37
- return 'cross-dataset';
38
- }
39
- if (ref.lookupKey?.designation) {
40
- return 'unresolved-designation';
41
- }
42
- if (ref.lookupKey?.id) {
43
- const dsId = ref.lookupKey.dataset;
44
- // @ts-expect-error TODO(Phase 2e): type this fully
45
- if (!this.registry[dsId]) return 'unresolved';
46
- // @ts-expect-error TODO(Phase 2e): type this fully
47
- if (dsId === this.sourceDatasetId) return 'same-dataset';
48
- return 'cross-dataset';
49
- }
50
- return 'unresolved';
51
- }
52
-
53
- _classifyDataset(ref) {
54
- if (ref.resolution?.kind === 'dataset-self') return 'dataset-self';
55
- if (ref.resolution?.kind === 'dataset-namespace') return 'dataset-self';
56
- return 'unknown';
57
- }
58
-
59
- _classifyBibliography(ref) {
60
- if (ref.citation) {
61
- // @ts-expect-error TODO(Phase 2e): type this fully
62
- return resolveBibliographyRecord(ref.citation.ref, this.registry)
63
- ? 'internal-citation'
64
- : 'self-contained-citation';
65
- }
66
- if (ref.uri) {
67
- // @ts-expect-error TODO(Phase 2e): type this fully
68
- return resolveBibliographyRecord(ref.resolution, this.registry)
69
- ? 'internal-citation'
70
- : 'external-citation';
71
- }
72
- return 'unresolved-citation';
73
- }
74
-
75
- _classifyTypedRef(_ref) {
76
- return 'typed-ref';
77
- }
78
-
79
- _classifyNonVerbal(ref) {
80
- // @ts-expect-error TODO(Phase 2e): type this fully
81
- return findNonVerbalEntity(ref, this.registry)
82
- ? 'internal-citation'
83
- : 'external-citation';
84
- }
85
- }
package/src/sort.ts DELETED
@@ -1,22 +0,0 @@
1
- const NATURAL_SORT_RE = /(\d+|\D+)/g;
2
- const DIGIT_RE = /^\d+$/;
3
-
4
- /**
5
- * Natural sort comparator for concept IDs like "3.1.1.1", "551-12-39".
6
- */
7
- export function naturalSort(a: string, b: string): number {
8
- const pa = a.match(NATURAL_SORT_RE) || [];
9
- const pb = b.match(NATURAL_SORT_RE) || [];
10
- for (let i = 0; i < Math.max(pa.length, pb.length); i++) {
11
- const na = pa[i] || '';
12
- const nb = pb[i] || '';
13
- if (DIGIT_RE.test(na) && DIGIT_RE.test(nb)) {
14
- const diff = parseInt(na, 10) - parseInt(nb, 10);
15
- if (diff !== 0) return diff;
16
- } else {
17
- const cmp = na.localeCompare(nb);
18
- if (cmp !== 0) return cmp;
19
- }
20
- }
21
- return 0;
22
- }
@@ -1,81 +0,0 @@
1
- // ConceptToGlossTransform — converts a Concept model into RDF.
2
- //
3
- // Usage:
4
- // const xform = new ConceptToGlossTransform({ registerId: 'iso-6709', uriBase: 'https://example.org' });
5
- // const ttl = await xform.toTurtle(concept);
6
-
7
- import { conceptToQuads } from '../rdf/gloss-concept.js';
8
- import {
9
- collectQuads,
10
- writeTurtle,
11
- writeNTriples,
12
- writeJsonld,
13
- } from '../rdf/document-writer.js';
14
-
15
- type QuadLike = unknown;
16
- type ConceptLike = { registerId?: string; id?: string | number } & Record<string, unknown>;
17
-
18
- interface WriterEntry {
19
- write: (quads: QuadLike[] | QuadLike, transform: ConceptToGlossTransform) => Promise<unknown>;
20
- }
21
-
22
- const WRITERS: Readonly<Record<string, WriterEntry>> = Object.freeze({
23
- turtle: { write: (quads) => writeTurtle(quads as QuadLike[]) },
24
- ntriples: { write: (quads) => writeNTriples(quads as QuadLike[]) },
25
- jsonld: { write: (quads, t) => writeJsonld(quads as QuadLike[], t._jsonldOpts() as never) },
26
- });
27
-
28
- export class ConceptToGlossTransform {
29
- readonly registerId: string | undefined;
30
- readonly uriBase: string;
31
- readonly jsonldContext: unknown;
32
-
33
- constructor(options: { registerId?: string; uriBase?: string; jsonldContext?: unknown } = {}) {
34
- this.registerId = options.registerId;
35
- this.uriBase = (options.uriBase ?? '').replace(/\/+$/, '');
36
- if (!this.uriBase) {
37
- throw new Error(
38
- 'ConceptToGlossTransform requires options.uriBase — the deployment canonical URI root.',
39
- );
40
- }
41
- this.jsonldContext = options.jsonldContext;
42
- }
43
-
44
- toTurtle(target: ConceptLike): Promise<unknown> { return this._serialize(target, 'turtle'); }
45
- toTurtleAll(targets: Iterable<ConceptLike>): Promise<unknown> { return this._serialize(targets, 'turtle'); }
46
- toJsonld(target: ConceptLike): Promise<unknown> { return this._serialize(target, 'jsonld'); }
47
- toJsonldAll(targets: Iterable<ConceptLike>): Promise<unknown> { return this._serialize(targets, 'jsonld'); }
48
- toNTriples(target: ConceptLike): Promise<unknown> { return this._serialize(target, 'ntriples'); }
49
- toNTriplesAll(targets: Iterable<ConceptLike>): Promise<unknown> { return this._serialize(targets, 'ntriples'); }
50
-
51
- async _serialize(target: ConceptLike | Iterable<ConceptLike>, format: string): Promise<unknown> {
52
- const writer = WRITERS[format];
53
- if (!writer) throw new Error(`Unknown serialization format: ${format}`);
54
- const quads = this._collect(target);
55
- return writer.write(quads, this);
56
- }
57
-
58
- _collect(target: ConceptLike | Iterable<ConceptLike>): QuadLike[] {
59
- if (target && typeof (target as Iterable<ConceptLike>)[Symbol.iterator] === 'function') {
60
- const quads: QuadLike[] = [];
61
- for (const concept of target as Iterable<ConceptLike>) {
62
- for (const q of conceptToQuads(concept as never, this._optsFor(concept))) {
63
- quads.push(q);
64
- }
65
- }
66
- return quads;
67
- }
68
- return collectQuads(conceptToQuads(target as never, this._optsFor(target as ConceptLike)));
69
- }
70
-
71
- _optsFor(concept: ConceptLike): { registerId: string; uriBase: string } {
72
- return {
73
- registerId: this.registerId ?? concept.registerId ?? 'glossary',
74
- uriBase: this.uriBase,
75
- };
76
- }
77
-
78
- _jsonldOpts(): { context?: unknown } {
79
- return this.jsonldContext ? { context: this.jsonldContext } : {};
80
- }
81
- }
@@ -1,26 +0,0 @@
1
- // Type declarations for the public transforms layer.
2
- //
3
- // Mirrors the runtime exports of src/transforms/index.js.
4
-
5
- import type { Concept } from '../models/index';
6
- import type { Quad } from '@rdfjs/dataset';
7
-
8
- export interface ConceptToGlossTransformOptions {
9
- registerId?: string;
10
- uriBase?: string;
11
- jsonldContext?: Record<string, string>;
12
- }
13
-
14
- export declare class ConceptToGlossTransform {
15
- constructor(options?: ConceptToGlossTransformOptions);
16
- readonly registerId: string | undefined;
17
- readonly uriBase: string;
18
- readonly jsonldContext: Record<string, string> | undefined;
19
-
20
- toTurtle(concept: Concept): Promise<string>;
21
- toTurtleAll(concepts: Iterable<Concept>): Promise<string>;
22
- toJsonld(concept: Concept): Promise<string>;
23
- toJsonldAll(concepts: Iterable<Concept>): Promise<string>;
24
- toNTriples(concept: Concept): Promise<string>;
25
- toNTriplesAll(concepts: Iterable<Concept>): Promise<string>;
26
- }
package/src/uuid.ts DELETED
@@ -1,32 +0,0 @@
1
- import { createHash } from 'crypto';
2
-
3
- const NAMESPACE_UUID = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';
4
-
5
- export function uuidV5(namespace: string, name: string): string {
6
- const ns = _parseUuid(namespace);
7
- const hash = createHash('sha1').update(ns).update(name, 'utf8').digest();
8
- hash[6] = ((hash[6] ?? 0) & 0x0f) | 0x50;
9
- hash[8] = ((hash[8] ?? 0) & 0x3f) | 0x80;
10
- return _formatUuid(hash);
11
- }
12
-
13
- export function conceptUuid(conceptId: string, namespace: string = NAMESPACE_UUID): string {
14
- return uuidV5(namespace, conceptId);
15
- }
16
-
17
- export function localizedConceptUuid(
18
- conceptId: string,
19
- languageCode: string,
20
- namespace: string = NAMESPACE_UUID,
21
- ): string {
22
- return uuidV5(namespace, `${conceptId}:${languageCode}`);
23
- }
24
-
25
- function _parseUuid(str: string): Buffer {
26
- return Buffer.from(str.replace(/-/g, ''), 'hex');
27
- }
28
-
29
- function _formatUuid(hash: Buffer): string {
30
- const h = hash.toString('hex');
31
- return [h.slice(0, 8), h.slice(8, 12), h.slice(12, 16), h.slice(16, 20), h.slice(20, 32)].join('-');
32
- }
package/src/v1-reader.ts DELETED
@@ -1,66 +0,0 @@
1
- import fs from 'fs';
2
- import path from 'path';
3
- import * as yaml from 'js-yaml';
4
- import { Concept } from './models/concept.js';
5
- import { InvalidInputError } from './errors.js';
6
-
7
- export class V1Reader {
8
- static isV1Directory(dir) {
9
- const entries = fs.readdirSync(dir, { withFileTypes: true });
10
- return entries.some(e =>
11
- e.isDirectory() && fs.existsSync(path.join(dir, e.name, 'concept.yaml'))
12
- );
13
- }
14
-
15
- static readConcept(conceptDir) {
16
- const conceptFile = path.join(conceptDir, 'concept.yaml');
17
- if (!fs.existsSync(conceptFile)) {
18
- throw new InvalidInputError(`No concept.yaml found in ${conceptDir}`);
19
- }
20
-
21
- const data = yaml.load(fs.readFileSync(conceptFile, 'utf8'));
22
- const localizations = {};
23
-
24
- for (const file of fs.readdirSync(conceptDir)) {
25
- if (file === 'concept.yaml' || !file.endsWith('.yaml')) continue;
26
- const lang = file.slice(0, -'.yaml'.length);
27
- localizations[lang] = yaml.load(fs.readFileSync(path.join(conceptDir, file), 'utf8'));
28
- }
29
-
30
- return new Concept({
31
- // @ts-expect-error TODO(Phase 2e): type this fully
32
- id: String(data.termid ?? data.data?.identifier ?? path.basename(conceptDir)),
33
- // @ts-expect-error TODO(Phase 2e): type this fully
34
- term: data.term ?? null,
35
- localizations,
36
- raw: data,
37
- });
38
- }
39
-
40
- static readAll(dir) {
41
- const entries = fs.readdirSync(dir, { withFileTypes: true });
42
- const concepts = [];
43
-
44
- for (const entry of entries) {
45
- if (!entry.isDirectory()) continue;
46
- const conceptDir = path.join(dir, entry.name);
47
- if (!fs.existsSync(path.join(conceptDir, 'concept.yaml'))) continue;
48
- try {
49
- // @ts-expect-error TODO(Phase 2e): type this fully
50
- concepts.push(V1Reader.readConcept(conceptDir));
51
- } catch { /* skip unreadable concepts */ }
52
- }
53
-
54
- return concepts;
55
- }
56
- }
57
-
58
- export async function migrateV1ToV2(v1Dir, v2Dir) {
59
- const concepts = V1Reader.readAll(v1Dir);
60
- const { writeConcept } = await import('./concept-writer.js');
61
- fs.mkdirSync(v2Dir, { recursive: true });
62
-
63
- for (const concept of concepts) {
64
- writeConcept(v2Dir, concept, 'canonical');
65
- }
66
- }