@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/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
- classes: $convertToScalarSet(($convertToIri), true)(parameters?.classes).chain((value) => $validateArray($identityValidationFunction, true)(sh_NodeShape.schema.properties.classes.type, value)),
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
- classes: {
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.classes.path, parameters.object.classes.flatMap((item) => [item]), parameters.graph);
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
- classes: $convertToScalarSet(($convertToIri), true)(parameters.classes).chain((value) => $validateArray($identityValidationFunction, true)(sh_NodeShape.schema.properties.classes.type, value)),
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
- classes: {
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.classes.path, parameters.object.classes.flatMap((item) => [item]), parameters.graph);
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
- classes: {
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>({ namespace, }: {
9
- namespace: NamespaceT;
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({ namespace, }) {
18
- function ConceptBuilder($identifier, parameters) {
19
- const { broader: broaderParameter, ...otherParameters } = parameters ?? {};
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, namespace),
23
- broader: convertRelatedConcepts(broaderParameter, (key) => toIri(key, namespace)),
26
+ $identifier: toIri($identifier),
27
+ broader: convertRelatedConcepts(broaderParameter, (key) => toIri(key)),
28
+ prefLabel,
24
29
  });
25
30
  }
26
31
  return {
27
- Concept: ConceptBuilder,
32
+ namespace: _namespace,
33
+ Concept: Concept,
28
34
  ConceptScheme: ($identifier, parameters) => {
29
- const { concepts: conceptsRecord, ...otherParameters } = parameters ?? {};
30
- const conceptSchemeIdentifier = toIri($identifier, namespace);
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(ConceptBuilder(conceptsRecordValue.$identifier
35
- ? toIri(conceptsRecordValue.$identifier, namespace)
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.31",
4
- "@rdfx/resource": "0.0.31",
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.31",
13
- "@rdfx/resource": "0.0.31",
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.31"
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
@@ -1,11 +0,0 @@
1
- export function toIri(iri, namespace) {
2
- switch (typeof iri) {
3
- case "object":
4
- return iri;
5
- case "string":
6
- return namespace(iri);
7
- default:
8
- throw new RangeError(typeof iri);
9
- }
10
- }
11
- //# sourceMappingURL=toIri.js.map