glossarist 0.4.50 → 0.4.52

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 (709) 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 +25 -0
  94. package/dist/index.d.ts.map +1 -0
  95. package/dist/index.js +38 -0
  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/utils/external-detection.d.ts +38 -0
  494. package/dist/utils/external-detection.d.ts.map +1 -0
  495. package/dist/utils/external-detection.js +55 -0
  496. package/dist/utils/external-detection.js.map +1 -0
  497. package/dist/uuid.d.ts +4 -0
  498. package/dist/uuid.d.ts.map +1 -0
  499. package/dist/uuid.js +23 -0
  500. package/dist/uuid.js.map +1 -0
  501. package/dist/v1-reader.d.ts +8 -0
  502. package/dist/v1-reader.d.ts.map +1 -0
  503. package/dist/v1-reader.js +56 -0
  504. package/dist/v1-reader.js.map +1 -0
  505. package/dist/validators/asset-index.d.ts +23 -0
  506. package/dist/validators/asset-index.d.ts.map +1 -0
  507. package/dist/validators/asset-index.js +58 -0
  508. package/dist/validators/asset-index.js.map +1 -0
  509. package/dist/validators/binary-has-part-redundancy-rule.d.ts +8 -0
  510. package/dist/validators/binary-has-part-redundancy-rule.d.ts.map +1 -0
  511. package/dist/validators/binary-has-part-redundancy-rule.js +57 -0
  512. package/dist/validators/binary-has-part-redundancy-rule.js.map +1 -0
  513. package/dist/validators/concept-validator.d.ts +21 -0
  514. package/dist/validators/concept-validator.d.ts.map +1 -0
  515. package/dist/validators/concept-validator.js +76 -0
  516. package/dist/validators/concept-validator.js.map +1 -0
  517. package/dist/validators/delimiting-coherence-rule.d.ts +8 -0
  518. package/dist/validators/delimiting-coherence-rule.d.ts.map +1 -0
  519. package/dist/validators/delimiting-coherence-rule.js +72 -0
  520. package/dist/validators/delimiting-coherence-rule.js.map +1 -0
  521. package/dist/validators/extensional-completeness.d.ts +18 -0
  522. package/dist/validators/extensional-completeness.d.ts.map +1 -0
  523. package/dist/validators/extensional-completeness.js +41 -0
  524. package/dist/validators/extensional-completeness.js.map +1 -0
  525. package/dist/validators/external-concept-shape-rule.d.ts +8 -0
  526. package/dist/validators/external-concept-shape-rule.d.ts.map +1 -0
  527. package/dist/validators/external-concept-shape-rule.js +48 -0
  528. package/dist/validators/external-concept-shape-rule.js.map +1 -0
  529. package/dist/validators/gcr-validator.d.ts +11 -0
  530. package/dist/validators/gcr-validator.d.ts.map +1 -0
  531. package/dist/validators/gcr-validator.js +76 -0
  532. package/dist/validators/gcr-validator.js.map +1 -0
  533. package/dist/validators/hyperedge-coherence-rule.d.ts +9 -0
  534. package/dist/validators/hyperedge-coherence-rule.d.ts.map +1 -0
  535. package/dist/validators/hyperedge-coherence-rule.js +78 -0
  536. package/dist/validators/hyperedge-coherence-rule.js.map +1 -0
  537. package/dist/validators/index.d.ts +21 -0
  538. package/dist/validators/index.d.ts.map +1 -0
  539. package/{src/validators/index.ts → dist/validators/index.js} +25 -51
  540. package/dist/validators/index.js.map +1 -0
  541. package/dist/validators/partitive-relation-coherence-rule.d.ts +2 -0
  542. package/dist/validators/partitive-relation-coherence-rule.d.ts.map +1 -0
  543. package/{src/validators/partitive-relation-coherence-rule.ts → dist/validators/partitive-relation-coherence-rule.js} +1 -1
  544. package/dist/validators/partitive-relation-coherence-rule.js.map +1 -0
  545. package/dist/validators/ref-keys.d.ts +8 -0
  546. package/dist/validators/ref-keys.d.ts.map +1 -0
  547. package/dist/validators/ref-keys.js +27 -0
  548. package/dist/validators/ref-keys.js.map +1 -0
  549. package/dist/validators/register-validator.d.ts +10 -0
  550. package/dist/validators/register-validator.d.ts.map +1 -0
  551. package/dist/validators/register-validator.js +18 -0
  552. package/dist/validators/register-validator.js.map +1 -0
  553. package/dist/validators/relationship-type-rule.d.ts +13 -0
  554. package/dist/validators/relationship-type-rule.d.ts.map +1 -0
  555. package/dist/validators/relationship-type-rule.js +34 -0
  556. package/dist/validators/relationship-type-rule.js.map +1 -0
  557. package/dist/validators/sourced-from-locality-rule.d.ts +8 -0
  558. package/dist/validators/sourced-from-locality-rule.d.ts.map +1 -0
  559. package/dist/validators/sourced-from-locality-rule.js +37 -0
  560. package/dist/validators/sourced-from-locality-rule.js.map +1 -0
  561. package/dist/validators/v3-rules.d.ts +60 -0
  562. package/dist/validators/v3-rules.d.ts.map +1 -0
  563. package/dist/validators/v3-rules.js +327 -0
  564. package/dist/validators/v3-rules.js.map +1 -0
  565. package/dist/validators/validation-error.d.ts +13 -0
  566. package/dist/validators/validation-error.d.ts.map +1 -0
  567. package/dist/validators/validation-error.js +17 -0
  568. package/dist/validators/validation-error.js.map +1 -0
  569. package/dist/validators/validation-result.d.ts +17 -0
  570. package/dist/validators/validation-result.d.ts.map +1 -0
  571. package/dist/validators/validation-result.js +47 -0
  572. package/dist/validators/validation-result.js.map +1 -0
  573. package/dist/validators/validation-rule.d.ts +10 -0
  574. package/dist/validators/validation-rule.d.ts.map +1 -0
  575. package/dist/validators/validation-rule.js +17 -0
  576. package/dist/validators/validation-rule.js.map +1 -0
  577. package/package.json +37 -42
  578. package/src/concept-collection.ts +0 -172
  579. package/src/concept-parser.ts +0 -235
  580. package/src/concept-reader.d.ts +0 -13
  581. package/src/concept-serializer.ts +0 -110
  582. package/src/concept-writer.d.ts +0 -7
  583. package/src/concept-writer.ts +0 -47
  584. package/src/diff/canonical-json.ts +0 -29
  585. package/src/diff/change.ts +0 -175
  586. package/src/diff/collection-diff.ts +0 -245
  587. package/src/diff/concept-diff.ts +0 -853
  588. package/src/diff/diff-patch.ts +0 -276
  589. package/src/diff/diff-renderer.ts +0 -348
  590. package/src/diff/identity.ts +0 -33
  591. package/src/diff/index.d.ts +0 -242
  592. package/src/diff/index.ts +0 -50
  593. package/src/diff/list-diff.ts +0 -231
  594. package/src/diff/similarity.ts +0 -20
  595. package/src/diff/text-diff.ts +0 -167
  596. package/src/entity-directory.ts +0 -43
  597. package/src/errors.d.ts +0 -11
  598. package/src/errors.ts +0 -24
  599. package/src/gcr-reader.d.ts +0 -65
  600. package/src/gcr-reader.ts +0 -512
  601. package/src/gcr-writer.d.ts +0 -22
  602. package/src/gcr-writer.ts +0 -99
  603. package/src/index.d.ts +0 -124
  604. package/src/index.ts +0 -92
  605. package/src/managed-concept-collection.ts +0 -130
  606. package/src/migration/hyperedge-migrator.ts +0 -104
  607. package/src/models/abstract-hyperedge.ts +0 -164
  608. package/src/models/base.ts +0 -110
  609. package/src/models/bibliography-data.ts +0 -64
  610. package/src/models/bibliography-entry.ts +0 -40
  611. package/src/models/citation.ts +0 -98
  612. package/src/models/concept-date.ts +0 -48
  613. package/src/models/concept-ref.ts +0 -64
  614. package/src/models/concept-reference.ts +0 -50
  615. package/src/models/concept-source.ts +0 -96
  616. package/src/models/concept-system-type.ts +0 -39
  617. package/src/models/concept-system.ts +0 -152
  618. package/src/models/concept.ts +0 -499
  619. package/src/models/dataset-color.ts +0 -88
  620. package/src/models/designation-relationship.ts +0 -39
  621. package/src/models/designation.ts +0 -297
  622. package/src/models/detailed-definition.ts +0 -92
  623. package/src/models/enum.ts +0 -60
  624. package/src/models/equivalence-degree.ts +0 -34
  625. package/src/models/figure.ts +0 -110
  626. package/src/models/formula.ts +0 -36
  627. package/src/models/gcr-metadata.ts +0 -118
  628. package/src/models/gcr-statistics.ts +0 -76
  629. package/src/models/generic-hyperedge.ts +0 -72
  630. package/src/models/generic-member.ts +0 -80
  631. package/src/models/grammar-info.ts +0 -78
  632. package/src/models/hyperedge-colors.ts +0 -87
  633. package/src/models/hyperedge-index.ts +0 -101
  634. package/src/models/hyperedge-member.ts +0 -121
  635. package/src/models/hyperedge-registry.ts +0 -145
  636. package/src/models/index.d.ts +0 -586
  637. package/src/models/locality.ts +0 -34
  638. package/src/models/localized-concept.ts +0 -284
  639. package/src/models/localized-string.ts +0 -32
  640. package/src/models/multiplicity.ts +0 -134
  641. package/src/models/non-verb-rep.ts +0 -48
  642. package/src/models/non-verbal-entity.ts +0 -65
  643. package/src/models/non-verbal-reference.ts +0 -73
  644. package/src/models/non-verbal-references.ts +0 -29
  645. package/src/models/partitive-enumeration.ts +0 -27
  646. package/src/models/partitive-hyperedge.ts +0 -90
  647. package/src/models/partitive-member.ts +0 -56
  648. package/src/models/plurality-marker.ts +0 -31
  649. package/src/models/pronunciation.ts +0 -40
  650. package/src/models/register.ts +0 -315
  651. package/src/models/registrable.ts +0 -48
  652. package/src/models/related-concept.ts +0 -117
  653. package/src/models/relation-categories.ts +0 -167
  654. package/src/models/relation-colors.ts +0 -90
  655. package/src/models/relation-loader.ts +0 -115
  656. package/src/models/section.ts +0 -61
  657. package/src/models/sequential-hyperedge.ts +0 -70
  658. package/src/models/shared-non-verbal-entity.ts +0 -36
  659. package/src/models/table.ts +0 -36
  660. package/src/rdf/agents-emitter.ts +0 -137
  661. package/src/rdf/bibliography-emitter.ts +0 -126
  662. package/src/rdf/bnode-id.ts +0 -55
  663. package/src/rdf/build-activity-emitter.ts +0 -129
  664. package/src/rdf/curie.ts +0 -46
  665. package/src/rdf/dataset-emitter.ts +0 -170
  666. package/src/rdf/deterministic-id.ts +0 -69
  667. package/src/rdf/document-writer.ts +0 -87
  668. package/src/rdf/gloss-concept.ts +0 -115
  669. package/src/rdf/gloss-designation.ts +0 -72
  670. package/src/rdf/gloss-detailed-definition.ts +0 -69
  671. package/src/rdf/gloss-localized-concept.ts +0 -79
  672. package/src/rdf/gloss-non-verbal-rep.ts +0 -202
  673. package/src/rdf/gloss-partitive-relation.ts +0 -89
  674. package/src/rdf/gloss-source.ts +0 -56
  675. package/src/rdf/group-emitter.ts +0 -133
  676. package/src/rdf/image-variant-emitter.ts +0 -80
  677. package/src/rdf/index.d.ts +0 -371
  678. package/src/rdf/predicates.d.ts +0 -527
  679. package/src/rdf/predicates.ts +0 -287
  680. package/src/rdf/provenance-emitter.ts +0 -87
  681. package/src/rdf/sections-builder.ts +0 -190
  682. package/src/rdf/shacl-entry.d.ts +0 -6
  683. package/src/rdf/version-emitter.ts +0 -97
  684. package/src/rdf/vocabulary-emitter.ts +0 -67
  685. package/src/rdf/write-turtle-sync.ts +0 -179
  686. package/src/reference-mention.ts +0 -114
  687. package/src/reference-resolver.ts +0 -361
  688. package/src/render-classification.ts +0 -85
  689. package/src/sort.ts +0 -22
  690. package/src/transforms/concept-to-gloss.transform.ts +0 -81
  691. package/src/transforms/index.d.ts +0 -26
  692. package/src/uuid.ts +0 -32
  693. package/src/v1-reader.ts +0 -66
  694. package/src/validators/asset-index.ts +0 -72
  695. package/src/validators/binary-has-part-redundancy-rule.ts +0 -67
  696. package/src/validators/concept-validator.ts +0 -93
  697. package/src/validators/delimiting-coherence-rule.ts +0 -105
  698. package/src/validators/external-concept-shape-rule.ts +0 -60
  699. package/src/validators/gcr-validator.ts +0 -76
  700. package/src/validators/hyperedge-coherence-rule.ts +0 -98
  701. package/src/validators/index.d.ts +0 -43
  702. package/src/validators/ref-keys.ts +0 -31
  703. package/src/validators/register-validator.ts +0 -18
  704. package/src/validators/relationship-type-rule.ts +0 -39
  705. package/src/validators/sourced-from-locality-rule.ts +0 -53
  706. package/src/validators/v3-rules.ts +0 -382
  707. package/src/validators/validation-error.ts +0 -19
  708. package/src/validators/validation-result.ts +0 -52
  709. 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"}
@@ -7,70 +7,55 @@ import { fileURLToPath } from 'node:url';
7
7
  import dataModel from '@rdfjs/data-model';
8
8
  import rdfDatasetFactory from '@rdfjs/dataset';
9
9
  import { Parser as N3Parser } from 'n3';
10
- import { default as ShaclValidator } from 'rdf-validate-shacl';
11
-
12
- // rdf-validate-shacl needs an RDFJS factory that produces both terms
13
- // and Datasets. @rdfjs/data-model is the spec-complete term factory;
14
- // @rdfjs/dataset adds the Dataset class.
15
- //
16
- // The data-model default export carries its methods on the prototype
17
- // (non-enumerable), so a spread ({ ...dataModel }) does not capture
18
- // them. List the RDF/JS surface explicitly.
10
+ import ShaclValidator from 'rdf-validate-shacl';
19
11
  const FACTORY = {
20
- namedNode: dataModel.namedNode.bind(dataModel),
21
- blankNode: dataModel.blankNode.bind(dataModel),
22
- literal: dataModel.literal.bind(dataModel),
23
- variable: dataModel.variable.bind(dataModel),
24
- defaultGraph: dataModel.defaultGraph.bind(dataModel),
25
- quad: dataModel.quad.bind(dataModel),
26
- fromTerm: dataModel.fromTerm.bind(dataModel),
27
- fromQuad: dataModel.fromQuad.bind(dataModel),
28
- 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),
29
21
  };
30
22
  const createDataset = FACTORY.dataset;
31
- // @ts-expect-error TODO(Phase 2e): type this fully
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
  //
@@ -82,25 +67,21 @@ export async function loadShapes({ shapesPath = SHAPES_PATH } = {}) {
82
67
  // library's default env (from defaultEnv.js) provides one — we no longer
83
68
  // pass a custom factory. Callers still control Dataset creation via
84
69
  // quadsToDataset below.
85
- // @ts-expect-error TODO(Phase 2e): type this fully
86
70
  export async function validateShacl(dataDataset, { shapes, shapesPath } = {}) {
87
- const shapesDataset = shapes ?? await loadShapes({ shapesPath });
88
- const validator = new ShaclValidatorCtor(shapesDataset);
89
- return validator.validate(dataDataset);
71
+ const shapesDataset = shapes ?? await loadShapes({ shapesPath });
72
+ const validator = new ShaclValidatorCtor(shapesDataset);
73
+ return validator.validate(dataDataset);
90
74
  }
91
-
92
- // Convenience: builds an RDFJS Dataset from a quad iterable (e.g. the
93
- // output of conceptToQuads). Useful when chaining the RDF emitters with
94
- // SHACL validation.
95
75
  export function quadsToDataset(quads) {
96
- const ds = createDataset();
97
- for (const q of quads) ds.add(q);
98
- return ds;
76
+ const ds = createDataset();
77
+ for (const q of quads)
78
+ ds.add(q);
79
+ return ds;
99
80
  }
100
-
101
81
  // Clears the in-memory shapes cache. Exposed as part of the public API
102
82
  // so callers (including tests) can force a fresh load when the
103
83
  // underlying shapes file changes during a process's lifetime.
104
84
  export function clearShapesCache() {
105
- SHAPES_CACHE.clear();
85
+ SHAPES_CACHE.clear();
106
86
  }
87
+ //# sourceMappingURL=shacl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shacl.js","sourceRoot":"","sources":["../../src/rdf/shacl.ts"],"names":[],"mappings":"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"}
@@ -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"}