glossarist 0.4.49 → 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 -56
  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 -166
  571. package/src/concept-parser.ts +0 -229
  572. package/src/concept-reader.d.ts +0 -13
  573. package/src/concept-serializer.ts +0 -99
  574. package/src/concept-writer.d.ts +0 -7
  575. package/src/concept-writer.ts +0 -43
  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 -197
  579. package/src/diff/concept-diff.ts +0 -702
  580. package/src/diff/diff-patch.ts +0 -260
  581. package/src/diff/diff-renderer.ts +0 -293
  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 -487
  593. package/src/gcr-writer.d.ts +0 -22
  594. package/src/gcr-writer.ts +0 -97
  595. package/src/index.d.ts +0 -124
  596. package/src/managed-concept-collection.ts +0 -95
  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 -134
  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 -47
  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 -192
  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 -178
  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 -167
  677. package/src/reference-mention.ts +0 -114
  678. package/src/reference-resolver.ts +0 -331
  679. package/src/render-classification.ts +0 -76
  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 -64
  685. package/src/validators/asset-index.ts +0 -67
  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 -75
  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 -378
  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
@@ -0,0 +1,137 @@
1
+ // Sections builder — transforms a Quad[] into the ClassInstance[]
2
+ // shape consumed by Vue UI components (RdfInstanceSection,
3
+ // RdfInstanceHeader, RdfSourcePanel).
4
+ //
5
+ // The grouping logic is RDF-structure-driven, not Vue-specific:
6
+ // 1. Group quads by subject (NamedNode or BlankNode)
7
+ // 2. For each subject:
8
+ // - rdf:type values → classId (first type wins, multi-type joined)
9
+ // - Derive classLabel from classId local name (CURIE local part)
10
+ // - Derive label from skos:prefLabel/rdfs:label/URI segment
11
+ // - Collect remaining predicates → props
12
+ // 3. For bnode objects, recursively nest their triples as a
13
+ // nested PropValue
14
+ // 4. Return ClassInstance[] sorted by subject IRI (insertion order
15
+ // preserved when subjects appear in canonical order)
16
+ //
17
+ // This module consumes standard RDF/JS Quad[] — no custom RdfGraph
18
+ // abstraction. Any consumer (Vue UI, CLI inspector, debug tool) can
19
+ // use it.
20
+ import { RDF_TYPE, RDFS_LABEL, compactIri } from './curie.js';
21
+ import { PREFIXES } from './prefixes.js';
22
+ const SKOS_PREF_LABEL = `${PREFIXES.skos}prefLabel`;
23
+ export function quadSectionsToClassInstances(quads, options = {}) {
24
+ const language = options.language ?? 'eng';
25
+ if (!quads || quads.length === 0)
26
+ return [];
27
+ const bySubject = new Map();
28
+ const bnodeQuads = new Map();
29
+ const order = [];
30
+ for (const q of quads) {
31
+ const subj = q.subject;
32
+ const isBnode = subj.termType === 'BlankNode';
33
+ const key = subj.value;
34
+ const target = isBnode ? bnodeQuads : bySubject;
35
+ if (!target.has(key)) {
36
+ target.set(key, { subject: subj, quads: [] });
37
+ if (!isBnode)
38
+ order.push(key);
39
+ }
40
+ target.get(key).quads.push(q);
41
+ }
42
+ const result = [];
43
+ for (const key of order) {
44
+ const entry = bySubject.get(key);
45
+ result.push(resourceToClassInstance(entry.subject, entry.quads, bnodeQuads, language));
46
+ }
47
+ return result;
48
+ }
49
+ function resourceToClassInstance(subject, quads, bnodeQuads, language) {
50
+ const types = [];
51
+ const otherQuads = [];
52
+ let prefLabel = null;
53
+ let rdfsLabel = null;
54
+ for (const q of quads) {
55
+ if (q.predicate.value === RDF_TYPE) {
56
+ types.push(q.object.value);
57
+ }
58
+ else if (q.predicate.value === SKOS_PREF_LABEL) {
59
+ const objLang = q.object.language ?? '';
60
+ if (!prefLabel || (objLang === language && prefLabel.language !== language)) {
61
+ prefLabel = { value: q.object.value, language: objLang };
62
+ }
63
+ }
64
+ else if (q.predicate.value === RDFS_LABEL && !rdfsLabel) {
65
+ rdfsLabel = q.object.value;
66
+ }
67
+ else {
68
+ otherQuads.push(q);
69
+ }
70
+ }
71
+ const subjectStr = subject.value;
72
+ const rawClassId = types.length > 0 ? types[0] : '';
73
+ const classId = rawClassId ? compactIri(rawClassId) : '';
74
+ const classLabel = deriveClassLabel(rawClassId);
75
+ const label = prefLabel?.value ?? rdfsLabel ?? deriveSubjectLabel(subjectStr);
76
+ const props = [];
77
+ const seenPredKeys = new Set();
78
+ for (const q of otherQuads) {
79
+ const isBnodeObj = q.object.termType === 'BlankNode';
80
+ const formatted = formatTerm(q.object, bnodeQuads);
81
+ if (formatted === '')
82
+ continue;
83
+ const predicate = compactIri(q.predicate.value);
84
+ const dedupKey = `${predicate}#${isBnodeObj ? 'n' : 'f'}#${formatted}`;
85
+ if (seenPredKeys.has(dedupKey))
86
+ continue;
87
+ seenPredKeys.add(dedupKey);
88
+ const prop = { predicate, values: [formatted] };
89
+ if (isBnodeObj)
90
+ prop.nested = true;
91
+ props.push(prop);
92
+ }
93
+ return {
94
+ classId,
95
+ classLabel,
96
+ label,
97
+ props,
98
+ };
99
+ }
100
+ function formatTerm(term, bnodeQuads) {
101
+ switch (term.termType) {
102
+ case 'NamedNode':
103
+ return compactIri(term.value);
104
+ case 'Literal':
105
+ return term.value;
106
+ case 'BlankNode': {
107
+ const entry = bnodeQuads.get(term.value);
108
+ if (!entry)
109
+ return '';
110
+ const parts = entry.quads.map(q => {
111
+ const val = formatTerm(q.object, bnodeQuads);
112
+ return val ? `${compactIri(q.predicate.value)}: ${val}` : '';
113
+ }).filter(p => p);
114
+ return parts.join('; ');
115
+ }
116
+ default:
117
+ return '';
118
+ }
119
+ }
120
+ function deriveClassLabel(classId) {
121
+ if (!classId)
122
+ return '';
123
+ if (classId.includes(':') && !classId.includes('://')) {
124
+ return classId.slice(classId.indexOf(':') + 1);
125
+ }
126
+ const noFrag = classId.split('#').pop() ?? classId;
127
+ const last = noFrag.split('/').pop() ?? classId;
128
+ return last || classId;
129
+ }
130
+ function deriveSubjectLabel(subject) {
131
+ if (!subject)
132
+ return '';
133
+ const noFrag = subject.split('#').pop() ?? subject;
134
+ const last = noFrag.split('/').pop() ?? subject;
135
+ return last || subject;
136
+ }
137
+ //# sourceMappingURL=sections-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sections-builder.js","sourceRoot":"","sources":["../../src/rdf/sections-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { validateShacl, loadShapes, clearShapesCache, quadsToDataset } from './shacl.js';
2
+ //# sourceMappingURL=shacl-entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shacl-entry.d.ts","sourceRoot":"","sources":["../../src/rdf/shacl-entry.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
@@ -5,5 +5,5 @@
5
5
  // Usage (Node only):
6
6
  // import { validateShacl, loadShapes, clearShapesCache, quadsToDataset }
7
7
  // from 'glossarist/rdf/shacl';
8
-
9
8
  export { validateShacl, loadShapes, clearShapesCache, quadsToDataset } from './shacl.js';
9
+ //# sourceMappingURL=shacl-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shacl-entry.js","sourceRoot":"","sources":["../../src/rdf/shacl-entry.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,qEAAqE;AACrE,yCAAyC;AACzC,EAAE;AACF,qBAAqB;AACrB,2EAA2E;AAC3E,mCAAmC;AAEnC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare function loadShapes({ shapesPath }?: {
2
+ shapesPath?: string;
3
+ }): Promise<unknown>;
4
+ export declare function validateShacl(dataDataset: unknown, { shapes, shapesPath }?: {
5
+ shapes?: unknown;
6
+ shapesPath?: string;
7
+ }): Promise<import("rdf-validate-shacl/src/validation-report.js").ValidationReport>;
8
+ export declare function quadsToDataset(quads: Iterable<unknown>): unknown;
9
+ export declare function clearShapesCache(): void;
10
+ //# sourceMappingURL=shacl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shacl.d.ts","sourceRoot":"","sources":["../../src/rdf/shacl.ts"],"names":[],"mappings":"AAgEA,wBAAsB,UAAU,CAAC,EAAE,UAAwB,EAAE,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAO7G;AAaD,wBAAsB,aAAa,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,mFAI/H;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,OAAO,CAIhE;AAKD,wBAAgB,gBAAgB,SAE/B"}
@@ -1,4 +1,3 @@
1
- // @ts-nocheck — TEMPORARY during TS migration. TODO(Phase 2e): remove and type fully.
2
1
  // SHACL validator wrapper. Loads vendored concept-model shapes once and
3
2
  // validates any RDFJS Dataset against them. Mirrors the mechanics of
4
3
  // glossarist-ruby's `Glossarist::Validation::ShaclValidator`.
@@ -8,69 +7,55 @@ import { fileURLToPath } from 'node:url';
8
7
  import dataModel from '@rdfjs/data-model';
9
8
  import rdfDatasetFactory from '@rdfjs/dataset';
10
9
  import { Parser as N3Parser } from 'n3';
11
- import { default as ShaclValidator } from 'rdf-validate-shacl';
12
-
13
- // rdf-validate-shacl needs an RDFJS factory that produces both terms
14
- // and Datasets. @rdfjs/data-model is the spec-complete term factory;
15
- // @rdfjs/dataset adds the Dataset class.
16
- //
17
- // The data-model default export carries its methods on the prototype
18
- // (non-enumerable), so a spread ({ ...dataModel }) does not capture
19
- // them. List the RDF/JS surface explicitly.
10
+ import ShaclValidator from 'rdf-validate-shacl';
20
11
  const FACTORY = {
21
- namedNode: dataModel.namedNode.bind(dataModel),
22
- blankNode: dataModel.blankNode.bind(dataModel),
23
- literal: dataModel.literal.bind(dataModel),
24
- variable: dataModel.variable.bind(dataModel),
25
- defaultGraph: dataModel.defaultGraph.bind(dataModel),
26
- quad: dataModel.quad.bind(dataModel),
27
- fromTerm: dataModel.fromTerm.bind(dataModel),
28
- fromQuad: dataModel.fromQuad.bind(dataModel),
29
- dataset: rdfDatasetFactory.dataset.bind(rdfDatasetFactory),
12
+ namedNode: dataModel.namedNode.bind(dataModel),
13
+ blankNode: dataModel.blankNode.bind(dataModel),
14
+ literal: dataModel.literal.bind(dataModel),
15
+ variable: dataModel.variable.bind(dataModel),
16
+ defaultGraph: dataModel.defaultGraph.bind(dataModel),
17
+ quad: dataModel.quad.bind(dataModel),
18
+ fromTerm: dataModel.fromTerm.bind(dataModel),
19
+ fromQuad: dataModel.fromQuad.bind(dataModel),
20
+ dataset: rdfDatasetFactory.dataset.bind(rdfDatasetFactory),
30
21
  };
31
22
  const createDataset = FACTORY.dataset;
32
23
  const ShaclValidatorCtor = ShaclValidator.default ?? ShaclValidator;
33
-
34
24
  // Path to the vendored SHACL shapes (synced from glossarist/concept-model
35
25
  // via `npm run sync:model`). Resolved relative to this source file so it
36
26
  // works regardless of the consumer's cwd.
37
- const SHAPES_PATH = resolve(
38
- dirname(fileURLToPath(import.meta.url)),
39
- '..', '..',
40
- 'data', 'concept-model', 'shapes', 'glossarist.shacl.ttl',
41
- );
42
-
27
+ const SHAPES_PATH = resolve(dirname(fileURLToPath(import.meta.url)), '..', '..', 'data', 'concept-model', 'shapes', 'glossarist.shacl.ttl');
43
28
  // Note: SHAPES_PATH resolves relative to this source file. When the package
44
29
  // is installed, npm packs `data/concept-model/shapes/glossarist.shacl.ttl`
45
30
  // (see `files` in package.json) into `node_modules/glossarist/data/...`, so
46
31
  // the relative climb (`../..`) from `src/rdf/shacl.js` still lands on the
47
32
  // installed package root.
48
-
49
33
  // Cache keyed by absolute path so callers swapping shapes via the
50
34
  // `shapesPath` option (or future overrides) don't get cross-talk.
51
35
  const SHAPES_CACHE = new Map();
52
-
53
36
  async function parseTurtle(text, baseIri) {
54
- const parser = new N3Parser({ baseIRI: baseIri });
55
- const out = createDataset();
56
- return new Promise((resolve, reject) => {
57
- parser.parse(text, (err, quad) => {
58
- if (err) reject(err);
59
- else if (quad) out.add(quad);
60
- else resolve(out);
37
+ const parser = new N3Parser({ baseIRI: baseIri });
38
+ const out = createDataset();
39
+ return new Promise((resolve, reject) => {
40
+ parser.parse(text, (err, quad) => {
41
+ if (err)
42
+ reject(err);
43
+ else if (quad)
44
+ out.add(quad);
45
+ else
46
+ resolve(out);
47
+ });
61
48
  });
62
- });
63
49
  }
64
-
65
50
  export async function loadShapes({ shapesPath = SHAPES_PATH } = {}) {
66
- const cached = SHAPES_CACHE.get(shapesPath);
67
- if (cached) return cached;
68
- const text = await readFile(shapesPath, 'utf8');
69
- const dataset = await parseTurtle(text, `file://${shapesPath}`);
70
- SHAPES_CACHE.set(shapesPath, dataset);
71
- return dataset;
51
+ const cached = SHAPES_CACHE.get(shapesPath);
52
+ if (cached)
53
+ return cached;
54
+ const text = await readFile(shapesPath, 'utf8');
55
+ const dataset = await parseTurtle(text, `file://${shapesPath}`);
56
+ SHAPES_CACHE.set(shapesPath, dataset);
57
+ return dataset;
72
58
  }
73
-
74
59
  // Validates a single RDFJS Dataset against the concept-model SHACL shapes.
75
60
  // Returns the underlying ValidationReport from rdf-validate-shacl.
76
61
  //
@@ -83,23 +68,20 @@ export async function loadShapes({ shapesPath = SHAPES_PATH } = {}) {
83
68
  // pass a custom factory. Callers still control Dataset creation via
84
69
  // quadsToDataset below.
85
70
  export async function validateShacl(dataDataset, { shapes, shapesPath } = {}) {
86
- const shapesDataset = shapes ?? await loadShapes({ shapesPath });
87
- const validator = new ShaclValidatorCtor(shapesDataset);
88
- return validator.validate(dataDataset);
71
+ const shapesDataset = shapes ?? await loadShapes({ shapesPath });
72
+ const validator = new ShaclValidatorCtor(shapesDataset);
73
+ return validator.validate(dataDataset);
89
74
  }
90
-
91
- // Convenience: builds an RDFJS Dataset from a quad iterable (e.g. the
92
- // output of conceptToQuads). Useful when chaining the RDF emitters with
93
- // SHACL validation.
94
75
  export function quadsToDataset(quads) {
95
- const ds = createDataset();
96
- for (const q of quads) ds.add(q);
97
- return ds;
76
+ const ds = createDataset();
77
+ for (const q of quads)
78
+ ds.add(q);
79
+ return ds;
98
80
  }
99
-
100
81
  // Clears the in-memory shapes cache. Exposed as part of the public API
101
82
  // so callers (including tests) can force a fresh load when the
102
83
  // underlying shapes file changes during a process's lifetime.
103
84
  export function clearShapesCache() {
104
- SHAPES_CACHE.clear();
85
+ SHAPES_CACHE.clear();
105
86
  }
87
+ //# sourceMappingURL=shacl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shacl.js","sourceRoot":"","sources":["../../src/rdf/shacl.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,qEAAqE;AACrE,8DAA8D;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,iBAAiB,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAUhD,MAAM,OAAO,GAA4B;IACvC,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAY;IACzD,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAY;IACzD,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAY;IACrD,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAY;IACvD,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAY;IAC/D,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAY;IAC/C,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAY;IACvD,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAY;IACvD,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAY;CACtE,CAAC;AAEF,MAAM,aAAa,GAAmB,OAAO,CAAC,OAAyB,CAAC;AACxE,MAAM,kBAAkB,GAAI,cAAsD,CAAC,OAAO,IAAI,cAAc,CAAC;AAC7G,0EAA0E;AAC1E,yEAAyE;AACzE,0CAA0C;AAC1C,MAAM,WAAW,GAAG,OAAO,CACzB,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACvC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,sBAAsB,CAC1D,CAAC;AAEF,4EAA4E;AAC5E,2EAA2E;AAC3E,4EAA4E;AAC5E,0EAA0E;AAC1E,0BAA0B;AAE1B,kEAAkE;AAClE,kEAAkE;AAClE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAmB,CAAC;AAEhD,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,OAAe;IACtD,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,aAAa,EAA+B,CAAC;IACzD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC/B,IAAI,GAAG;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;iBAChB,IAAI,IAAI;gBAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;;gBACxB,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,EAAE,UAAU,GAAG,WAAW,KAA8B,EAAE;IACzF,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,UAAU,UAAU,EAAE,CAAC,CAAC;IAChE,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,2EAA2E;AAC3E,mEAAmE;AACnE,EAAE;AACF,WAAW;AACX,wEAAwE;AACxE,yEAAyE;AACzE,EAAE;AACF,uEAAuE;AACvE,yEAAyE;AACzE,oEAAoE;AACpE,wBAAwB;AACxB,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,WAAoB,EAAE,EAAE,MAAM,EAAE,UAAU,KAAgD,EAAE;IAC9H,MAAM,aAAa,GAAG,MAAM,IAAI,MAAM,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,IAAI,kBAAkB,CAAC,aAAsB,CAAC,CAAC;IACjE,OAAO,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAwB;IACrD,MAAM,EAAE,GAAG,aAAa,EAA+B,CAAC;IACxD,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,uEAAuE;AACvE,+DAA+D;AAC/D,8DAA8D;AAC9D,MAAM,UAAU,gBAAgB;IAC9B,YAAY,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Literal, NamedNode } from '@rdfjs/types';
2
+ export declare const namedNode: <Iri extends string = string>(value: Iri) => import("n3").NamedNode<Iri>;
3
+ export declare const blankNode: (value?: string) => import("n3").BlankNode;
4
+ export declare const defaultGraph: () => import("n3").DefaultGraph;
5
+ export declare const quad: {
6
+ (subject: import("@rdfjs/types").Quad_Subject, predicate: import("@rdfjs/types").Quad_Predicate, object: import("@rdfjs/types").Quad_Object, graph?: import("@rdfjs/types").Quad_Graph): import("n3").Quad;
7
+ <Q_In extends import("@rdfjs/types").BaseQuad = import("@rdfjs/types").Quad, Q_Out extends import("n3").BaseQuad = import("n3").Quad>(subject: Q_In["subject"], predicate: Q_In["predicate"], object: Q_In["object"], graph?: Q_In["graph"]): Q_Out;
8
+ };
9
+ export declare function literal(value: string, languageOrDatatype?: string | NamedNode | null): Literal;
10
+ //# sourceMappingURL=terms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terms.d.ts","sourceRoot":"","sources":["../../src/rdf/terms.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEvD,eAAO,MAAM,SAAS,0EAA0C,CAAC;AACjE,eAAO,MAAM,SAAS,4CAA0C,CAAC;AACjE,eAAO,MAAM,YAAY,iCAA6C,CAAC;AACvE,eAAO,MAAM,IAAI;;;CAAqC,CAAC;AAEvD,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAG9F"}
@@ -5,11 +5,14 @@
5
5
  // We use n3's DataFactory because it produces terms that are
6
6
  // interchangeable with @rdfjs/data-model output and because the rest
7
7
  // of the RDF layer (N3Parser, N3Writer) already speaks n3.
8
-
9
8
  import { DataFactory } from 'n3';
10
-
11
9
  export const namedNode = DataFactory.namedNode.bind(DataFactory);
12
10
  export const blankNode = DataFactory.blankNode.bind(DataFactory);
13
- export const literal = DataFactory.literal.bind(DataFactory);
14
11
  export const defaultGraph = DataFactory.defaultGraph.bind(DataFactory);
15
12
  export const quad = DataFactory.quad.bind(DataFactory);
13
+ export function literal(value, languageOrDatatype) {
14
+ if (languageOrDatatype == null)
15
+ return DataFactory.literal(value);
16
+ return DataFactory.literal(value, languageOrDatatype);
17
+ }
18
+ //# sourceMappingURL=terms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terms.js","sourceRoot":"","sources":["../../src/rdf/terms.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,uEAAuE;AACvE,iCAAiC;AACjC,EAAE;AACF,6DAA6D;AAC7D,qEAAqE;AACrE,2DAA2D;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAGjC,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAEvD,MAAM,UAAU,OAAO,CAAC,KAAa,EAAE,kBAA8C;IACnF,IAAI,kBAAkB,IAAI,IAAI;QAAE,OAAO,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClE,OAAO,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAwC,CAAC,CAAC;AAC9E,CAAC"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * @typedef {Object} DatasetVersionInput
3
+ * @property {string} registerId
4
+ * @property {string} version
5
+ * @property {string} versionIri
6
+ * @property {string} datasetIri
7
+ * @property {string} generatedAt — ISO date-time
8
+ * @property {string} [previousVersionIri]
9
+ * @property {string} [changeSummary]
10
+ * @property {string} [associatedAgentIri]
11
+ */
12
+ /**
13
+ * @typedef {Object} VersionHistoryEntry
14
+ * @property {string} version
15
+ * @property {string} generatedAt
16
+ * @property {string} [changeSummary]
17
+ */
18
+ /**
19
+ * @typedef {Object} VersionEmitAllInput
20
+ * @property {string} registerId
21
+ * @property {string} datasetIri
22
+ * @property {readonly VersionHistoryEntry[]} versions
23
+ * @property {string} [associatedAgentIri]
24
+ */
25
+ export interface DatasetVersionInput {
26
+ registerId: string;
27
+ version: string;
28
+ versionIri: string;
29
+ datasetIri: string;
30
+ generatedAt: string;
31
+ previousVersionIri?: string;
32
+ changeSummary?: string;
33
+ associatedAgentIri?: string;
34
+ }
35
+ export interface VersionHistoryEntry {
36
+ version: string;
37
+ generatedAt: string;
38
+ changeSummary?: string;
39
+ }
40
+ export interface VersionEmitAllInput {
41
+ registerId: string;
42
+ datasetIri: string;
43
+ versions?: readonly VersionHistoryEntry[];
44
+ associatedAgentIri?: string;
45
+ }
46
+ /**
47
+ * Emits a single prov:Entity version with its provenance chain.
48
+ */
49
+ export declare function versionToQuads(input: DatasetVersionInput): Generator<import("n3").Quad, void, unknown>;
50
+ /**
51
+ * Emits the full version history chain. Versions are linked in
52
+ * sequence via prov:wasRevisionOf (newest → previous → ... → oldest).
53
+ *
54
+ * The version IRI is constructed as `${datasetIri}versions/${version}`.
55
+ */
56
+ export declare function versionHistoryToQuads(input: VersionEmitAllInput): Generator<import("n3").Quad, void, unknown>;
57
+ //# sourceMappingURL=version-emitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-emitter.d.ts","sourceRoot":"","sources":["../../src/rdf/version-emitter.ts"],"names":[],"mappings":"AA8BA;;;;;;;;;;GAUG;AACH;;;;;GAKG;AACH;;;;;;GAMG;AAEH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AACD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AACD,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC1C,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAiB,cAAc,CAAC,KAAK,EAAE,mBAAmB,+CAczD;AAED;;;;;GAKG;AACH,wBAAiB,qBAAqB,CAAC,KAAK,EAAE,mBAAmB,+CAgBhE"}
@@ -0,0 +1,68 @@
1
+ // Version emitter — emits prov:Entity version chain per dataset.
2
+ // Mirrors concept-browser's version-emitter.ts.
3
+ //
4
+ // Each version of a dataset becomes a prov:Entity typed resource with:
5
+ // - dcterms:isVersionOf → the dataset
6
+ // - prov:wasRevisionOf → previous version (when provided)
7
+ // - prov:generatedAtTime (xsd:dateTime)
8
+ // - dcterms:description (optional change summary)
9
+ // - prov:wasAssociatedWith (optional agent)
10
+ import { namedNode, literal, quad } from './terms.js';
11
+ import { PREFIXES } from './prefixes.js';
12
+ import { RDF_TYPE } from './curie.js';
13
+ const PROV_NS = PREFIXES.prov;
14
+ const DCTERMS_NS = PREFIXES.dcterms;
15
+ const XSD_NS = PREFIXES.xsd;
16
+ const PROV = {
17
+ Entity: `${PROV_NS}Entity`,
18
+ wasRevisionOf: `${PROV_NS}wasRevisionOf`,
19
+ generatedAtTime: `${PROV_NS}generatedAtTime`,
20
+ wasAssociatedWith: `${PROV_NS}wasAssociatedWith`,
21
+ };
22
+ const DCTERMS = {
23
+ isVersionOf: `${DCTERMS_NS}isVersionOf`,
24
+ description: `${DCTERMS_NS}description`,
25
+ };
26
+ const XSD_DATE_TIME = `${XSD_NS}dateTime`;
27
+ /**
28
+ * Emits a single prov:Entity version with its provenance chain.
29
+ */
30
+ export function* versionToQuads(input) {
31
+ const v = namedNode(input.versionIri);
32
+ yield quad(v, namedNode(RDF_TYPE), namedNode(PROV.Entity));
33
+ yield quad(v, namedNode(DCTERMS.isVersionOf), namedNode(input.datasetIri));
34
+ if (input.previousVersionIri) {
35
+ yield quad(v, namedNode(PROV.wasRevisionOf), namedNode(input.previousVersionIri));
36
+ }
37
+ yield quad(v, namedNode(PROV.generatedAtTime), literal(input.generatedAt, namedNode(XSD_DATE_TIME)));
38
+ if (input.changeSummary) {
39
+ yield quad(v, namedNode(DCTERMS.description), literal(input.changeSummary));
40
+ }
41
+ if (input.associatedAgentIri) {
42
+ yield quad(v, namedNode(PROV.wasAssociatedWith), namedNode(input.associatedAgentIri));
43
+ }
44
+ }
45
+ /**
46
+ * Emits the full version history chain. Versions are linked in
47
+ * sequence via prov:wasRevisionOf (newest → previous → ... → oldest).
48
+ *
49
+ * The version IRI is constructed as `${datasetIri}versions/${version}`.
50
+ */
51
+ export function* versionHistoryToQuads(input) {
52
+ let previousIri;
53
+ for (const v of input.versions ?? []) {
54
+ const versionIri = `${input.datasetIri}versions/${v.version}`;
55
+ yield* versionToQuads({
56
+ registerId: input.registerId,
57
+ version: v.version,
58
+ versionIri,
59
+ datasetIri: input.datasetIri,
60
+ generatedAt: v.generatedAt,
61
+ previousVersionIri: previousIri,
62
+ changeSummary: v.changeSummary,
63
+ associatedAgentIri: input.associatedAgentIri,
64
+ });
65
+ previousIri = versionIri;
66
+ }
67
+ }
68
+ //# sourceMappingURL=version-emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-emitter.js","sourceRoot":"","sources":["../../src/rdf/version-emitter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @typedef {Object} VocabTerm
3
+ * @property {string} iri — absolute IRI or CURIE (resolved via PREFIXES)
4
+ * @property {string} label — human-readable label (typically English)
5
+ */
6
+ /**
7
+ * @typedef {Object} VocabScheme
8
+ * @property {string} schemeIri — absolute IRI or CURIE
9
+ * @property {string} label
10
+ * @property {readonly VocabTerm[]} terms
11
+ */
12
+ export interface VocabTerm {
13
+ iri: string;
14
+ label: string;
15
+ }
16
+ export interface VocabScheme {
17
+ schemeIri: string;
18
+ label: string;
19
+ terms?: readonly VocabTerm[];
20
+ }
21
+ /**
22
+ * Emits SKOS ConceptScheme + Concept quads for one scheme.
23
+ */
24
+ export declare function vocabularySchemeToQuads(scheme: VocabScheme): Generator<import("n3").Quad, void, unknown>;
25
+ /**
26
+ * Emits SKOS ConceptScheme + Concept quads for many schemes.
27
+ *
28
+ * @param {readonly VocabScheme[]} schemes
29
+ * @returns {Generator<Quad, void, unknown>}
30
+ */
31
+ export declare function vocabularyToQuads(schemes: readonly VocabScheme[]): Generator<import("n3").Quad, void, unknown>;
32
+ //# sourceMappingURL=vocabulary-emitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vocabulary-emitter.d.ts","sourceRoot":"","sources":["../../src/rdf/vocabulary-emitter.ts"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH;;;;;GAKG;AAEH,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAiB,uBAAuB,CAAC,MAAM,EAAE,WAAW,+CAgB3D;AAED;;;;;GAKG;AACH,wBAAiB,iBAAiB,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,+CAIjE"}
@@ -0,0 +1,46 @@
1
+ // Vocabulary graph emitter — emits SKOS ConceptSchemes for the
2
+ // enumeration IRIs that glossarist emits in instance data
3
+ // (gloss:status/*, gloss:entstatus/*, gloss:norm/*, gloss:srcstatus/*,
4
+ // gloss:srctype/*, gloss:datetype/*, gloss:rel/*, etc.).
5
+ //
6
+ // Each enumeration value becomes a skos:Concept in its corresponding
7
+ // skos:ConceptScheme. The scheme uses skos:hasTopConcept to link to
8
+ // its members; members use skos:inScheme to link back.
9
+ //
10
+ // Accepts the schemes data as a plain object — no fs deps, browser-safe.
11
+ // Callers can load the JSON file themselves (Node) or construct the
12
+ // data inline. CURIEs in the input are resolved to absolute IRIs via
13
+ // PREFIXES.
14
+ import { namedNode, literal, quad } from './terms.js';
15
+ import { PREFIXES } from './prefixes.js';
16
+ import { resolveIri, RDF_TYPE, RDFS_LABEL } from './curie.js';
17
+ const SKOS_NS = PREFIXES.skos;
18
+ /**
19
+ * Emits SKOS ConceptScheme + Concept quads for one scheme.
20
+ */
21
+ export function* vocabularySchemeToQuads(scheme) {
22
+ const schemeIri = resolveIri(scheme.schemeIri);
23
+ const schemeSubject = namedNode(schemeIri);
24
+ yield quad(schemeSubject, namedNode(RDF_TYPE), namedNode(`${SKOS_NS}ConceptScheme`));
25
+ yield quad(schemeSubject, namedNode(RDFS_LABEL), literal(scheme.label, 'en'));
26
+ for (const term of scheme.terms ?? []) {
27
+ const termIri = resolveIri(term.iri);
28
+ const termSubject = namedNode(termIri);
29
+ yield quad(termSubject, namedNode(RDF_TYPE), namedNode(`${SKOS_NS}Concept`));
30
+ yield quad(termSubject, namedNode(RDFS_LABEL), literal(term.label, 'en'));
31
+ yield quad(termSubject, namedNode(`${SKOS_NS}inScheme`), schemeSubject);
32
+ yield quad(schemeSubject, namedNode(`${SKOS_NS}hasTopConcept`), termSubject);
33
+ }
34
+ }
35
+ /**
36
+ * Emits SKOS ConceptScheme + Concept quads for many schemes.
37
+ *
38
+ * @param {readonly VocabScheme[]} schemes
39
+ * @returns {Generator<Quad, void, unknown>}
40
+ */
41
+ export function* vocabularyToQuads(schemes) {
42
+ for (const scheme of schemes ?? []) {
43
+ yield* vocabularySchemeToQuads(scheme);
44
+ }
45
+ }
46
+ //# sourceMappingURL=vocabulary-emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vocabulary-emitter.js","sourceRoot":"","sources":["../../src/rdf/vocabulary-emitter.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,0DAA0D;AAC1D,uEAAuE;AACvE,yDAAyD;AACzD,EAAE;AACF,qEAAqE;AACrE,oEAAoE;AACpE,uDAAuD;AACvD,EAAE;AACF,yEAAyE;AACzE,oEAAoE;AACpE,qEAAqE;AACrE,YAAY;AAEZ,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;AAwB9B;;GAEG;AACH,MAAM,SAAS,CAAC,CAAC,uBAAuB,CAAC,MAAmB;IAC1D,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAE3C,MAAM,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,GAAG,OAAO,eAAe,CAAC,CAAC,CAAC;IACrF,MAAM,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAE9E,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QAEvC,MAAM,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,GAAG,OAAO,SAAS,CAAC,CAAC,CAAC;QAC7E,MAAM,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1E,MAAM,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,OAAO,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC;QACxE,MAAM,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG,OAAO,eAAe,CAAC,EAAE,WAAW,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,SAAS,CAAC,CAAC,iBAAiB,CAAC,OAA+B;IAChE,KAAK,MAAM,MAAM,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QACnC,KAAK,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Quad } from '@rdfjs/types';
2
+ interface WriteTurtleOptions {
3
+ prefixes?: Record<string, string>;
4
+ }
5
+ export declare function writeTurtleSync(quads: Iterable<Quad>, options?: WriteTurtleOptions): string;
6
+ export {};
7
+ //# sourceMappingURL=write-turtle-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-turtle-sync.d.ts","sourceRoot":"","sources":["../../src/rdf/write-turtle-sync.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAQ,MAAM,cAAc,CAAC;AAI/C,UAAU,kBAAkB;IAAG,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE;AAKlE,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAE,kBAAuB,GAAG,MAAM,CAiB/F"}