@rdfx/builder 0.0.31 → 0.0.33
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/BuilderBuilderParameters.d.ts +11 -0
- package/dist/BuilderBuilderParameters.js +2 -0
- package/dist/IdentifierLike.d.ts +5 -0
- package/dist/IdentifierLike.js +2 -0
- package/dist/IriLike.d.ts +4 -0
- package/dist/IriLike.js +2 -0
- package/dist/builder.d.ts +163 -40
- package/dist/builder.js +35 -2
- package/dist/index.d.ts +5 -1
- package/dist/index.js +11 -1
- package/dist/sh.d.ts +97 -9
- package/dist/sh.js +141 -70
- package/dist/shapes.d.ts +80 -80
- package/dist/shapes.js +7 -7
- package/dist/skos.d.ts +4 -3
- package/dist/skos.js +23 -11
- package/package.json +6 -5
- package/dist/toIri.d.ts +0 -4
- package/dist/toIri.js +0 -11
package/dist/shapes.js
CHANGED
|
@@ -326,7 +326,7 @@ export var sh_NodeShape;
|
|
|
326
326
|
sh_NodeShape.create = (parameters) => $sequenceRecord({
|
|
327
327
|
$identifier: $convertToIdentifierProperty(parameters?.$identifier),
|
|
328
328
|
and: $convertToMaybe($convertToList($identityConversionFunction, true))(parameters?.and).chain((value) => $validateMaybe($validateArray($identityValidationFunction, true))(sh_NodeShape.schema.properties.and.type, value)),
|
|
329
|
-
|
|
329
|
+
class_: $convertToScalarSet(($convertToIri), true)(parameters?.class_).chain((value) => $validateArray($identityValidationFunction, true)(sh_NodeShape.schema.properties.class_.type, value)),
|
|
330
330
|
closed: $convertToMaybe($identityConversionFunction)(parameters?.closed).chain((value) => $validateMaybe($identityValidationFunction)(sh_NodeShape.schema.properties.closed.type, value)),
|
|
331
331
|
comment: $convertToMaybe($identityConversionFunction)(parameters?.comment).chain((value) => $validateMaybe($identityValidationFunction)(owl_Ontology.schema.properties.comment.type, value)),
|
|
332
332
|
datatype: $convertToMaybe(($convertToIri))(parameters?.datatype).chain((value) => $validateMaybe($identityValidationFunction)(sh_NodeShape.schema.properties.datatype.type, value)),
|
|
@@ -424,7 +424,7 @@ export var sh_NodeShape;
|
|
|
424
424
|
};
|
|
425
425
|
},
|
|
426
426
|
},
|
|
427
|
-
|
|
427
|
+
class_: {
|
|
428
428
|
kind: "Shacl",
|
|
429
429
|
path: dataFactory.namedNode("http://www.w3.org/ns/shacl#class"),
|
|
430
430
|
type: { kind: "Set", itemType: { kind: "Iri" } },
|
|
@@ -920,7 +920,7 @@ export var sh_NodeShape;
|
|
|
920
920
|
}).listResource.identifier
|
|
921
921
|
: $RdfVocabularies.rdf.nil,
|
|
922
922
|
]), parameters.graph);
|
|
923
|
-
parameters.resource.add(sh_NodeShape.schema.properties.
|
|
923
|
+
parameters.resource.add(sh_NodeShape.schema.properties.class_.path, parameters.object.class_.flatMap((item) => [item]), parameters.graph);
|
|
924
924
|
parameters.resource.add(sh_NodeShape.schema.properties.closed.path, parameters.object.closed
|
|
925
925
|
.toList()
|
|
926
926
|
.flatMap((value) => [
|
|
@@ -1306,7 +1306,7 @@ export var sh_PropertyShape;
|
|
|
1306
1306
|
sh_PropertyShape.create = (parameters) => $sequenceRecord({
|
|
1307
1307
|
$identifier: $convertToIdentifierProperty(parameters.$identifier),
|
|
1308
1308
|
and: $convertToMaybe($convertToList($identityConversionFunction, true))(parameters.and).chain((value) => $validateMaybe($validateArray($identityValidationFunction, true))(sh_NodeShape.schema.properties.and.type, value)),
|
|
1309
|
-
|
|
1309
|
+
class_: $convertToScalarSet(($convertToIri), true)(parameters.class_).chain((value) => $validateArray($identityValidationFunction, true)(sh_NodeShape.schema.properties.class_.type, value)),
|
|
1310
1310
|
comment: $convertToMaybe($identityConversionFunction)(parameters.comment).chain((value) => $validateMaybe($identityValidationFunction)(owl_Ontology.schema.properties.comment.type, value)),
|
|
1311
1311
|
datatype: $convertToMaybe(($convertToIri))(parameters.datatype).chain((value) => $validateMaybe($identityValidationFunction)(sh_NodeShape.schema.properties.datatype.type, value)),
|
|
1312
1312
|
deactivated: $convertToMaybe($identityConversionFunction)(parameters.deactivated).chain((value) => $validateMaybe($identityValidationFunction)(sh_NodeShape.schema.properties.deactivated.type, value)),
|
|
@@ -1412,7 +1412,7 @@ export var sh_PropertyShape;
|
|
|
1412
1412
|
};
|
|
1413
1413
|
},
|
|
1414
1414
|
},
|
|
1415
|
-
|
|
1415
|
+
class_: {
|
|
1416
1416
|
kind: "Shacl",
|
|
1417
1417
|
path: dataFactory.namedNode("http://www.w3.org/ns/shacl#class"),
|
|
1418
1418
|
type: { kind: "Set", itemType: { kind: "Iri" } },
|
|
@@ -1974,7 +1974,7 @@ export var sh_PropertyShape;
|
|
|
1974
1974
|
}).listResource.identifier
|
|
1975
1975
|
: $RdfVocabularies.rdf.nil,
|
|
1976
1976
|
]), parameters.graph);
|
|
1977
|
-
parameters.resource.add(sh_NodeShape.schema.properties.
|
|
1977
|
+
parameters.resource.add(sh_NodeShape.schema.properties.class_.path, parameters.object.class_.flatMap((item) => [item]), parameters.graph);
|
|
1978
1978
|
parameters.resource.add(owl_Ontology.schema.properties.comment.path, parameters.object.comment
|
|
1979
1979
|
.toList()
|
|
1980
1980
|
.flatMap((value) => [$literalFactory.string(value)]), parameters.graph);
|
|
@@ -2897,7 +2897,7 @@ export var sh_Shape;
|
|
|
2897
2897
|
};
|
|
2898
2898
|
},
|
|
2899
2899
|
},
|
|
2900
|
-
|
|
2900
|
+
class_: {
|
|
2901
2901
|
kind: "Shacl",
|
|
2902
2902
|
path: dataFactory.namedNode("http://www.w3.org/ns/shacl#class"),
|
|
2903
2903
|
type: { kind: "Set", itemType: { kind: "Iri" } },
|
package/dist/skos.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import type { NamespaceBuilder } from "@rdfjs/namespace";
|
|
2
2
|
import type { NamedNode } from "@rdfjs/types";
|
|
3
|
+
import { skos as _namespace } from "@tpluscode/rdf-ns-builders";
|
|
4
|
+
import type { BuilderBuilderParameters } from "./BuilderBuilderParameters.js";
|
|
3
5
|
import { skos_Concept, skos_ConceptScheme } from "./shapes.js";
|
|
4
6
|
export interface ConvertibleConceptParameters<ConceptIriString extends string> extends Omit<Parameters<typeof skos_Concept.createUnsafe>[0], "$identifier" | "broader" | "termType"> {
|
|
5
7
|
readonly broader?: ConvertibleRelatedConcepts<ConceptIriString>;
|
|
6
8
|
}
|
|
7
9
|
type ConvertibleRelatedConcepts<ConceptIriString> = ConceptIriString | NamedNode | skos_Concept | readonly (ConceptIriString | NamedNode | skos_Concept)[];
|
|
8
|
-
export declare function skos<NamespaceT extends NamespaceBuilder>({
|
|
9
|
-
namespace:
|
|
10
|
-
}): {
|
|
10
|
+
export declare function skos<NamespaceT extends NamespaceBuilder>({ toIri, }: BuilderBuilderParameters<NamespaceT>): {
|
|
11
|
+
namespace: NamespaceBuilder<keyof typeof _namespace>;
|
|
11
12
|
Concept: ($identifier: NamedNode | (keyof NamespaceT & string), parameters?: ConvertibleConceptParameters<keyof NamespaceT & string>) => skos_Concept;
|
|
12
13
|
ConceptScheme: <ConceptsRecordT extends { [K in keyof ConceptsRecordT]: Omit<ConvertibleConceptParameters<Extract<keyof ConceptsRecordT, string>>, "broader" | "notation"> & {
|
|
13
14
|
readonly $identifier?: (keyof NamespaceT & string) | NamedNode;
|
package/dist/skos.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import dataFactory from "@rdfx/data-factory";
|
|
2
|
+
import { skos as _namespace } from "@tpluscode/rdf-ns-builders";
|
|
3
|
+
import { sentenceCase } from "change-case";
|
|
2
4
|
import { skos_Concept, skos_ConceptScheme } from "./shapes.js";
|
|
3
|
-
import { toIri } from "./toIri.js";
|
|
4
5
|
function convertRelatedConcepts(relatedConcepts, toIri) {
|
|
5
6
|
if (!relatedConcepts) {
|
|
6
7
|
return [];
|
|
@@ -14,25 +15,30 @@ function convertRelatedConcepts(relatedConcepts, toIri) {
|
|
|
14
15
|
return relatedConcept;
|
|
15
16
|
});
|
|
16
17
|
}
|
|
17
|
-
export function skos({
|
|
18
|
-
function
|
|
19
|
-
|
|
18
|
+
export function skos({ toIri, }) {
|
|
19
|
+
function Concept($identifier, parameters) {
|
|
20
|
+
let { broader: broaderParameter, prefLabel, ...otherParameters } = parameters ?? {};
|
|
21
|
+
if (!prefLabel && typeof $identifier === "string") {
|
|
22
|
+
prefLabel = sentenceCase($identifier);
|
|
23
|
+
}
|
|
20
24
|
return skos_Concept.createUnsafe({
|
|
21
25
|
...otherParameters,
|
|
22
|
-
$identifier: toIri($identifier
|
|
23
|
-
broader: convertRelatedConcepts(broaderParameter, (key) => toIri(key
|
|
26
|
+
$identifier: toIri($identifier),
|
|
27
|
+
broader: convertRelatedConcepts(broaderParameter, (key) => toIri(key)),
|
|
28
|
+
prefLabel,
|
|
24
29
|
});
|
|
25
30
|
}
|
|
26
31
|
return {
|
|
27
|
-
|
|
32
|
+
namespace: _namespace,
|
|
33
|
+
Concept: Concept,
|
|
28
34
|
ConceptScheme: ($identifier, parameters) => {
|
|
29
|
-
|
|
30
|
-
const conceptSchemeIdentifier = toIri($identifier
|
|
35
|
+
let { concepts: conceptsRecord, prefLabel, ...otherParameters } = parameters ?? {};
|
|
36
|
+
const conceptSchemeIdentifier = toIri($identifier);
|
|
31
37
|
const conceptsRecordKeyToIri = (conceptsRecordKey) => dataFactory.namedNode(`${conceptSchemeIdentifier.value}_${conceptsRecordKey}`);
|
|
32
38
|
const concepts = [];
|
|
33
39
|
for (const [conceptsRecordKey, conceptsRecordValue] of Object.entries(conceptsRecord ?? {})) {
|
|
34
|
-
concepts.push(
|
|
35
|
-
? toIri(conceptsRecordValue.$identifier
|
|
40
|
+
concepts.push(Concept(conceptsRecordValue.$identifier
|
|
41
|
+
? toIri(conceptsRecordValue.$identifier)
|
|
36
42
|
: conceptsRecordKeyToIri(conceptsRecordKey), {
|
|
37
43
|
...conceptsRecordValue,
|
|
38
44
|
broader: convertRelatedConcepts(conceptsRecordValue.broader, conceptsRecordKeyToIri),
|
|
@@ -40,12 +46,18 @@ export function skos({ namespace, }) {
|
|
|
40
46
|
conceptsRecordValue.notation
|
|
41
47
|
? [dataFactory.literal(conceptsRecordKey)]
|
|
42
48
|
: conceptsRecordValue.notation,
|
|
49
|
+
prefLabel: conceptsRecordValue.prefLabel ??
|
|
50
|
+
sentenceCase(conceptsRecordKey),
|
|
43
51
|
}));
|
|
44
52
|
}
|
|
53
|
+
if (!prefLabel && typeof $identifier === "string") {
|
|
54
|
+
prefLabel = sentenceCase($identifier);
|
|
55
|
+
}
|
|
45
56
|
return skos_ConceptScheme.createUnsafe({
|
|
46
57
|
...otherParameters,
|
|
47
58
|
$identifier: conceptSchemeIdentifier,
|
|
48
59
|
concepts,
|
|
60
|
+
prefLabel,
|
|
49
61
|
topConcepts: concepts
|
|
50
62
|
.filter((concept) => concept.broader.length === 0)
|
|
51
63
|
.map((concept) => concept.$identifier()),
|
package/package.json
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"dependencies": {
|
|
3
|
-
"@rdfx/data-factory": "0.0.
|
|
4
|
-
"@rdfx/resource": "0.0.
|
|
3
|
+
"@rdfx/data-factory": "0.0.33",
|
|
4
|
+
"@rdfx/resource": "0.0.33",
|
|
5
5
|
"@rdfjs/namespace": "~2.0.1",
|
|
6
6
|
"@rdfjs/types": "~2.0.1",
|
|
7
7
|
"@types/rdfjs__namespace": "~2.0.10",
|
|
8
|
+
"change-case": "~5.4.4",
|
|
8
9
|
"purify-ts": "~2.1.4",
|
|
9
10
|
"ts-invariant": "~0.10.3"
|
|
10
11
|
},
|
|
11
12
|
"devDependencies": {
|
|
12
|
-
"@rdfx/fs": "0.0.
|
|
13
|
-
"@rdfx/resource": "0.0.
|
|
13
|
+
"@rdfx/fs": "0.0.33",
|
|
14
|
+
"@rdfx/resource": "0.0.33",
|
|
14
15
|
"@rdfjs/dataset": "~2.0.2",
|
|
15
16
|
"@shaclmate/compiler": "4.0.65",
|
|
16
17
|
"@shaclmate/validator": "4.0.65",
|
|
@@ -41,5 +42,5 @@
|
|
|
41
42
|
},
|
|
42
43
|
"type": "module",
|
|
43
44
|
"types": "./dist/index.d.ts",
|
|
44
|
-
"version": "0.0.
|
|
45
|
+
"version": "0.0.33"
|
|
45
46
|
}
|
package/dist/toIri.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { NamespaceBuilder } from "@rdfjs/namespace";
|
|
2
|
-
import type { NamedNode } from "@rdfjs/types";
|
|
3
|
-
export declare function toIri<NamespaceT extends NamespaceBuilder>(iri: (keyof NamespaceT & string) | NamedNode, namespace: NamespaceT): NamedNode;
|
|
4
|
-
//# sourceMappingURL=toIri.d.ts.map
|
package/dist/toIri.js
DELETED