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.
- package/dist/compiled-format.d.ts +43 -0
- package/dist/compiled-format.d.ts.map +1 -0
- package/{src/compiled-format.ts → dist/compiled-format.js} +28 -46
- package/dist/compiled-format.js.map +1 -0
- package/dist/concept-collection.d.ts +39 -0
- package/dist/concept-collection.d.ts.map +1 -0
- package/dist/concept-collection.js +127 -0
- package/dist/concept-collection.js.map +1 -0
- package/dist/concept-diff.d.ts +14 -0
- package/dist/concept-diff.d.ts.map +1 -0
- package/{src/concept-diff.ts → dist/concept-diff.js} +2 -20
- package/dist/concept-diff.js.map +1 -0
- package/dist/concept-parser.d.ts +11 -0
- package/dist/concept-parser.d.ts.map +1 -0
- package/dist/concept-parser.js +209 -0
- package/dist/concept-parser.js.map +1 -0
- package/dist/concept-reader.d.ts +55 -0
- package/dist/concept-reader.d.ts.map +1 -0
- package/{src/concept-reader.ts → dist/concept-reader.js} +70 -76
- package/dist/concept-reader.js.map +1 -0
- package/dist/concept-serializer.d.ts +9 -0
- package/dist/concept-serializer.d.ts.map +1 -0
- package/dist/concept-serializer.js +87 -0
- package/dist/concept-serializer.js.map +1 -0
- package/dist/concept-writer.d.ts +10 -0
- package/dist/concept-writer.d.ts.map +1 -0
- package/dist/concept-writer.js +28 -0
- package/dist/concept-writer.js.map +1 -0
- package/dist/dataset-asset.d.ts +49 -0
- package/dist/dataset-asset.d.ts.map +1 -0
- package/{src/dataset-asset.ts → dist/dataset-asset.js} +16 -33
- package/dist/dataset-asset.js.map +1 -0
- package/dist/diff/canonical-json.d.ts +7 -0
- package/dist/diff/canonical-json.d.ts.map +1 -0
- package/dist/diff/canonical-json.js +28 -0
- package/dist/diff/canonical-json.js.map +1 -0
- package/dist/diff/change.d.ts +67 -0
- package/dist/diff/change.d.ts.map +1 -0
- package/dist/diff/change.js +131 -0
- package/dist/diff/change.js.map +1 -0
- package/dist/diff/collection-diff.d.ts +50 -0
- package/dist/diff/collection-diff.d.ts.map +1 -0
- package/dist/diff/collection-diff.js +182 -0
- package/dist/diff/collection-diff.js.map +1 -0
- package/dist/diff/concept-diff.d.ts +188 -0
- package/dist/diff/concept-diff.d.ts.map +1 -0
- package/dist/diff/concept-diff.js +624 -0
- package/dist/diff/concept-diff.js.map +1 -0
- package/dist/diff/diff-patch.d.ts +7 -0
- package/dist/diff/diff-patch.d.ts.map +1 -0
- package/dist/diff/diff-patch.js +225 -0
- package/dist/diff/diff-patch.js.map +1 -0
- package/dist/diff/diff-renderer.d.ts +44 -0
- package/dist/diff/diff-renderer.d.ts.map +1 -0
- package/dist/diff/diff-renderer.js +263 -0
- package/dist/diff/diff-renderer.js.map +1 -0
- package/dist/diff/identity.d.ts +2 -0
- package/dist/diff/identity.d.ts.map +1 -0
- package/dist/diff/identity.js +29 -0
- package/dist/diff/identity.js.map +1 -0
- package/dist/diff/index.d.ts +8 -0
- package/dist/diff/index.d.ts.map +1 -0
- package/dist/diff/index.js +8 -0
- package/dist/diff/index.js.map +1 -0
- package/dist/diff/list-diff.d.ts +36 -0
- package/dist/diff/list-diff.d.ts.map +1 -0
- package/dist/diff/list-diff.js +185 -0
- package/dist/diff/list-diff.js.map +1 -0
- package/dist/diff/similarity.d.ts +4 -0
- package/dist/diff/similarity.d.ts.map +1 -0
- package/dist/diff/similarity.js +20 -0
- package/dist/diff/similarity.js.map +1 -0
- package/dist/diff/text-diff.d.ts +42 -0
- package/dist/diff/text-diff.d.ts.map +1 -0
- package/dist/diff/text-diff.js +134 -0
- package/dist/diff/text-diff.js.map +1 -0
- package/dist/entity-directory.d.ts +13 -0
- package/dist/entity-directory.d.ts.map +1 -0
- package/dist/entity-directory.js +35 -0
- package/dist/entity-directory.js.map +1 -0
- package/dist/errors.d.ts +15 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +23 -0
- package/dist/errors.js.map +1 -0
- package/dist/gcr-reader.d.ts +57 -0
- package/dist/gcr-reader.d.ts.map +1 -0
- package/dist/gcr-reader.js +264 -0
- package/dist/gcr-reader.js.map +1 -0
- package/dist/gcr-writer.d.ts +23 -0
- package/dist/gcr-writer.d.ts.map +1 -0
- package/dist/gcr-writer.js +84 -0
- package/dist/gcr-writer.js.map +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -0
- package/dist/managed-concept-collection.d.ts +31 -0
- package/dist/managed-concept-collection.d.ts.map +1 -0
- package/dist/managed-concept-collection.js +87 -0
- package/dist/managed-concept-collection.js.map +1 -0
- package/dist/migration/hyperedge-migrator.d.ts +33 -0
- package/dist/migration/hyperedge-migrator.d.ts.map +1 -0
- package/dist/migration/hyperedge-migrator.js +70 -0
- package/dist/migration/hyperedge-migrator.js.map +1 -0
- package/dist/models/abstract-hyperedge.d.ts +35 -0
- package/dist/models/abstract-hyperedge.d.ts.map +1 -0
- package/dist/models/abstract-hyperedge.js +112 -0
- package/dist/models/abstract-hyperedge.js.map +1 -0
- package/dist/models/base.d.ts +58 -0
- package/dist/models/base.d.ts.map +1 -0
- package/dist/models/base.js +77 -0
- package/dist/models/base.js.map +1 -0
- package/dist/models/bibliography-data.d.ts +20 -0
- package/dist/models/bibliography-data.d.ts.map +1 -0
- package/dist/models/bibliography-data.js +43 -0
- package/dist/models/bibliography-data.js.map +1 -0
- package/dist/models/bibliography-entry.d.ts +19 -0
- package/dist/models/bibliography-entry.d.ts.map +1 -0
- package/dist/models/bibliography-entry.js +34 -0
- package/dist/models/bibliography-entry.js.map +1 -0
- package/dist/models/citation.d.ts +40 -0
- package/dist/models/citation.d.ts.map +1 -0
- package/dist/models/citation.js +82 -0
- package/dist/models/citation.js.map +1 -0
- package/dist/models/completeness.d.ts +9 -0
- package/dist/models/completeness.d.ts.map +1 -0
- package/{src/models/completeness.ts → dist/models/completeness.js} +4 -9
- package/dist/models/completeness.js.map +1 -0
- package/dist/models/concept-date.d.ts +20 -0
- package/dist/models/concept-date.d.ts.map +1 -0
- package/dist/models/concept-date.js +36 -0
- package/dist/models/concept-date.js.map +1 -0
- package/dist/models/concept-ref.d.ts +32 -0
- package/dist/models/concept-ref.d.ts.map +1 -0
- package/dist/models/concept-ref.js +53 -0
- package/dist/models/concept-ref.js.map +1 -0
- package/dist/models/concept-reference.d.ts +22 -0
- package/dist/models/concept-reference.d.ts.map +1 -0
- package/dist/models/concept-reference.js +39 -0
- package/dist/models/concept-reference.js.map +1 -0
- package/dist/models/concept-source.d.ts +53 -0
- package/dist/models/concept-source.d.ts.map +1 -0
- package/dist/models/concept-source.js +66 -0
- package/dist/models/concept-source.js.map +1 -0
- package/dist/models/concept-system-type.d.ts +6 -0
- package/dist/models/concept-system-type.d.ts.map +1 -0
- package/dist/models/concept-system-type.js +22 -0
- package/dist/models/concept-system-type.js.map +1 -0
- package/dist/models/concept-system.d.ts +44 -0
- package/dist/models/concept-system.d.ts.map +1 -0
- package/dist/models/concept-system.js +115 -0
- package/dist/models/concept-system.js.map +1 -0
- package/dist/models/concept-type.d.ts +7 -0
- package/dist/models/concept-type.d.ts.map +1 -0
- package/{src/models/concept-type.ts → dist/models/concept-type.js} +8 -19
- package/dist/models/concept-type.js.map +1 -0
- package/dist/models/concept.d.ts +94 -0
- package/dist/models/concept.d.ts.map +1 -0
- package/dist/models/concept.js +368 -0
- package/dist/models/concept.js.map +1 -0
- package/dist/models/dataset-color.d.ts +28 -0
- package/dist/models/dataset-color.d.ts.map +1 -0
- package/dist/models/dataset-color.js +74 -0
- package/dist/models/dataset-color.js.map +1 -0
- package/dist/models/definition-type.d.ts +9 -0
- package/dist/models/definition-type.d.ts.map +1 -0
- package/{src/models/definition-type.ts → dist/models/definition-type.js} +6 -15
- package/dist/models/definition-type.js.map +1 -0
- package/dist/models/designation-relationship.d.ts +17 -0
- package/dist/models/designation-relationship.d.ts.map +1 -0
- package/dist/models/designation-relationship.js +30 -0
- package/dist/models/designation-relationship.js.map +1 -0
- package/dist/models/designation.d.ts +110 -0
- package/dist/models/designation.d.ts.map +1 -0
- package/dist/models/designation.js +224 -0
- package/dist/models/designation.js.map +1 -0
- package/dist/models/detailed-definition.d.ts +34 -0
- package/dist/models/detailed-definition.d.ts.map +1 -0
- package/dist/models/detailed-definition.js +63 -0
- package/dist/models/detailed-definition.js.map +1 -0
- package/dist/models/enum.d.ts +21 -0
- package/dist/models/enum.d.ts.map +1 -0
- package/dist/models/enum.js +39 -0
- package/dist/models/enum.js.map +1 -0
- package/dist/models/equivalence-degree.d.ts +7 -0
- package/dist/models/equivalence-degree.d.ts.map +1 -0
- package/dist/models/equivalence-degree.js +20 -0
- package/dist/models/equivalence-degree.js.map +1 -0
- package/dist/models/figure.d.ts +40 -0
- package/dist/models/figure.d.ts.map +1 -0
- package/dist/models/figure.js +82 -0
- package/dist/models/figure.js.map +1 -0
- package/dist/models/formula.d.ts +15 -0
- package/dist/models/formula.d.ts.map +1 -0
- package/dist/models/formula.js +27 -0
- package/dist/models/formula.js.map +1 -0
- package/dist/models/gcr-metadata.d.ts +62 -0
- package/dist/models/gcr-metadata.d.ts.map +1 -0
- package/dist/models/gcr-metadata.js +102 -0
- package/dist/models/gcr-metadata.js.map +1 -0
- package/dist/models/gcr-statistics.d.ts +30 -0
- package/dist/models/gcr-statistics.d.ts.map +1 -0
- package/dist/models/gcr-statistics.js +53 -0
- package/dist/models/gcr-statistics.js.map +1 -0
- package/dist/models/generic-hyperedge.d.ts +32 -0
- package/dist/models/generic-hyperedge.d.ts.map +1 -0
- package/dist/models/generic-hyperedge.js +51 -0
- package/dist/models/generic-hyperedge.js.map +1 -0
- package/dist/models/generic-member.d.ts +14 -0
- package/dist/models/generic-member.d.ts.map +1 -0
- package/dist/models/generic-member.js +51 -0
- package/dist/models/generic-member.js.map +1 -0
- package/dist/models/grammar-info.d.ts +34 -0
- package/dist/models/grammar-info.d.ts.map +1 -0
- package/dist/models/grammar-info.js +59 -0
- package/dist/models/grammar-info.js.map +1 -0
- package/dist/models/hyperedge-colors.d.ts +19 -0
- package/dist/models/hyperedge-colors.d.ts.map +1 -0
- package/dist/models/hyperedge-colors.js +61 -0
- package/dist/models/hyperedge-colors.js.map +1 -0
- package/dist/models/hyperedge-index.d.ts +34 -0
- package/dist/models/hyperedge-index.d.ts.map +1 -0
- package/dist/models/hyperedge-index.js +85 -0
- package/dist/models/hyperedge-index.js.map +1 -0
- package/dist/models/hyperedge-member.d.ts +28 -0
- package/dist/models/hyperedge-member.d.ts.map +1 -0
- package/dist/models/hyperedge-member.js +92 -0
- package/dist/models/hyperedge-member.js.map +1 -0
- package/dist/models/hyperedge-registry.d.ts +47 -0
- package/dist/models/hyperedge-registry.d.ts.map +1 -0
- package/dist/models/hyperedge-registry.js +118 -0
- package/dist/models/hyperedge-registry.js.map +1 -0
- package/dist/models/index.d.ts +53 -0
- package/dist/models/index.d.ts.map +1 -0
- package/{src/models/index.ts → dist/models/index.js} +11 -63
- package/dist/models/index.js.map +1 -0
- package/dist/models/locality.d.ts +17 -0
- package/dist/models/locality.d.ts.map +1 -0
- package/dist/models/locality.js +26 -0
- package/dist/models/locality.js.map +1 -0
- package/dist/models/localized-concept.d.ts +102 -0
- package/dist/models/localized-concept.d.ts.map +1 -0
- package/dist/models/localized-concept.js +195 -0
- package/dist/models/localized-concept.js.map +1 -0
- package/dist/models/localized-string.d.ts +5 -0
- package/dist/models/localized-string.d.ts.map +1 -0
- package/dist/models/localized-string.js +20 -0
- package/dist/models/localized-string.js.map +1 -0
- package/dist/models/multiplicity.d.ts +42 -0
- package/dist/models/multiplicity.d.ts.map +1 -0
- package/dist/models/multiplicity.js +84 -0
- package/dist/models/multiplicity.js.map +1 -0
- package/dist/models/non-verb-rep.d.ts +20 -0
- package/dist/models/non-verb-rep.d.ts.map +1 -0
- package/dist/models/non-verb-rep.js +32 -0
- package/dist/models/non-verb-rep.js.map +1 -0
- package/dist/models/non-verbal-entity.d.ts +30 -0
- package/dist/models/non-verbal-entity.d.ts.map +1 -0
- package/dist/models/non-verbal-entity.js +48 -0
- package/dist/models/non-verbal-entity.js.map +1 -0
- package/dist/models/non-verbal-reference.d.ts +23 -0
- package/dist/models/non-verbal-reference.d.ts.map +1 -0
- package/dist/models/non-verbal-reference.js +44 -0
- package/dist/models/non-verbal-reference.js.map +1 -0
- package/dist/models/non-verbal-references.d.ts +12 -0
- package/dist/models/non-verbal-references.d.ts.map +1 -0
- package/dist/models/non-verbal-references.js +20 -0
- package/dist/models/non-verbal-references.js.map +1 -0
- package/dist/models/partitive-count.d.ts +10 -0
- package/dist/models/partitive-count.d.ts.map +1 -0
- package/{src/models/partitive-count.ts → dist/models/partitive-count.js} +5 -9
- package/dist/models/partitive-count.js.map +1 -0
- package/dist/models/partitive-enumeration.d.ts +5 -0
- package/dist/models/partitive-enumeration.d.ts.map +1 -0
- package/dist/models/partitive-enumeration.js +16 -0
- package/dist/models/partitive-enumeration.js.map +1 -0
- package/dist/models/partitive-hyperedge.d.ts +43 -0
- package/dist/models/partitive-hyperedge.d.ts.map +1 -0
- package/dist/models/partitive-hyperedge.js +63 -0
- package/dist/models/partitive-hyperedge.js.map +1 -0
- package/dist/models/partitive-member.d.ts +14 -0
- package/dist/models/partitive-member.d.ts.map +1 -0
- package/dist/models/partitive-member.js +44 -0
- package/dist/models/partitive-member.js.map +1 -0
- package/dist/models/partitive-presence.d.ts +9 -0
- package/dist/models/partitive-presence.d.ts.map +1 -0
- package/{src/models/partitive-presence.ts → dist/models/partitive-presence.js} +4 -8
- package/dist/models/partitive-presence.js.map +1 -0
- package/dist/models/plurality-marker.d.ts +5 -0
- package/dist/models/plurality-marker.d.ts.map +1 -0
- package/dist/models/plurality-marker.js +20 -0
- package/dist/models/plurality-marker.js.map +1 -0
- package/dist/models/pronunciation.d.ts +19 -0
- package/dist/models/pronunciation.d.ts.map +1 -0
- package/dist/models/pronunciation.js +34 -0
- package/dist/models/pronunciation.js.map +1 -0
- package/dist/models/register.d.ts +104 -0
- package/dist/models/register.d.ts.map +1 -0
- package/dist/models/register.js +297 -0
- package/dist/models/register.js.map +1 -0
- package/dist/models/registrable.d.ts +25 -0
- package/dist/models/registrable.d.ts.map +1 -0
- package/dist/models/registrable.js +23 -0
- package/dist/models/registrable.js.map +1 -0
- package/dist/models/related-concept.d.ts +33 -0
- package/dist/models/related-concept.d.ts.map +1 -0
- package/dist/models/related-concept.js +95 -0
- package/dist/models/related-concept.js.map +1 -0
- package/dist/models/relation-categories.d.ts +38 -0
- package/dist/models/relation-categories.d.ts.map +1 -0
- package/dist/models/relation-categories.js +135 -0
- package/dist/models/relation-categories.js.map +1 -0
- package/dist/models/relation-colors.d.ts +35 -0
- package/dist/models/relation-colors.d.ts.map +1 -0
- package/dist/models/relation-colors.js +68 -0
- package/dist/models/relation-colors.js.map +1 -0
- package/dist/models/relation-loader.d.ts +41 -0
- package/dist/models/relation-loader.d.ts.map +1 -0
- package/dist/models/relation-loader.js +101 -0
- package/dist/models/relation-loader.js.map +1 -0
- package/dist/models/section.d.ts +22 -0
- package/dist/models/section.d.ts.map +1 -0
- package/dist/models/section.js +47 -0
- package/dist/models/section.js.map +1 -0
- package/dist/models/sequential-hyperedge.d.ts +32 -0
- package/dist/models/sequential-hyperedge.d.ts.map +1 -0
- package/dist/models/sequential-hyperedge.js +49 -0
- package/dist/models/sequential-hyperedge.js.map +1 -0
- package/dist/models/sequential-member.d.ts +8 -0
- package/dist/models/sequential-member.d.ts.map +1 -0
- package/{src/models/sequential-member.ts → dist/models/sequential-member.js} +4 -9
- package/dist/models/sequential-member.js.map +1 -0
- package/dist/models/shared-non-verbal-entity.d.ts +16 -0
- package/dist/models/shared-non-verbal-entity.d.ts.map +1 -0
- package/dist/models/shared-non-verbal-entity.js +28 -0
- package/dist/models/shared-non-verbal-entity.js.map +1 -0
- package/dist/models/table.d.ts +15 -0
- package/dist/models/table.d.ts.map +1 -0
- package/dist/models/table.js +27 -0
- package/dist/models/table.js.map +1 -0
- package/dist/rdf/agents-emitter.d.ts +37 -0
- package/dist/rdf/agents-emitter.d.ts.map +1 -0
- package/dist/rdf/agents-emitter.js +107 -0
- package/dist/rdf/agents-emitter.js.map +1 -0
- package/dist/rdf/bibliography-emitter.d.ts +16 -0
- package/dist/rdf/bibliography-emitter.d.ts.map +1 -0
- package/dist/rdf/bibliography-emitter.js +84 -0
- package/dist/rdf/bibliography-emitter.js.map +1 -0
- package/dist/rdf/bnode-id.d.ts +2 -0
- package/dist/rdf/bnode-id.d.ts.map +1 -0
- package/dist/rdf/bnode-id.js +57 -0
- package/dist/rdf/bnode-id.js.map +1 -0
- package/dist/rdf/build-activity-emitter.d.ts +42 -0
- package/dist/rdf/build-activity-emitter.d.ts.map +1 -0
- package/dist/rdf/build-activity-emitter.js +103 -0
- package/dist/rdf/build-activity-emitter.js.map +1 -0
- package/dist/rdf/curie.d.ts +7 -0
- package/dist/rdf/curie.d.ts.map +1 -0
- package/dist/rdf/curie.js +45 -0
- package/dist/rdf/curie.js.map +1 -0
- package/dist/rdf/dataset-emitter.d.ts +37 -0
- package/dist/rdf/dataset-emitter.d.ts.map +1 -0
- package/dist/rdf/dataset-emitter.js +126 -0
- package/dist/rdf/dataset-emitter.js.map +1 -0
- package/dist/rdf/deterministic-id.d.ts +3 -0
- package/dist/rdf/deterministic-id.d.ts.map +1 -0
- package/dist/rdf/deterministic-id.js +68 -0
- package/dist/rdf/deterministic-id.js.map +1 -0
- package/dist/rdf/document-writer.d.ts +11 -0
- package/dist/rdf/document-writer.d.ts.map +1 -0
- package/dist/rdf/document-writer.js +77 -0
- package/dist/rdf/document-writer.js.map +1 -0
- package/dist/rdf/gloss-concept.d.ts +27 -0
- package/dist/rdf/gloss-concept.d.ts.map +1 -0
- package/dist/rdf/gloss-concept.js +95 -0
- package/dist/rdf/gloss-concept.js.map +1 -0
- package/dist/rdf/gloss-designation.d.ts +17 -0
- package/dist/rdf/gloss-designation.d.ts.map +1 -0
- package/dist/rdf/gloss-designation.js +46 -0
- package/dist/rdf/gloss-designation.js.map +1 -0
- package/dist/rdf/gloss-detailed-definition.d.ts +14 -0
- package/dist/rdf/gloss-detailed-definition.d.ts.map +1 -0
- package/dist/rdf/gloss-detailed-definition.js +53 -0
- package/dist/rdf/gloss-detailed-definition.js.map +1 -0
- package/dist/rdf/gloss-generic-hyperedge.d.ts +27 -0
- package/dist/rdf/gloss-generic-hyperedge.d.ts.map +1 -0
- package/{src/rdf/gloss-generic-hyperedge.ts → dist/rdf/gloss-generic-hyperedge.js} +36 -50
- package/dist/rdf/gloss-generic-hyperedge.js.map +1 -0
- package/dist/rdf/gloss-localized-concept.d.ts +24 -0
- package/dist/rdf/gloss-localized-concept.d.ts.map +1 -0
- package/dist/rdf/gloss-localized-concept.js +71 -0
- package/dist/rdf/gloss-localized-concept.js.map +1 -0
- package/dist/rdf/gloss-non-verbal-rep.d.ts +33 -0
- package/dist/rdf/gloss-non-verbal-rep.d.ts.map +1 -0
- package/dist/rdf/gloss-non-verbal-rep.js +163 -0
- package/dist/rdf/gloss-non-verbal-rep.js.map +1 -0
- package/dist/rdf/gloss-partitive-member.d.ts +8 -0
- package/dist/rdf/gloss-partitive-member.d.ts.map +1 -0
- package/{src/rdf/gloss-partitive-member.ts → dist/rdf/gloss-partitive-member.js} +23 -41
- package/dist/rdf/gloss-partitive-member.js.map +1 -0
- package/dist/rdf/gloss-partitive-relation.d.ts +26 -0
- package/dist/rdf/gloss-partitive-relation.d.ts.map +1 -0
- package/dist/rdf/gloss-partitive-relation.js +73 -0
- package/dist/rdf/gloss-partitive-relation.js.map +1 -0
- package/dist/rdf/gloss-source.d.ts +23 -0
- package/dist/rdf/gloss-source.d.ts.map +1 -0
- package/dist/rdf/gloss-source.js +52 -0
- package/dist/rdf/gloss-source.js.map +1 -0
- package/dist/rdf/group-emitter.d.ts +46 -0
- package/dist/rdf/group-emitter.d.ts.map +1 -0
- package/dist/rdf/group-emitter.js +107 -0
- package/dist/rdf/group-emitter.js.map +1 -0
- package/dist/rdf/image-variant-emitter.d.ts +12 -0
- package/dist/rdf/image-variant-emitter.d.ts.map +1 -0
- package/dist/rdf/image-variant-emitter.js +55 -0
- package/dist/rdf/image-variant-emitter.js.map +1 -0
- package/dist/rdf/index.d.ts +26 -0
- package/dist/rdf/index.d.ts.map +1 -0
- package/{src/rdf/index.ts → dist/rdf/index.js} +8 -37
- package/dist/rdf/index.js.map +1 -0
- package/dist/rdf/normalize-enum.d.ts +3 -0
- package/dist/rdf/normalize-enum.d.ts.map +1 -0
- package/{src/rdf/normalize-enum.ts → dist/rdf/normalize-enum.js} +11 -10
- package/dist/rdf/normalize-enum.js.map +1 -0
- package/dist/rdf/predicates.d.ts +277 -0
- package/dist/rdf/predicates.d.ts.map +1 -0
- package/dist/rdf/predicates.js +279 -0
- package/dist/rdf/predicates.js.map +1 -0
- package/dist/rdf/prefixes.d.ts +16 -0
- package/dist/rdf/prefixes.d.ts.map +1 -0
- package/{src/rdf/prefixes.ts → dist/rdf/prefixes.js} +10 -12
- package/dist/rdf/prefixes.js.map +1 -0
- package/dist/rdf/provenance-emitter.d.ts +28 -0
- package/dist/rdf/provenance-emitter.d.ts.map +1 -0
- package/dist/rdf/provenance-emitter.js +74 -0
- package/dist/rdf/provenance-emitter.js.map +1 -0
- package/dist/rdf/sections-builder.d.ts +17 -0
- package/dist/rdf/sections-builder.d.ts.map +1 -0
- package/dist/rdf/sections-builder.js +137 -0
- package/dist/rdf/sections-builder.js.map +1 -0
- package/dist/rdf/shacl-entry.d.ts +2 -0
- package/dist/rdf/shacl-entry.d.ts.map +1 -0
- package/{src/rdf/shacl-entry.ts → dist/rdf/shacl-entry.js} +1 -1
- package/dist/rdf/shacl-entry.js.map +1 -0
- package/dist/rdf/shacl.d.ts +10 -0
- package/dist/rdf/shacl.d.ts.map +1 -0
- package/{src/rdf/shacl.ts → dist/rdf/shacl.js} +38 -57
- package/dist/rdf/shacl.js.map +1 -0
- package/dist/rdf/terms.d.ts +10 -0
- package/dist/rdf/terms.d.ts.map +1 -0
- package/{src/rdf/terms.ts → dist/rdf/terms.js} +6 -3
- package/dist/rdf/terms.js.map +1 -0
- package/dist/rdf/version-emitter.d.ts +57 -0
- package/dist/rdf/version-emitter.d.ts.map +1 -0
- package/dist/rdf/version-emitter.js +68 -0
- package/dist/rdf/version-emitter.js.map +1 -0
- package/dist/rdf/vocabulary-emitter.d.ts +32 -0
- package/dist/rdf/vocabulary-emitter.d.ts.map +1 -0
- package/dist/rdf/vocabulary-emitter.js +46 -0
- package/dist/rdf/vocabulary-emitter.js.map +1 -0
- package/dist/rdf/write-turtle-sync.d.ts +7 -0
- package/dist/rdf/write-turtle-sync.d.ts.map +1 -0
- package/dist/rdf/write-turtle-sync.js +130 -0
- package/dist/rdf/write-turtle-sync.js.map +1 -0
- package/dist/reference-mention.d.ts +49 -0
- package/dist/reference-mention.d.ts.map +1 -0
- package/dist/reference-mention.js +98 -0
- package/dist/reference-mention.js.map +1 -0
- package/dist/reference-resolver.d.ts +52 -0
- package/dist/reference-resolver.d.ts.map +1 -0
- package/dist/reference-resolver.js +311 -0
- package/dist/reference-resolver.js.map +1 -0
- package/dist/render-classification.d.ts +19 -0
- package/dist/render-classification.d.ts.map +1 -0
- package/dist/render-classification.js +82 -0
- package/dist/render-classification.js.map +1 -0
- package/dist/sort.d.ts +5 -0
- package/dist/sort.d.ts.map +1 -0
- package/dist/sort.js +25 -0
- package/dist/sort.js.map +1 -0
- package/dist/transforms/concept-to-gloss.transform.d.ts +32 -0
- package/dist/transforms/concept-to-gloss.transform.d.ts.map +1 -0
- package/dist/transforms/concept-to-gloss.transform.js +60 -0
- package/dist/transforms/concept-to-gloss.transform.js.map +1 -0
- package/dist/transforms/index.d.ts +2 -0
- package/dist/transforms/index.d.ts.map +1 -0
- package/{src/transforms/index.ts → dist/transforms/index.js} +1 -0
- package/dist/transforms/index.js.map +1 -0
- package/dist/utils/assertions.d.ts +4 -0
- package/dist/utils/assertions.d.ts.map +1 -0
- package/dist/utils/assertions.js +17 -0
- package/dist/utils/assertions.js.map +1 -0
- package/dist/utils/external-detection.d.ts +38 -0
- package/dist/utils/external-detection.d.ts.map +1 -0
- package/dist/utils/external-detection.js +55 -0
- package/dist/utils/external-detection.js.map +1 -0
- package/dist/uuid.d.ts +4 -0
- package/dist/uuid.d.ts.map +1 -0
- package/dist/uuid.js +23 -0
- package/dist/uuid.js.map +1 -0
- package/dist/v1-reader.d.ts +8 -0
- package/dist/v1-reader.d.ts.map +1 -0
- package/dist/v1-reader.js +56 -0
- package/dist/v1-reader.js.map +1 -0
- package/dist/validators/asset-index.d.ts +23 -0
- package/dist/validators/asset-index.d.ts.map +1 -0
- package/dist/validators/asset-index.js +58 -0
- package/dist/validators/asset-index.js.map +1 -0
- package/dist/validators/binary-has-part-redundancy-rule.d.ts +8 -0
- package/dist/validators/binary-has-part-redundancy-rule.d.ts.map +1 -0
- package/dist/validators/binary-has-part-redundancy-rule.js +57 -0
- package/dist/validators/binary-has-part-redundancy-rule.js.map +1 -0
- package/dist/validators/concept-validator.d.ts +21 -0
- package/dist/validators/concept-validator.d.ts.map +1 -0
- package/dist/validators/concept-validator.js +76 -0
- package/dist/validators/concept-validator.js.map +1 -0
- package/dist/validators/delimiting-coherence-rule.d.ts +8 -0
- package/dist/validators/delimiting-coherence-rule.d.ts.map +1 -0
- package/dist/validators/delimiting-coherence-rule.js +72 -0
- package/dist/validators/delimiting-coherence-rule.js.map +1 -0
- package/dist/validators/extensional-completeness.d.ts +18 -0
- package/dist/validators/extensional-completeness.d.ts.map +1 -0
- package/dist/validators/extensional-completeness.js +41 -0
- package/dist/validators/extensional-completeness.js.map +1 -0
- package/dist/validators/external-concept-shape-rule.d.ts +8 -0
- package/dist/validators/external-concept-shape-rule.d.ts.map +1 -0
- package/dist/validators/external-concept-shape-rule.js +48 -0
- package/dist/validators/external-concept-shape-rule.js.map +1 -0
- package/dist/validators/gcr-validator.d.ts +11 -0
- package/dist/validators/gcr-validator.d.ts.map +1 -0
- package/dist/validators/gcr-validator.js +76 -0
- package/dist/validators/gcr-validator.js.map +1 -0
- package/dist/validators/hyperedge-coherence-rule.d.ts +9 -0
- package/dist/validators/hyperedge-coherence-rule.d.ts.map +1 -0
- package/dist/validators/hyperedge-coherence-rule.js +78 -0
- package/dist/validators/hyperedge-coherence-rule.js.map +1 -0
- package/dist/validators/index.d.ts +21 -0
- package/dist/validators/index.d.ts.map +1 -0
- package/{src/validators/index.ts → dist/validators/index.js} +25 -51
- package/dist/validators/index.js.map +1 -0
- package/dist/validators/partitive-relation-coherence-rule.d.ts +2 -0
- package/dist/validators/partitive-relation-coherence-rule.d.ts.map +1 -0
- package/{src/validators/partitive-relation-coherence-rule.ts → dist/validators/partitive-relation-coherence-rule.js} +1 -1
- package/dist/validators/partitive-relation-coherence-rule.js.map +1 -0
- package/dist/validators/ref-keys.d.ts +8 -0
- package/dist/validators/ref-keys.d.ts.map +1 -0
- package/dist/validators/ref-keys.js +27 -0
- package/dist/validators/ref-keys.js.map +1 -0
- package/dist/validators/register-validator.d.ts +10 -0
- package/dist/validators/register-validator.d.ts.map +1 -0
- package/dist/validators/register-validator.js +18 -0
- package/dist/validators/register-validator.js.map +1 -0
- package/dist/validators/relationship-type-rule.d.ts +13 -0
- package/dist/validators/relationship-type-rule.d.ts.map +1 -0
- package/dist/validators/relationship-type-rule.js +34 -0
- package/dist/validators/relationship-type-rule.js.map +1 -0
- package/dist/validators/sourced-from-locality-rule.d.ts +8 -0
- package/dist/validators/sourced-from-locality-rule.d.ts.map +1 -0
- package/dist/validators/sourced-from-locality-rule.js +37 -0
- package/dist/validators/sourced-from-locality-rule.js.map +1 -0
- package/dist/validators/v3-rules.d.ts +60 -0
- package/dist/validators/v3-rules.d.ts.map +1 -0
- package/dist/validators/v3-rules.js +327 -0
- package/dist/validators/v3-rules.js.map +1 -0
- package/dist/validators/validation-error.d.ts +13 -0
- package/dist/validators/validation-error.d.ts.map +1 -0
- package/dist/validators/validation-error.js +17 -0
- package/dist/validators/validation-error.js.map +1 -0
- package/dist/validators/validation-result.d.ts +17 -0
- package/dist/validators/validation-result.d.ts.map +1 -0
- package/dist/validators/validation-result.js +47 -0
- package/dist/validators/validation-result.js.map +1 -0
- package/dist/validators/validation-rule.d.ts +10 -0
- package/dist/validators/validation-rule.d.ts.map +1 -0
- package/dist/validators/validation-rule.js +17 -0
- package/dist/validators/validation-rule.js.map +1 -0
- package/package.json +37 -42
- package/src/concept-collection.ts +0 -172
- package/src/concept-parser.ts +0 -235
- package/src/concept-reader.d.ts +0 -13
- package/src/concept-serializer.ts +0 -110
- package/src/concept-writer.d.ts +0 -7
- package/src/concept-writer.ts +0 -47
- package/src/diff/canonical-json.ts +0 -29
- package/src/diff/change.ts +0 -175
- package/src/diff/collection-diff.ts +0 -245
- package/src/diff/concept-diff.ts +0 -853
- package/src/diff/diff-patch.ts +0 -276
- package/src/diff/diff-renderer.ts +0 -348
- package/src/diff/identity.ts +0 -33
- package/src/diff/index.d.ts +0 -242
- package/src/diff/index.ts +0 -50
- package/src/diff/list-diff.ts +0 -231
- package/src/diff/similarity.ts +0 -20
- package/src/diff/text-diff.ts +0 -167
- package/src/entity-directory.ts +0 -43
- package/src/errors.d.ts +0 -11
- package/src/errors.ts +0 -24
- package/src/gcr-reader.d.ts +0 -65
- package/src/gcr-reader.ts +0 -512
- package/src/gcr-writer.d.ts +0 -22
- package/src/gcr-writer.ts +0 -99
- package/src/index.d.ts +0 -124
- package/src/index.ts +0 -92
- package/src/managed-concept-collection.ts +0 -130
- package/src/migration/hyperedge-migrator.ts +0 -104
- package/src/models/abstract-hyperedge.ts +0 -164
- package/src/models/base.ts +0 -110
- package/src/models/bibliography-data.ts +0 -64
- package/src/models/bibliography-entry.ts +0 -40
- package/src/models/citation.ts +0 -98
- package/src/models/concept-date.ts +0 -48
- package/src/models/concept-ref.ts +0 -64
- package/src/models/concept-reference.ts +0 -50
- package/src/models/concept-source.ts +0 -96
- package/src/models/concept-system-type.ts +0 -39
- package/src/models/concept-system.ts +0 -152
- package/src/models/concept.ts +0 -499
- package/src/models/dataset-color.ts +0 -88
- package/src/models/designation-relationship.ts +0 -39
- package/src/models/designation.ts +0 -297
- package/src/models/detailed-definition.ts +0 -92
- package/src/models/enum.ts +0 -60
- package/src/models/equivalence-degree.ts +0 -34
- package/src/models/figure.ts +0 -110
- package/src/models/formula.ts +0 -36
- package/src/models/gcr-metadata.ts +0 -118
- package/src/models/gcr-statistics.ts +0 -76
- package/src/models/generic-hyperedge.ts +0 -72
- package/src/models/generic-member.ts +0 -80
- package/src/models/grammar-info.ts +0 -78
- package/src/models/hyperedge-colors.ts +0 -87
- package/src/models/hyperedge-index.ts +0 -101
- package/src/models/hyperedge-member.ts +0 -121
- package/src/models/hyperedge-registry.ts +0 -145
- package/src/models/index.d.ts +0 -586
- package/src/models/locality.ts +0 -34
- package/src/models/localized-concept.ts +0 -284
- package/src/models/localized-string.ts +0 -32
- package/src/models/multiplicity.ts +0 -134
- package/src/models/non-verb-rep.ts +0 -48
- package/src/models/non-verbal-entity.ts +0 -65
- package/src/models/non-verbal-reference.ts +0 -73
- package/src/models/non-verbal-references.ts +0 -29
- package/src/models/partitive-enumeration.ts +0 -27
- package/src/models/partitive-hyperedge.ts +0 -90
- package/src/models/partitive-member.ts +0 -56
- package/src/models/plurality-marker.ts +0 -31
- package/src/models/pronunciation.ts +0 -40
- package/src/models/register.ts +0 -315
- package/src/models/registrable.ts +0 -48
- package/src/models/related-concept.ts +0 -117
- package/src/models/relation-categories.ts +0 -167
- package/src/models/relation-colors.ts +0 -90
- package/src/models/relation-loader.ts +0 -115
- package/src/models/section.ts +0 -61
- package/src/models/sequential-hyperedge.ts +0 -70
- package/src/models/shared-non-verbal-entity.ts +0 -36
- package/src/models/table.ts +0 -36
- package/src/rdf/agents-emitter.ts +0 -137
- package/src/rdf/bibliography-emitter.ts +0 -126
- package/src/rdf/bnode-id.ts +0 -55
- package/src/rdf/build-activity-emitter.ts +0 -129
- package/src/rdf/curie.ts +0 -46
- package/src/rdf/dataset-emitter.ts +0 -170
- package/src/rdf/deterministic-id.ts +0 -69
- package/src/rdf/document-writer.ts +0 -87
- package/src/rdf/gloss-concept.ts +0 -115
- package/src/rdf/gloss-designation.ts +0 -72
- package/src/rdf/gloss-detailed-definition.ts +0 -69
- package/src/rdf/gloss-localized-concept.ts +0 -79
- package/src/rdf/gloss-non-verbal-rep.ts +0 -202
- package/src/rdf/gloss-partitive-relation.ts +0 -89
- package/src/rdf/gloss-source.ts +0 -56
- package/src/rdf/group-emitter.ts +0 -133
- package/src/rdf/image-variant-emitter.ts +0 -80
- package/src/rdf/index.d.ts +0 -371
- package/src/rdf/predicates.d.ts +0 -527
- package/src/rdf/predicates.ts +0 -287
- package/src/rdf/provenance-emitter.ts +0 -87
- package/src/rdf/sections-builder.ts +0 -190
- package/src/rdf/shacl-entry.d.ts +0 -6
- package/src/rdf/version-emitter.ts +0 -97
- package/src/rdf/vocabulary-emitter.ts +0 -67
- package/src/rdf/write-turtle-sync.ts +0 -179
- package/src/reference-mention.ts +0 -114
- package/src/reference-resolver.ts +0 -361
- package/src/render-classification.ts +0 -85
- package/src/sort.ts +0 -22
- package/src/transforms/concept-to-gloss.transform.ts +0 -81
- package/src/transforms/index.d.ts +0 -26
- package/src/uuid.ts +0 -32
- package/src/v1-reader.ts +0 -66
- package/src/validators/asset-index.ts +0 -72
- package/src/validators/binary-has-part-redundancy-rule.ts +0 -67
- package/src/validators/concept-validator.ts +0 -93
- package/src/validators/delimiting-coherence-rule.ts +0 -105
- package/src/validators/external-concept-shape-rule.ts +0 -60
- package/src/validators/gcr-validator.ts +0 -76
- package/src/validators/hyperedge-coherence-rule.ts +0 -98
- package/src/validators/index.d.ts +0 -43
- package/src/validators/ref-keys.ts +0 -31
- package/src/validators/register-validator.ts +0 -18
- package/src/validators/relationship-type-rule.ts +0 -39
- package/src/validators/sourced-from-locality-rule.ts +0 -53
- package/src/validators/v3-rules.ts +0 -382
- package/src/validators/validation-error.ts +0 -19
- package/src/validators/validation-result.ts +0 -52
- package/src/validators/validation-rule.ts +0 -21
|
@@ -18,55 +18,37 @@
|
|
|
18
18
|
// <member-uri> gloss:count <.../count/exactly_one|at_least_one|multiple>
|
|
19
19
|
// <member-uri> gloss:multiplicity <.../multiplicity/{ISO name}> (derived, v3 compat)
|
|
20
20
|
// <member-uri> gloss:isDelimiting "true" (xsd:boolean)
|
|
21
|
-
|
|
22
21
|
import { PRED } from './predicates.js';
|
|
23
22
|
import { namedNode, literal, quad } from './terms.js';
|
|
24
23
|
import { resolveMultiplicity } from '../models/multiplicity.js';
|
|
25
|
-
|
|
26
24
|
// SKOS taxonomy namespaces (concept-model will ship these taxonomies).
|
|
27
25
|
// Until then, the URIs are forward-compatible and resolve once the
|
|
28
26
|
// taxonomies land.
|
|
29
27
|
export const PRESENCE_NS = 'https://www.glossarist.org/ontologies/presence/';
|
|
30
28
|
export const COUNT_NS = 'https://www.glossarist.org/ontologies/count/';
|
|
31
29
|
export const MULTIPLICITY_NS = 'https://www.glossarist.org/ontologies/multiplicity/';
|
|
32
|
-
|
|
33
30
|
export function* partitiveMemberToQuads(member, { memberUri }) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
// rather than silently producing wrong RDF.
|
|
57
|
-
const mult = resolveMultiplicity(member);
|
|
58
|
-
if (mult) {
|
|
59
|
-
yield quad(
|
|
60
|
-
namedNode(memberUri),
|
|
61
|
-
namedNode(PRED.gloss.multiplicity),
|
|
62
|
-
namedNode(MULTIPLICITY_NS + mult),
|
|
63
|
-
);
|
|
64
|
-
}
|
|
65
|
-
if (member?.is_delimiting === true) {
|
|
66
|
-
yield quad(
|
|
67
|
-
namedNode(memberUri),
|
|
68
|
-
namedNode(PRED.gloss.isDelimiting),
|
|
69
|
-
literal('true', 'xsd:boolean'),
|
|
70
|
-
);
|
|
71
|
-
}
|
|
31
|
+
if (member?.presence) {
|
|
32
|
+
yield quad(namedNode(memberUri), namedNode(PRED.gloss.presence), namedNode(PRESENCE_NS + member.presence));
|
|
33
|
+
}
|
|
34
|
+
if (member?.count) {
|
|
35
|
+
yield quad(namedNode(memberUri), namedNode(PRED.gloss.count), namedNode(COUNT_NS + member.count));
|
|
36
|
+
}
|
|
37
|
+
// Derived multiplicity URI for v3 RDF consumer backward compat.
|
|
38
|
+
// v4 PartitiveMember carries presence + count natively; the legacy
|
|
39
|
+
// multiplicity name is derived via the SSOT resolveMultiplicity().
|
|
40
|
+
// For raw pre-v4 JSON that bypassed the model constructor and still
|
|
41
|
+
// carries a literal multiplicity field, the resolver falls back to
|
|
42
|
+
// that field. The invalid (optional, at_least_one) combination is
|
|
43
|
+
// rejected at model construction — if it reaches the throw here,
|
|
44
|
+
// the caller bypassed the model and we want the error to surface
|
|
45
|
+
// rather than silently producing wrong RDF.
|
|
46
|
+
const mult = resolveMultiplicity(member);
|
|
47
|
+
if (mult) {
|
|
48
|
+
yield quad(namedNode(memberUri), namedNode(PRED.gloss.multiplicity), namedNode(MULTIPLICITY_NS + mult));
|
|
49
|
+
}
|
|
50
|
+
if (member?.is_delimiting === true) {
|
|
51
|
+
yield quad(namedNode(memberUri), namedNode(PRED.gloss.isDelimiting), literal('true', 'xsd:boolean'));
|
|
52
|
+
}
|
|
72
53
|
}
|
|
54
|
+
//# sourceMappingURL=gloss-partitive-member.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gloss-partitive-member.js","sourceRoot":"","sources":["../../src/rdf/gloss-partitive-member.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,EAAE;AACF,+DAA+D;AAC/D,sEAAsE;AACtE,0EAA0E;AAC1E,EAAE;AACF,mDAAmD;AACnD,iEAAiE;AACjE,8DAA8D;AAC9D,yDAAyD;AACzD,EAAE;AACF,sEAAsE;AACtE,gEAAgE;AAChE,sEAAsE;AACtE,sEAAsE;AACtE,EAAE;AACF,qEAAqE;AACrE,kFAAkF;AAClF,0FAA0F;AAC1F,oFAAoF;AAEpF,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE,uEAAuE;AACvE,mEAAmE;AACnE,mBAAmB;AACnB,MAAM,CAAC,MAAM,WAAW,GAAG,iDAAiD,CAAC;AAC7E,MAAM,CAAC,MAAM,QAAQ,GAAG,8CAA8C,CAAC;AACvE,MAAM,CAAC,MAAM,eAAe,GAAG,qDAAqD,CAAC;AAErF,MAAM,SAAS,CAAC,CAAC,sBAAsB,CAAC,MAAuB,EAAE,EAAE,SAAS,EAAyB;IACnG,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,CACR,SAAS,CAAC,SAAS,CAAC,EACpB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAC9B,SAAS,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CACzC,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,CACR,SAAS,CAAC,SAAS,CAAC,EACpB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAC3B,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CACnC,CAAC;IACJ,CAAC;IACD,gEAAgE;IAChE,mEAAmE;IACnE,mEAAmE;IACnE,oEAAoE;IACpE,mEAAmE;IACnE,kEAAkE;IAClE,iEAAiE;IACjE,iEAAiE;IACjE,4CAA4C;IAC5C,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,IAAI,CACR,SAAS,CAAC,SAAS,CAAC,EACpB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAClC,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,CAClC,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,EAAE,aAAa,KAAK,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,CACR,SAAS,CAAC,SAAS,CAAC,EACpB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAClC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAC/B,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
interface MemberLike {
|
|
2
|
+
ref?: {
|
|
3
|
+
source?: string;
|
|
4
|
+
id?: string;
|
|
5
|
+
} | null;
|
|
6
|
+
presence?: string;
|
|
7
|
+
count?: string;
|
|
8
|
+
is_delimiting?: boolean;
|
|
9
|
+
multiplicity?: string;
|
|
10
|
+
}
|
|
11
|
+
interface PartitiveRelationLike {
|
|
12
|
+
comprehensive?: {
|
|
13
|
+
source?: string;
|
|
14
|
+
id?: string;
|
|
15
|
+
} | null;
|
|
16
|
+
partitives?: ReadonlyArray<MemberLike>;
|
|
17
|
+
completeness?: string | null;
|
|
18
|
+
criterion?: Record<string, unknown> | null;
|
|
19
|
+
}
|
|
20
|
+
export declare function partitiveRelationToQuads(relation: PartitiveRelationLike, { parentUri, index }: {
|
|
21
|
+
parentUri: string;
|
|
22
|
+
index: number;
|
|
23
|
+
}): Generator<import("n3").Quad, void, unknown>;
|
|
24
|
+
export declare function partitiveRelationSubjectUri(parentUri: string, relation: PartitiveRelationLike, index: number): string;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=gloss-partitive-relation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gloss-partitive-relation.d.ts","sourceRoot":"","sources":["../../src/rdf/gloss-partitive-relation.ts"],"names":[],"mappings":"AAiCA,UAAU,UAAU;IAClB,GAAG,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,qBAAqB;IAC7B,aAAa,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACxD,UAAU,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC5C;AAED,wBAAiB,wBAAwB,CAAC,QAAQ,EAAE,qBAAqB,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,+CAgCpI;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAKrH"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
// PartitiveHyperedge → RDF quads.
|
|
2
|
+
//
|
|
3
|
+
// Shape (per concept-model ontology, v3.2.0):
|
|
4
|
+
//
|
|
5
|
+
// <base>/partitive-relation/<carrying-id>/<comprehensive-id>
|
|
6
|
+
// rdf:type gloss:PartitiveHyperedge
|
|
7
|
+
// gloss:comprehensive <base>/concept/<comprehensive-id> (named node)
|
|
8
|
+
// gloss:hasPartitive <base>/concept/<partitive-id> (named node, one per member)
|
|
9
|
+
// gloss:completeness <.../completeness/complete|partial> (named node, SKOS)
|
|
10
|
+
// gloss:criterion "..."@lang (literal, one per language)
|
|
11
|
+
//
|
|
12
|
+
// Per-member multiplicity + is_delimiting are emitted by the
|
|
13
|
+
// `partitiveMemberToQuads` helper in `gloss-partitive-member.js`.
|
|
14
|
+
//
|
|
15
|
+
// The carrying concept links via `gloss:hasPartitiveRelation`.
|
|
16
|
+
//
|
|
17
|
+
// Per
|
|
18
|
+
// TODO.partitive-relation-v2 item 01.
|
|
19
|
+
// Cross-repo alignment with glossarist-ruby's Rdf::GlossPartitiveRelation.
|
|
20
|
+
//
|
|
21
|
+
// JSON-LD `@type: @id` invariant: `multiplicity` and `completeness`
|
|
22
|
+
// are URI references into SKOS taxonomies (per
|
|
23
|
+
// `data/concept-model/glossarist.context.jsonld`), not literals.
|
|
24
|
+
// `criterion` is `@container: @language` (one literal per language).
|
|
25
|
+
// `isDelimiting` is `xsd:boolean` literal.
|
|
26
|
+
import { PRED } from './predicates.js';
|
|
27
|
+
import { WELL_KNOWN } from './prefixes.js';
|
|
28
|
+
import { partitiveMemberToQuads } from './gloss-partitive-member.js';
|
|
29
|
+
import { namedNode, literal, quad } from './terms.js';
|
|
30
|
+
const COMPLETENESS_NS = 'https://www.glossarist.org/ontologies/completeness/';
|
|
31
|
+
export function* partitiveRelationToQuads(relation, { parentUri, index }) {
|
|
32
|
+
const subjectUri = partitiveRelationSubjectUri(parentUri, relation, index);
|
|
33
|
+
const s = namedNode(subjectUri);
|
|
34
|
+
yield quad(s, namedNode(WELL_KNOWN.rdfType), namedNode(PRED.gloss.PartitiveHyperedge));
|
|
35
|
+
const comp = relation.comprehensive;
|
|
36
|
+
if (comp && (comp.source || comp.id)) {
|
|
37
|
+
yield quad(s, namedNode(PRED.gloss.comprehensive), namedNode(conceptRefUri(comp, parentUri)));
|
|
38
|
+
}
|
|
39
|
+
const members = Array.isArray(relation.partitives) ? relation.partitives : [];
|
|
40
|
+
for (const member of members) {
|
|
41
|
+
const ref = member?.ref ?? member;
|
|
42
|
+
if (!ref || (!ref.source && !ref.id))
|
|
43
|
+
continue;
|
|
44
|
+
const memberUri = conceptRefUri(ref, parentUri);
|
|
45
|
+
yield quad(s, namedNode(PRED.gloss.hasPartitive), namedNode(memberUri));
|
|
46
|
+
yield* partitiveMemberToQuads(member, { memberUri });
|
|
47
|
+
}
|
|
48
|
+
if (relation.completeness) {
|
|
49
|
+
yield quad(s, namedNode(PRED.gloss.completeness), namedNode(COMPLETENESS_NS + relation.completeness));
|
|
50
|
+
}
|
|
51
|
+
if (relation.criterion && typeof relation.criterion === 'object') {
|
|
52
|
+
for (const [lang, text] of Object.entries(relation.criterion)) {
|
|
53
|
+
if (typeof text !== 'string')
|
|
54
|
+
continue;
|
|
55
|
+
yield quad(s, namedNode(PRED.gloss.criterion), literal(text, lang));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export function partitiveRelationSubjectUri(parentUri, relation, index) {
|
|
60
|
+
const base = parentUri.replace(/\/concept\/[^/]+$/, '');
|
|
61
|
+
const carrierId = parentUri.split('/concept/')[1] ?? `carrier-${index}`;
|
|
62
|
+
const compId = relation?.comprehensive?.id ?? `comp-${index}`;
|
|
63
|
+
return `${base}/partitive-relation/${carrierId}/${compId}`;
|
|
64
|
+
}
|
|
65
|
+
function conceptRefUri(ref, parentUri) {
|
|
66
|
+
const id = ref?.id;
|
|
67
|
+
if (id) {
|
|
68
|
+
const base = parentUri.split('/concept/')[0];
|
|
69
|
+
return `${base}/concept/${id}`;
|
|
70
|
+
}
|
|
71
|
+
return `urn:glossarist:${ref?.source ?? 'unknown'}:`;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=gloss-partitive-relation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gloss-partitive-relation.js","sourceRoot":"","sources":["../../src/rdf/gloss-partitive-relation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
interface ConceptSourceLike {
|
|
2
|
+
status?: string | null;
|
|
3
|
+
type?: string | null;
|
|
4
|
+
modification?: string | null;
|
|
5
|
+
origin?: CitationLike | null;
|
|
6
|
+
sourcedFrom?: ReadonlyArray<CitationLike>;
|
|
7
|
+
sourced_from?: ReadonlyArray<CitationLike>;
|
|
8
|
+
}
|
|
9
|
+
export type { ConceptSourceLike };
|
|
10
|
+
interface CitationLike {
|
|
11
|
+
original?: string | null;
|
|
12
|
+
link?: string | null;
|
|
13
|
+
ref?: {
|
|
14
|
+
source?: string;
|
|
15
|
+
id?: string;
|
|
16
|
+
version?: string;
|
|
17
|
+
} | null;
|
|
18
|
+
}
|
|
19
|
+
export declare function conceptSourceToQuads(source: ConceptSourceLike, { subjectUri, index }: {
|
|
20
|
+
subjectUri: string;
|
|
21
|
+
index: number;
|
|
22
|
+
}): Generator<import("n3").Quad, void, unknown>;
|
|
23
|
+
//# sourceMappingURL=gloss-source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gloss-source.d.ts","sourceRoot":"","sources":["../../src/rdf/gloss-source.ts"],"names":[],"mappings":"AAUA,UAAU,iBAAiB;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAC1C,YAAY,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;CAC5C;AACD,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAClC,UAAU,YAAY;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,GAAG,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACjE;AAED,wBAAiB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,+CA0B5H"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// ConceptSource → RDF quads. Mirrors glossarist-ruby's
|
|
2
|
+
// `Rdf::GlossConceptSource` + `Rdf::GlossCitation`. Sources are reified
|
|
3
|
+
// resources linked from their parent (concept or localized concept or
|
|
4
|
+
// definition) via `gloss:hasSource`.
|
|
5
|
+
import { PRED } from './predicates.js';
|
|
6
|
+
import { WELL_KNOWN } from './prefixes.js';
|
|
7
|
+
import { deterministicBnode } from './deterministic-id.js';
|
|
8
|
+
import { normalizeEnum } from './normalize-enum.js';
|
|
9
|
+
import { namedNode, literal, quad } from './terms.js';
|
|
10
|
+
export function* conceptSourceToQuads(source, { subjectUri, index }) {
|
|
11
|
+
const srcSubject = deterministicBnode(subjectUri, 'source', index);
|
|
12
|
+
yield quad(namedNode(subjectUri), namedNode(PRED.gloss.hasSource), namedNode(srcSubject));
|
|
13
|
+
yield quad(namedNode(srcSubject), namedNode(WELL_KNOWN.rdfType), namedNode(PRED.gloss.ConceptSource));
|
|
14
|
+
const statusToken = normalizeEnum(source.status);
|
|
15
|
+
if (statusToken) {
|
|
16
|
+
yield quad(namedNode(srcSubject), namedNode(PRED.gloss.sourceStatus), namedNode(`${PRED.gloss.$ns}srcstatus/${statusToken}`));
|
|
17
|
+
}
|
|
18
|
+
const typeToken = normalizeEnum(source.type);
|
|
19
|
+
if (typeToken) {
|
|
20
|
+
yield quad(namedNode(srcSubject), namedNode(PRED.gloss.sourceType), namedNode(`${PRED.gloss.$ns}srctype/${typeToken}`));
|
|
21
|
+
}
|
|
22
|
+
if (source.modification) {
|
|
23
|
+
yield quad(namedNode(srcSubject), namedNode(PRED.gloss.modification), literal(source.modification));
|
|
24
|
+
}
|
|
25
|
+
if (source.origin) {
|
|
26
|
+
yield* citationToQuads(source.origin, { subjectUri: srcSubject, predicate: PRED.gloss.sourceOrigin, bnodeKey: 'origin' });
|
|
27
|
+
}
|
|
28
|
+
const sourcedFrom = source.sourcedFrom ?? source.sourced_from ?? [];
|
|
29
|
+
for (let i = 0; i < sourcedFrom.length; i++) {
|
|
30
|
+
yield* citationToQuads(sourcedFrom[i], { subjectUri: srcSubject, predicate: PRED.gloss.sourcedFrom, bnodeKey: 'sourced_from', index: i });
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function* citationToQuads(citation, { subjectUri, predicate, bnodeKey, index = 0 }) {
|
|
34
|
+
const citSubject = deterministicBnode(subjectUri, bnodeKey, index);
|
|
35
|
+
yield quad(namedNode(subjectUri), namedNode(predicate), namedNode(citSubject));
|
|
36
|
+
yield quad(namedNode(citSubject), namedNode(WELL_KNOWN.rdfType), namedNode(PRED.gloss.Citation));
|
|
37
|
+
if (citation.original) {
|
|
38
|
+
yield quad(namedNode(citSubject), namedNode(PRED.gloss.citationOriginal), literal(citation.original));
|
|
39
|
+
}
|
|
40
|
+
if (citation.link) {
|
|
41
|
+
yield quad(namedNode(citSubject), namedNode(PRED.gloss.citationLink), literal(citation.link));
|
|
42
|
+
}
|
|
43
|
+
if (citation.ref) {
|
|
44
|
+
if (citation.ref.source)
|
|
45
|
+
yield quad(namedNode(citSubject), namedNode(PRED.gloss.citationRefSource), literal(citation.ref.source));
|
|
46
|
+
if (citation.ref.id)
|
|
47
|
+
yield quad(namedNode(citSubject), namedNode(PRED.gloss.citationRefId), literal(citation.ref.id));
|
|
48
|
+
if (citation.ref.version)
|
|
49
|
+
yield quad(namedNode(citSubject), namedNode(PRED.gloss.citationRefVersion), literal(citation.ref.version));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=gloss-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gloss-source.js","sourceRoot":"","sources":["../../src/rdf/gloss-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {'lineage' | 'topic' | 'family' | 'collection' | 'default'} DatasetGroupKind
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* @typedef {Object} GroupEmitInput
|
|
6
|
+
* @property {string} groupId
|
|
7
|
+
* @property {string} groupIri
|
|
8
|
+
* @property {DatasetGroupKind} kind
|
|
9
|
+
* @property {string} title
|
|
10
|
+
* @property {string} [description]
|
|
11
|
+
* @property {readonly string[]} memberIris
|
|
12
|
+
* @property {string} [currentMemberIri]
|
|
13
|
+
* @property {string} [subject]
|
|
14
|
+
* @property {readonly string[]} [themes]
|
|
15
|
+
* @property {readonly string[]} [keywords]
|
|
16
|
+
* @property {string} [publisher]
|
|
17
|
+
* @property {string} [contact]
|
|
18
|
+
* @property {string} [sourceRepo]
|
|
19
|
+
*/
|
|
20
|
+
export type DatasetGroupKind = 'lineage' | 'topic' | 'family' | 'collection' | 'default';
|
|
21
|
+
export interface GroupEmitInput {
|
|
22
|
+
groupId: string;
|
|
23
|
+
groupIri: string;
|
|
24
|
+
kind: DatasetGroupKind;
|
|
25
|
+
title: string;
|
|
26
|
+
description?: string;
|
|
27
|
+
memberIris?: readonly string[];
|
|
28
|
+
currentMemberIri?: string;
|
|
29
|
+
subject?: string;
|
|
30
|
+
themes?: readonly string[];
|
|
31
|
+
keywords?: readonly string[];
|
|
32
|
+
publisher?: string;
|
|
33
|
+
contact?: string;
|
|
34
|
+
sourceRepo?: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Emits dcat:DatasetSeries or dcat:Catalog quads for one group.
|
|
38
|
+
*
|
|
39
|
+
* Returns an empty generator (no quads) for 'default' kind — those
|
|
40
|
+
* groups have no RDF semantics.
|
|
41
|
+
*
|
|
42
|
+
* @param {GroupEmitInput} input
|
|
43
|
+
* @returns {Generator<Quad, void, unknown>}
|
|
44
|
+
*/
|
|
45
|
+
export declare function groupToQuads(input: GroupEmitInput): Generator<import("n3").Quad, void, unknown>;
|
|
46
|
+
//# sourceMappingURL=group-emitter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-emitter.d.ts","sourceRoot":"","sources":["../../src/rdf/group-emitter.ts"],"names":[],"mappings":"AA6CA;;GAEG;AACH;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAC;AAEzF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAcD;;;;;;;;GAQG;AACH,wBAAiB,YAAY,CAAC,KAAK,EAAE,cAAc,+CA8ClD"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
// Group emitter — emits dcat:DatasetSeries (lineage) or dcat:Catalog
|
|
2
|
+
// (topic/family/collection) for dataset groups. Mirrors concept-browser's
|
|
3
|
+
// group-emitter.ts.
|
|
4
|
+
//
|
|
5
|
+
// A lineage group (editions of the same vocabulary) is rendered as
|
|
6
|
+
// dcat:DatasetSeries with hasVersion links to each member edition.
|
|
7
|
+
// The current edition is linked via hasCurrentVersion.
|
|
8
|
+
//
|
|
9
|
+
// Other group kinds (topic, family, collection) are rendered as
|
|
10
|
+
// dcat:Catalog with dcat:dataset links to each member.
|
|
11
|
+
//
|
|
12
|
+
// Both kinds are also typed as skos:ConceptScheme for SKOS interop.
|
|
13
|
+
import { namedNode, literal, quad } from './terms.js';
|
|
14
|
+
import { PREFIXES } from './prefixes.js';
|
|
15
|
+
import { RDF_TYPE } from './curie.js';
|
|
16
|
+
// Namespace IRIs from canonical PREFIXES.
|
|
17
|
+
const DCAT_NS = PREFIXES.dcat ?? 'http://www.w3.org/ns/dcat#';
|
|
18
|
+
const DCTERMS_NS = PREFIXES.dcterms;
|
|
19
|
+
const SKOS_NS = PREFIXES.skos;
|
|
20
|
+
const PROV_NS = PREFIXES.prov;
|
|
21
|
+
const DCAT = {
|
|
22
|
+
DatasetSeries: `${DCAT_NS}DatasetSeries`,
|
|
23
|
+
Catalog: `${DCAT_NS}Catalog`,
|
|
24
|
+
ConceptScheme: `${SKOS_NS}ConceptScheme`,
|
|
25
|
+
hasVersion: `${DCAT_NS}hasVersion`,
|
|
26
|
+
hasCurrentVersion: `${DCAT_NS}hasCurrentVersion`,
|
|
27
|
+
dataset: `${DCAT_NS}dataset`,
|
|
28
|
+
theme: `${DCAT_NS}theme`,
|
|
29
|
+
keyword: `${DCAT_NS}keyword`,
|
|
30
|
+
contactPoint: `${DCAT_NS}contactPoint`,
|
|
31
|
+
};
|
|
32
|
+
const DCTERMS = {
|
|
33
|
+
title: `${DCTERMS_NS}title`,
|
|
34
|
+
description: `${DCTERMS_NS}description`,
|
|
35
|
+
identifier: `${DCTERMS_NS}identifier`,
|
|
36
|
+
subject: `${DCTERMS_NS}subject`,
|
|
37
|
+
publisher: `${DCTERMS_NS}publisher`,
|
|
38
|
+
};
|
|
39
|
+
const PROV = {
|
|
40
|
+
wasDerivedFrom: `${PROV_NS}wasDerivedFrom`,
|
|
41
|
+
};
|
|
42
|
+
// Returns the RDF class IRIs for a group kind. Empty for 'default'
|
|
43
|
+
// (no semantics — group is purely a presentation concern).
|
|
44
|
+
function rdfClassesForKind(kind) {
|
|
45
|
+
switch (kind) {
|
|
46
|
+
case 'lineage': return [DCAT.DatasetSeries, DCAT.ConceptScheme];
|
|
47
|
+
case 'topic':
|
|
48
|
+
case 'family':
|
|
49
|
+
case 'collection': return [DCAT.Catalog, DCAT.ConceptScheme];
|
|
50
|
+
default: return [];
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Emits dcat:DatasetSeries or dcat:Catalog quads for one group.
|
|
55
|
+
*
|
|
56
|
+
* Returns an empty generator (no quads) for 'default' kind — those
|
|
57
|
+
* groups have no RDF semantics.
|
|
58
|
+
*
|
|
59
|
+
* @param {GroupEmitInput} input
|
|
60
|
+
* @returns {Generator<Quad, void, unknown>}
|
|
61
|
+
*/
|
|
62
|
+
export function* groupToQuads(input) {
|
|
63
|
+
const classes = rdfClassesForKind(input.kind);
|
|
64
|
+
if (classes.length === 0)
|
|
65
|
+
return;
|
|
66
|
+
const g = namedNode(input.groupIri);
|
|
67
|
+
for (const cls of classes) {
|
|
68
|
+
yield quad(g, namedNode(RDF_TYPE), namedNode(cls));
|
|
69
|
+
}
|
|
70
|
+
yield quad(g, namedNode(DCTERMS.title), literal(input.title));
|
|
71
|
+
yield quad(g, namedNode(DCTERMS.identifier), literal(input.groupId));
|
|
72
|
+
if (input.description) {
|
|
73
|
+
yield quad(g, namedNode(DCTERMS.description), literal(input.description));
|
|
74
|
+
}
|
|
75
|
+
if (input.subject) {
|
|
76
|
+
yield quad(g, namedNode(DCTERMS.subject), literal(input.subject));
|
|
77
|
+
}
|
|
78
|
+
for (const theme of input.themes ?? []) {
|
|
79
|
+
yield quad(g, namedNode(DCAT.theme), namedNode(theme));
|
|
80
|
+
}
|
|
81
|
+
for (const kw of input.keywords ?? []) {
|
|
82
|
+
yield quad(g, namedNode(DCAT.keyword), literal(kw));
|
|
83
|
+
}
|
|
84
|
+
if (input.publisher) {
|
|
85
|
+
yield quad(g, namedNode(DCTERMS.publisher), namedNode(input.publisher));
|
|
86
|
+
}
|
|
87
|
+
if (input.contact) {
|
|
88
|
+
yield quad(g, namedNode(DCAT.contactPoint), namedNode(input.contact));
|
|
89
|
+
}
|
|
90
|
+
if (input.sourceRepo) {
|
|
91
|
+
yield quad(g, namedNode(PROV.wasDerivedFrom), namedNode(input.sourceRepo));
|
|
92
|
+
}
|
|
93
|
+
if (input.kind === 'lineage') {
|
|
94
|
+
for (const memberIri of input.memberIris ?? []) {
|
|
95
|
+
yield quad(g, namedNode(DCAT.hasVersion), namedNode(memberIri));
|
|
96
|
+
}
|
|
97
|
+
if (input.currentMemberIri) {
|
|
98
|
+
yield quad(g, namedNode(DCAT.hasCurrentVersion), namedNode(input.currentMemberIri));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
for (const memberIri of input.memberIris ?? []) {
|
|
103
|
+
yield quad(g, namedNode(DCAT.dataset), namedNode(memberIri));
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=group-emitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-emitter.js","sourceRoot":"","sources":["../../src/rdf/group-emitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type ImageFormat = 'svg' | 'png' | 'webp' | 'jpg' | 'gif';
|
|
2
|
+
export interface ImageVariantInput {
|
|
3
|
+
registerId: string;
|
|
4
|
+
figureId: string;
|
|
5
|
+
lang?: string;
|
|
6
|
+
format: ImageFormat;
|
|
7
|
+
byteSize?: number;
|
|
8
|
+
downloadUrl: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function imageVariantIri(input: ImageVariantInput, baseUri: string): string;
|
|
11
|
+
export declare function imageVariantToQuads(input: ImageVariantInput, baseUri: string): Generator<import("n3").Quad, void, unknown>;
|
|
12
|
+
//# sourceMappingURL=image-variant-emitter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-variant-emitter.d.ts","sourceRoot":"","sources":["../../src/rdf/image-variant-emitter.ts"],"names":[],"mappings":"AAiCA,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAEjE,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAUD,wBAAgB,eAAe,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAIjF;AAED,wBAAiB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,+CAY7E"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// Image variant emitter — emits foaf:Image per format/language variant
|
|
2
|
+
// of a dataset figure. Mirrors concept-browser's image-variant-emitter.ts.
|
|
3
|
+
//
|
|
4
|
+
// Each variant becomes a foaf:Image with:
|
|
5
|
+
// - dcterms:format (MIME type)
|
|
6
|
+
// - dcterms:language (when localized)
|
|
7
|
+
// - dcat:byteSize (when known)
|
|
8
|
+
// - dcat:downloadURL (canonical download)
|
|
9
|
+
import { namedNode, literal, quad } from './terms.js';
|
|
10
|
+
import { PREFIXES } from './prefixes.js';
|
|
11
|
+
import { RDF_TYPE } from './curie.js';
|
|
12
|
+
const FOAF_NS = PREFIXES.foaf ?? 'http://xmlns.com/foaf/0.1/';
|
|
13
|
+
const DCTERMS_NS = PREFIXES.dcterms;
|
|
14
|
+
const DCAT_NS = PREFIXES.dcat ?? 'http://www.w3.org/ns/dcat#';
|
|
15
|
+
const XSD_NS = PREFIXES.xsd;
|
|
16
|
+
const FOAF = {
|
|
17
|
+
Image: `${FOAF_NS}Image`,
|
|
18
|
+
};
|
|
19
|
+
const DCTERMS = {
|
|
20
|
+
format: `${DCTERMS_NS}format`,
|
|
21
|
+
language: `${DCTERMS_NS}language`,
|
|
22
|
+
};
|
|
23
|
+
const DCAT = {
|
|
24
|
+
byteSize: `${DCAT_NS}byteSize`,
|
|
25
|
+
downloadURL: `${DCAT_NS}downloadURL`,
|
|
26
|
+
};
|
|
27
|
+
const XSD_INTEGER = `${XSD_NS}integer`;
|
|
28
|
+
const MIME_BY_FORMAT = Object.freeze({
|
|
29
|
+
svg: 'image/svg+xml',
|
|
30
|
+
png: 'image/png',
|
|
31
|
+
webp: 'image/webp',
|
|
32
|
+
jpg: 'image/jpeg',
|
|
33
|
+
gif: 'image/gif',
|
|
34
|
+
});
|
|
35
|
+
export function imageVariantIri(input, baseUri) {
|
|
36
|
+
if (!baseUri)
|
|
37
|
+
throw new Error('imageVariantIri requires baseUri — the deployment canonical URI root.');
|
|
38
|
+
const langSuffix = input.lang ? `${input.lang}.` : '';
|
|
39
|
+
return `${baseUri}/${input.registerId}/image/${input.figureId}/${langSuffix}${input.format}`;
|
|
40
|
+
}
|
|
41
|
+
export function* imageVariantToQuads(input, baseUri) {
|
|
42
|
+
if (!baseUri)
|
|
43
|
+
throw new Error('imageVariantToQuads requires baseUri — the deployment canonical URI root.');
|
|
44
|
+
const img = namedNode(imageVariantIri(input, baseUri));
|
|
45
|
+
yield quad(img, namedNode(RDF_TYPE), namedNode(FOAF.Image));
|
|
46
|
+
yield quad(img, namedNode(DCTERMS.format), literal(MIME_BY_FORMAT[input.format] ?? 'application/octet-stream'));
|
|
47
|
+
if (input.lang) {
|
|
48
|
+
yield quad(img, namedNode(DCTERMS.language), literal(input.lang));
|
|
49
|
+
}
|
|
50
|
+
if (input.byteSize != null) {
|
|
51
|
+
yield quad(img, namedNode(DCAT.byteSize), literal(String(input.byteSize), namedNode(XSD_INTEGER)));
|
|
52
|
+
}
|
|
53
|
+
yield quad(img, namedNode(DCAT.downloadURL), namedNode(input.downloadUrl));
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=image-variant-emitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-variant-emitter.js","sourceRoot":"","sources":["../../src/rdf/image-variant-emitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export { PRED, PREFIXES, SKOSXL, WELL_KNOWN } from './prefixes.js';
|
|
2
|
+
export { resolveIri, compactIri, isAbsoluteIri, RDF_TYPE, RDF_VALUE, RDFS_LABEL, } from './curie.js';
|
|
3
|
+
export { deterministicBnodeId } from './bnode-id.js';
|
|
4
|
+
export { deterministicId, deterministicBnode } from './deterministic-id.js';
|
|
5
|
+
export { namedNode, blankNode, literal, defaultGraph, quad } from './terms.js';
|
|
6
|
+
export { conceptUri, conceptToQuads, } from './gloss-concept.js';
|
|
7
|
+
export { localizedConceptUri, localizedConceptToQuads, } from './gloss-localized-concept.js';
|
|
8
|
+
export { designationToQuads, skosLabelPredicate, skosxlLabelPredicate, } from './gloss-designation.js';
|
|
9
|
+
export { detailedDefinitionToQuads } from './gloss-detailed-definition.js';
|
|
10
|
+
export { conceptSourceToQuads } from './gloss-source.js';
|
|
11
|
+
export { partitiveMemberToQuads, MULTIPLICITY_NS, PRESENCE_NS, COUNT_NS } from './gloss-partitive-member.js';
|
|
12
|
+
export { partitiveRelationToQuads, partitiveRelationSubjectUri } from './gloss-partitive-relation.js';
|
|
13
|
+
export { nonVerbalRepToQuads, nonVerbalEntityToQuads, nonVerbalEntityUri, } from './gloss-non-verbal-rep.js';
|
|
14
|
+
export { vocabularySchemeToQuads, vocabularyToQuads, } from './vocabulary-emitter.js';
|
|
15
|
+
export { datasetToQuads } from './dataset-emitter.js';
|
|
16
|
+
export { groupToQuads } from './group-emitter.js';
|
|
17
|
+
export { bibliographyToQuads, bibliographyEntryIri, normalizeBibliographyData } from './bibliography-emitter.js';
|
|
18
|
+
export { buildActivityIri, buildActivityToQuads } from './build-activity-emitter.js';
|
|
19
|
+
export { agentsFromContributors, agentsToQuads, slugify } from './agents-emitter.js';
|
|
20
|
+
export { versionToQuads, versionHistoryToQuads } from './version-emitter.js';
|
|
21
|
+
export { imageVariantIri, imageVariantToQuads } from './image-variant-emitter.js';
|
|
22
|
+
export { collectQuads, writeTurtle, writeNTriples, writeJsonld, sortQuads, } from './document-writer.js';
|
|
23
|
+
export { writeTurtleSync } from './write-turtle-sync.js';
|
|
24
|
+
export { quadSectionsToClassInstances } from './sections-builder.js';
|
|
25
|
+
export { provenanceToQuads } from './provenance-emitter.js';
|
|
26
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rdf/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EACL,UAAU,EACV,UAAU,EACV,aAAa,EACb,QAAQ,EACR,SAAS,EACT,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EACL,UAAU,EACV,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC7G,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AACtG,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACjH,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EACL,YAAY,EACZ,WAAW,EACX,aAAa,EACb,WAAW,EACX,SAAS,GACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAIzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}
|