@shaclmate/validator 4.0.60

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.
@@ -0,0 +1,17 @@
1
+ import type PrefixMap from "@rdfjs/prefix-map/PrefixMap.js";
2
+ import type { DatasetCore } from "@rdfjs/types";
3
+ import { ValidationReport } from "@shaclmate/shacl-ast";
4
+ import { type Either, Maybe } from "purify-ts";
5
+ import { type Logger } from "ts-log";
6
+ import { Validator } from "./Validator.js";
7
+ export declare class JenaValidator extends Validator {
8
+ private jenaShaclFilePath;
9
+ private constructor();
10
+ static create({ logger, prefixMap, shapesGraph, }: {
11
+ logger?: Logger;
12
+ prefixMap?: PrefixMap;
13
+ shapesGraph: DatasetCore;
14
+ }): Promise<Either<Error, Maybe<JenaValidator>>>;
15
+ validate(dataGraph: DatasetCore): Promise<Either<Error, ValidationReport>>;
16
+ }
17
+ //# sourceMappingURL=JenaValidator.d.ts.map
@@ -0,0 +1,73 @@
1
+ import fs from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { Readable } from "node:stream";
4
+ import datasetFactory from "@rdfjs/dataset";
5
+ import dataFactory from "@rdfx/data-factory";
6
+ import parsers from "@rdfx/parsers";
7
+ import { ResourceSet } from "@rdfx/resource";
8
+ import { TurtleSerializer } from "@rdfx/serializers";
9
+ import { ValidationReport } from "@shaclmate/shacl-ast";
10
+ import { getStreamAsArray } from "get-stream";
11
+ import { EitherAsync, Maybe } from "purify-ts";
12
+ import tmp from "tmp-promise";
13
+ import { dummyLogger } from "ts-log";
14
+ import which from "which";
15
+ import { execPromisified } from "./execPromisified.js";
16
+ import { Validator } from "./Validator.js";
17
+ export class JenaValidator extends Validator {
18
+ jenaShaclFilePath;
19
+ constructor({ jenaShaclFilePath, ...superParameters }) {
20
+ super(superParameters);
21
+ this.jenaShaclFilePath = jenaShaclFilePath;
22
+ }
23
+ static async create({ logger = dummyLogger, prefixMap, shapesGraph, }) {
24
+ return EitherAsync(async () => {
25
+ const jenaShaclFilePath = await which("shacl", { nothrow: true });
26
+ if (jenaShaclFilePath === null) {
27
+ return Maybe.empty();
28
+ }
29
+ return Maybe.of(new JenaValidator({
30
+ jenaShaclFilePath,
31
+ logger,
32
+ prefixMap,
33
+ shapesGraph,
34
+ }));
35
+ });
36
+ }
37
+ async validate(dataGraph) {
38
+ return EitherAsync(async ({ liftEither }) => await tmp.withDir(async ({ path: tmpDirectoryPath }) => {
39
+ const dataGraphFilePath = path.join(tmpDirectoryPath, "data.ttl");
40
+ const serializer = new TurtleSerializer({
41
+ prefixes: this.prefixMap,
42
+ });
43
+ this.logger.debug("writing data graph to %s", dataGraphFilePath);
44
+ await fs.writeFile(dataGraphFilePath, serializer.transform(dataGraph));
45
+ this.logger.debug("wrote data graph to %s", dataGraphFilePath);
46
+ const shapesGraphFilePath = path.join(tmpDirectoryPath, "shapes.ttl");
47
+ this.logger.debug("writing shapes graph to %s", shapesGraphFilePath);
48
+ await fs.writeFile(shapesGraphFilePath, serializer.transform(this.shapesGraph));
49
+ this.logger.debug("wrote shapes graph to %s", shapesGraphFilePath);
50
+ const args = [
51
+ "validate",
52
+ "--data",
53
+ dataGraphFilePath,
54
+ "--shapes",
55
+ shapesGraphFilePath,
56
+ ];
57
+ this.logger.debug("validating with Jena (args=%s)", args);
58
+ const { code, stdout } = await execPromisified(this.jenaShaclFilePath, args);
59
+ this.logger.debug("validated with Jena: %s", code === 0 ? "conforms" : "does not conform");
60
+ const validationReportDataset = datasetFactory.dataset(await getStreamAsArray(parsers({ dataFactory }).import("text/turtle", Readable.from(stdout))));
61
+ for (const rdfTypeQuad of validationReportDataset.match(null, null, ValidationReport.schema.fromRdfType)) {
62
+ return await liftEither(ValidationReport.fromRdfResource(new ResourceSet({
63
+ dataFactory,
64
+ dataset: validationReportDataset,
65
+ }).resource(rdfTypeQuad.subject)));
66
+ }
67
+ throw new Error("unable to parse validation report from Jena shacl output");
68
+ }, {
69
+ unsafeCleanup: true,
70
+ }));
71
+ }
72
+ }
73
+ //# sourceMappingURL=JenaValidator.js.map
@@ -0,0 +1,17 @@
1
+ import type PrefixMap from "@rdfjs/prefix-map/PrefixMap.js";
2
+ import type { DatasetCore } from "@rdfjs/types";
3
+ import { ValidationReport } from "@shaclmate/shacl-ast";
4
+ import { type Either, Maybe } from "purify-ts";
5
+ import { type Logger } from "ts-log";
6
+ import { Validator } from "./Validator.js";
7
+ export declare class PyShaclValidator extends Validator {
8
+ private pyShaclFilePath;
9
+ private constructor();
10
+ static create({ logger, prefixMap, shapesGraph, }: {
11
+ logger?: Logger;
12
+ prefixMap?: PrefixMap;
13
+ shapesGraph: DatasetCore;
14
+ }): Promise<Either<Error, Maybe<PyShaclValidator>>>;
15
+ validate(dataGraph: DatasetCore): Promise<Either<Error, ValidationReport>>;
16
+ }
17
+ //# sourceMappingURL=PyShaclValidator.d.ts.map
@@ -0,0 +1,73 @@
1
+ import fs from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { Readable } from "node:stream";
4
+ import datasetFactory from "@rdfjs/dataset";
5
+ import dataFactory from "@rdfx/data-factory";
6
+ import parsers from "@rdfx/parsers";
7
+ import { ResourceSet } from "@rdfx/resource";
8
+ import { TurtleSerializer } from "@rdfx/serializers";
9
+ import { ValidationReport } from "@shaclmate/shacl-ast";
10
+ import { getStreamAsArray } from "get-stream";
11
+ import { EitherAsync, Maybe } from "purify-ts";
12
+ import tmp from "tmp-promise";
13
+ import { dummyLogger } from "ts-log";
14
+ import which from "which";
15
+ import { execPromisified } from "./execPromisified.js";
16
+ import { Validator } from "./Validator.js";
17
+ export class PyShaclValidator extends Validator {
18
+ pyShaclFilePath;
19
+ constructor({ pyShaclFilePath, ...superParameters }) {
20
+ super(superParameters);
21
+ this.pyShaclFilePath = pyShaclFilePath;
22
+ }
23
+ static async create({ logger = dummyLogger, prefixMap, shapesGraph, }) {
24
+ return EitherAsync(async () => {
25
+ const pyShaclFilePath = await which("pyshacl", { nothrow: true });
26
+ if (pyShaclFilePath === null) {
27
+ return Maybe.empty();
28
+ }
29
+ return Maybe.of(new PyShaclValidator({
30
+ prefixMap,
31
+ pyShaclFilePath,
32
+ logger,
33
+ shapesGraph,
34
+ }));
35
+ });
36
+ }
37
+ async validate(dataGraph) {
38
+ return EitherAsync(async ({ liftEither }) => await tmp.withDir(async ({ path: tmpDirectoryPath }) => {
39
+ const dataGraphFilePath = path.join(tmpDirectoryPath, "data.ttl");
40
+ const serializer = new TurtleSerializer({
41
+ prefixes: this.prefixMap,
42
+ });
43
+ this.logger.debug("writing data graph to %s", dataGraphFilePath);
44
+ await fs.writeFile(dataGraphFilePath, serializer.transform(dataGraph));
45
+ this.logger.debug("wrote data graph to %s", dataGraphFilePath);
46
+ const shapesGraphFilePath = path.join(tmpDirectoryPath, "shapes.ttl");
47
+ this.logger.debug("writing shapes graph to %s", shapesGraphFilePath);
48
+ await fs.writeFile(shapesGraphFilePath, serializer.transform(this.shapesGraph));
49
+ this.logger.debug("wrote shapes graph to %s", shapesGraphFilePath);
50
+ const args = [
51
+ "-f",
52
+ "turtle",
53
+ "-s",
54
+ shapesGraphFilePath,
55
+ dataGraphFilePath,
56
+ ];
57
+ this.logger.debug("validating with pyshacl (args=%s)", args);
58
+ const { code, stdout } = await execPromisified(this.pyShaclFilePath, args);
59
+ this.logger.debug("validated with pyshacl: %s", code === 0 ? "conforms" : "does not conform");
60
+ const validationReportDataset = datasetFactory.dataset(await getStreamAsArray(parsers({ dataFactory }).import("text/turtle", Readable.from(stdout))));
61
+ for (const rdfTypeQuad of validationReportDataset.match(null, null, ValidationReport.schema.fromRdfType)) {
62
+ return await liftEither(ValidationReport.fromRdfResource(new ResourceSet({
63
+ dataFactory,
64
+ dataset: validationReportDataset,
65
+ }).resource(rdfTypeQuad.subject)));
66
+ }
67
+ throw new Error("unable to parse validation report from pySHACL shacl output");
68
+ }, {
69
+ unsafeCleanup: true,
70
+ }));
71
+ }
72
+ }
73
+ //# sourceMappingURL=PyShaclValidator.js.map
@@ -0,0 +1,20 @@
1
+ import PrefixMap from "@rdfjs/prefix-map/PrefixMap.js";
2
+ import type { DatasetCore } from "@rdfjs/types";
3
+ import type { ValidationReport } from "@shaclmate/shacl-ast";
4
+ import type { Either } from "purify-ts";
5
+ import { type Logger } from "ts-log";
6
+ /**
7
+ * Abstract base class for SHACL validator implementations.
8
+ */
9
+ export declare abstract class Validator {
10
+ protected readonly logger: Logger;
11
+ protected readonly prefixMap: PrefixMap;
12
+ protected readonly shapesGraph: DatasetCore;
13
+ constructor({ logger, prefixMap, shapesGraph, }: {
14
+ logger?: Logger;
15
+ prefixMap?: PrefixMap;
16
+ shapesGraph: DatasetCore;
17
+ });
18
+ abstract validate(dataGraph: DatasetCore): Promise<Either<Error, ValidationReport>>;
19
+ }
20
+ //# sourceMappingURL=Validator.d.ts.map
@@ -0,0 +1,18 @@
1
+ import PrefixMap from "@rdfjs/prefix-map/PrefixMap.js";
2
+ import dataFactory from "@rdfx/data-factory";
3
+ import { dummyLogger } from "ts-log";
4
+ /**
5
+ * Abstract base class for SHACL validator implementations.
6
+ */
7
+ export class Validator {
8
+ logger;
9
+ prefixMap;
10
+ shapesGraph;
11
+ constructor({ logger = dummyLogger, prefixMap, shapesGraph, }) {
12
+ this.logger = logger;
13
+ this.prefixMap =
14
+ prefixMap ?? new PrefixMap(undefined, { factory: dataFactory });
15
+ this.shapesGraph = shapesGraph;
16
+ }
17
+ }
18
+ //# sourceMappingURL=Validator.js.map
@@ -0,0 +1,8 @@
1
+ import type { DatasetCore } from "@rdfjs/types";
2
+ import { ValidationReport } from "@shaclmate/shacl-ast";
3
+ import { type Either } from "purify-ts";
4
+ import { Validator } from "./Validator.js";
5
+ export declare class ZazukoValidator extends Validator {
6
+ validate(dataGraph: DatasetCore): Promise<Either<Error, ValidationReport>>;
7
+ }
8
+ //# sourceMappingURL=ZazukoValidator.d.ts.map
@@ -0,0 +1,25 @@
1
+ import dataFactory from "@rdfx/data-factory";
2
+ import { ResourceSet } from "@rdfx/resource";
3
+ import { ValidationReport } from "@shaclmate/shacl-ast";
4
+ import { EitherAsync } from "purify-ts";
5
+ import SHACLValidator from "rdf-validate-shacl";
6
+ import { Validator } from "./Validator.js";
7
+ export class ZazukoValidator extends Validator {
8
+ async validate(dataGraph) {
9
+ return EitherAsync(async ({ liftEither }) => {
10
+ const validationReport = await new SHACLValidator(this.shapesGraph, {}).validate(dataGraph);
11
+ switch (validationReport.term.termType) {
12
+ case "BlankNode":
13
+ case "NamedNode":
14
+ break;
15
+ default:
16
+ throw new RangeError(`unexpected sh:ValidationReport term type: ${validationReport.term.termType}`);
17
+ }
18
+ return await liftEither(ValidationReport.fromRdfResource(new ResourceSet({
19
+ dataFactory,
20
+ dataset: validationReport.dataset,
21
+ }).resource(validationReport.term)));
22
+ });
23
+ }
24
+ }
25
+ //# sourceMappingURL=ZazukoValidator.js.map
@@ -0,0 +1,6 @@
1
+ export declare function execPromisified(cmd: string, args: string[]): Promise<{
2
+ code: number | null;
3
+ stdout: string;
4
+ stderr: string;
5
+ }>;
6
+ //# sourceMappingURL=execPromisified.d.ts.map
@@ -0,0 +1,23 @@
1
+ import { spawn } from "node:child_process";
2
+ export function execPromisified(cmd, args) {
3
+ return new Promise((resolve, reject) => {
4
+ const child = spawn(cmd, args, {
5
+ stdio: ["ignore", "pipe", "pipe"],
6
+ });
7
+ let stdout = "";
8
+ let stderr = "";
9
+ child.stdout.on("data", (chunk) => {
10
+ stdout += chunk.toString();
11
+ });
12
+ child.stderr.on("data", (chunk) => {
13
+ stderr += chunk.toString();
14
+ });
15
+ child.on("error", (err) => {
16
+ reject(err);
17
+ });
18
+ child.on("close", (code) => {
19
+ resolve({ code, stdout, stderr });
20
+ });
21
+ });
22
+ }
23
+ //# sourceMappingURL=execPromisified.js.map
@@ -0,0 +1,4 @@
1
+ export * from "./shaclShaclDataset.js";
2
+ export * from "./Validator.js";
3
+ export * from "./ZazukoValidator.js";
4
+ //# sourceMappingURL=index.d.ts.map
package/dist/index.js ADDED
@@ -0,0 +1,4 @@
1
+ export * from "./shaclShaclDataset.js";
2
+ export * from "./Validator.js";
3
+ export * from "./ZazukoValidator.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ export declare const shaclShaclDataset: import("@rdfjs/dataset/DatasetCore.js").default<import("@rdfjs/types").Quad>;
2
+ //# sourceMappingURL=shaclShaclDataset.d.ts.map
@@ -0,0 +1,5 @@
1
+ import datasetFactory from "@rdfjs/dataset";
2
+ import dataFactory from "@rdfx/data-factory";
3
+ import shaclShaclQuads from "./shaclShaclQuads.js";
4
+ export const shaclShaclDataset = datasetFactory.dataset(shaclShaclQuads({ factory: dataFactory }));
5
+ //# sourceMappingURL=shaclShaclDataset.js.map
@@ -0,0 +1,5 @@
1
+ declare const _default: ({ factory }: {
2
+ factory: import("@rdfjs/types").DataFactory;
3
+ }) => import("@rdfjs/types").Quad[];
4
+ export default _default;
5
+ //# sourceMappingURL=shaclShaclQuads.d.ts.map
@@ -0,0 +1,431 @@
1
+ /* This file was automatically generated. Do not edit by hand. */
2
+ export default ({ factory }) => {
3
+ const f = factory;
4
+ const ns1 = 'http://www.w3.org/ns/shacl-shacl#';
5
+ const ns2 = 'http://www.w3.org/2000/01/rdf-schema#';
6
+ const ns3 = 'http://www.w3.org/ns/shacl#';
7
+ const ns4 = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#';
8
+ const ns5 = 'https://www.w3.org/TR/shacl/#';
9
+ const ns6 = 'http://www.w3.org/2001/XMLSchema#';
10
+ const blankNodes = [];
11
+ for (let i = 0; i < 130; i++) {
12
+ blankNodes.push(f.blankNode());
13
+ }
14
+ return [
15
+ f.quad(f.namedNode(ns1), f.namedNode(`${ns2}label`), f.literal('SHACL for SHACL', 'en')),
16
+ f.quad(f.namedNode(ns1), f.namedNode(`${ns2}comment`), f.literal('This shapes graph can be used to validate SHACL shapes graphs against a subset of the SHACL syntax rules.', 'en')),
17
+ f.quad(f.namedNode(ns1), f.namedNode(`${ns3}declare`), blankNodes[0]),
18
+ f.quad(blankNodes[0], f.namedNode(`${ns3}prefix`), f.literal('shsh')),
19
+ f.quad(blankNodes[0], f.namedNode(`${ns3}namespace`), f.literal('http://www.w3.org/ns/shacl-shacl#')),
20
+ f.quad(f.namedNode(`${ns1}ListShape`), f.namedNode(`${ns2}label`), f.literal('List shape', 'en')),
21
+ f.quad(f.namedNode(`${ns1}ListShape`), f.namedNode(`${ns2}comment`), f.literal('A shape describing well-formed RDF lists. Currently does not check for non-recursion. This could be expressed using SHACL-SPARQL.', 'en')),
22
+ f.quad(f.namedNode(`${ns1}ListShape`), f.namedNode(`${ns4}type`), f.namedNode(`${ns3}NodeShape`)),
23
+ f.quad(f.namedNode(`${ns1}ListShape`), f.namedNode(`${ns2}seeAlso`), f.namedNode(`${ns5}syntax-rule-SHACL-list`)),
24
+ f.quad(f.namedNode(`${ns1}ListShape`), f.namedNode(`${ns3}property`), blankNodes[1]),
25
+ f.quad(blankNodes[2], f.namedNode(`${ns3}zeroOrMorePath`), f.namedNode(`${ns4}rest`)),
26
+ f.quad(blankNodes[1], f.namedNode(`${ns2}comment`), f.literal('Each list member (including this node) must be have the shape shsh:ListNodeShape.', 'en')),
27
+ f.quad(blankNodes[1], f.namedNode(`${ns3}path`), blankNodes[2]),
28
+ f.quad(blankNodes[1], f.namedNode(`${ns3}hasValue`), f.namedNode(`${ns4}nil`)),
29
+ f.quad(blankNodes[1], f.namedNode(`${ns3}node`), f.namedNode(`${ns1}ListNodeShape`)),
30
+ f.quad(f.namedNode(`${ns1}ListNodeShape`), f.namedNode(`${ns2}label`), f.literal('List node shape', 'en')),
31
+ f.quad(f.namedNode(`${ns1}ListNodeShape`), f.namedNode(`${ns2}comment`), f.literal('Defines constraints on what it means for a node to be a node within a well-formed RDF list. Note that this does not check whether the rdf:rest items are also well-formed lists as this would lead to unsupported recursion.', 'en')),
32
+ f.quad(f.namedNode(`${ns1}ListNodeShape`), f.namedNode(`${ns4}type`), f.namedNode(`${ns3}NodeShape`)),
33
+ f.quad(f.namedNode(`${ns1}ListNodeShape`), f.namedNode(`${ns3}or`), blankNodes[3]),
34
+ f.quad(blankNodes[3], f.namedNode(`${ns4}rest`), blankNodes[4]),
35
+ f.quad(blankNodes[3], f.namedNode(`${ns4}first`), blankNodes[5]),
36
+ f.quad(blankNodes[5], f.namedNode(`${ns3}hasValue`), f.namedNode(`${ns4}nil`)),
37
+ f.quad(blankNodes[5], f.namedNode(`${ns3}property`), blankNodes[6]),
38
+ f.quad(blankNodes[5], f.namedNode(`${ns3}property`), blankNodes[7]),
39
+ f.quad(blankNodes[6], f.namedNode(`${ns3}path`), f.namedNode(`${ns4}first`)),
40
+ f.quad(blankNodes[6], f.namedNode(`${ns3}maxCount`), f.literal('0', f.namedNode(`${ns6}integer`))),
41
+ f.quad(blankNodes[7], f.namedNode(`${ns3}path`), f.namedNode(`${ns4}rest`)),
42
+ f.quad(blankNodes[7], f.namedNode(`${ns3}maxCount`), f.literal('0', f.namedNode(`${ns6}integer`))),
43
+ f.quad(blankNodes[4], f.namedNode(`${ns4}rest`), f.namedNode(`${ns4}nil`)),
44
+ f.quad(blankNodes[4], f.namedNode(`${ns4}first`), blankNodes[8]),
45
+ f.quad(blankNodes[8], f.namedNode(`${ns3}property`), blankNodes[9]),
46
+ f.quad(blankNodes[8], f.namedNode(`${ns3}property`), blankNodes[10]),
47
+ f.quad(blankNodes[8], f.namedNode(`${ns3}not`), blankNodes[11]),
48
+ f.quad(blankNodes[11], f.namedNode(`${ns3}hasValue`), f.namedNode(`${ns4}nil`)),
49
+ f.quad(blankNodes[9], f.namedNode(`${ns3}path`), f.namedNode(`${ns4}first`)),
50
+ f.quad(blankNodes[9], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
51
+ f.quad(blankNodes[9], f.namedNode(`${ns3}minCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
52
+ f.quad(blankNodes[10], f.namedNode(`${ns3}path`), f.namedNode(`${ns4}rest`)),
53
+ f.quad(blankNodes[10], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
54
+ f.quad(blankNodes[10], f.namedNode(`${ns3}minCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
55
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns2}label`), f.literal('Shape shape', 'en')),
56
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns2}comment`), f.literal('A shape that can be used to validate syntax rules for other shapes.', 'en')),
57
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns4}type`), f.namedNode(`${ns3}NodeShape`)),
58
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[12]),
59
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[13]),
60
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[14]),
61
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[15]),
62
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[16]),
63
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[17]),
64
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[18]),
65
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[19]),
66
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[20]),
67
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[21]),
68
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[22]),
69
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[23]),
70
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[24]),
71
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[25]),
72
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[26]),
73
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[27]),
74
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[28]),
75
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[29]),
76
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[30]),
77
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[31]),
78
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[32]),
79
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[33]),
80
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[34]),
81
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[35]),
82
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[36]),
83
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[37]),
84
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[38]),
85
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[39]),
86
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[40]),
87
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[41]),
88
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[42]),
89
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[43]),
90
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[44]),
91
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[45]),
92
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[46]),
93
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[47]),
94
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[48]),
95
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}property`), blankNodes[49]),
96
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}or`), blankNodes[50]),
97
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetClass`), f.namedNode(`${ns3}NodeShape`)),
98
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetClass`), f.namedNode(`${ns3}PropertyShape`)),
99
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}hasValue`)),
100
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}node`)),
101
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}property`)),
102
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}maxCount`)),
103
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}not`)),
104
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}minCount`)),
105
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}or`)),
106
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}targetClass`)),
107
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}targetSubjectsOf`)),
108
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}targetNode`)),
109
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}targetObjectsOf`)),
110
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}and`)),
111
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}class`)),
112
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}closed`)),
113
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}datatype`)),
114
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}disjoint`)),
115
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}equals`)),
116
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}flags`)),
117
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}ignoredProperties`)),
118
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}in`)),
119
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}languageIn`)),
120
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}lessThan`)),
121
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}lessThanOrEquals`)),
122
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}maxExclusive`)),
123
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}maxInclusive`)),
124
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}maxLength`)),
125
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}minExclusive`)),
126
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}minInclusive`)),
127
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}minLength`)),
128
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}nodeKind`)),
129
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}pattern`)),
130
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}qualifiedMaxCount`)),
131
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}qualifiedMinCount`)),
132
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}qualifiedValueShape`)),
133
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}qualifiedValueShapesDisjoint`)),
134
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}uniqueLang`)),
135
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetSubjectsOf`), f.namedNode(`${ns3}xone`)),
136
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetObjectsOf`), f.namedNode(`${ns3}node`)),
137
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetObjectsOf`), f.namedNode(`${ns3}property`)),
138
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetObjectsOf`), f.namedNode(`${ns3}not`)),
139
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}targetObjectsOf`), f.namedNode(`${ns3}qualifiedValueShape`)),
140
+ f.quad(f.namedNode(`${ns1}ShapeShape`), f.namedNode(`${ns3}xone`), blankNodes[51]),
141
+ f.quad(blankNodes[51], f.namedNode(`${ns4}rest`), blankNodes[52]),
142
+ f.quad(blankNodes[51], f.namedNode(`${ns4}first`), f.namedNode(`${ns1}NodeShapeShape`)),
143
+ f.quad(f.namedNode(`${ns1}NodeShapeShape`), f.namedNode(`${ns4}type`), f.namedNode(`${ns3}NodeShape`)),
144
+ f.quad(f.namedNode(`${ns1}NodeShapeShape`), f.namedNode(`${ns3}property`), blankNodes[53]),
145
+ f.quad(f.namedNode(`${ns1}NodeShapeShape`), f.namedNode(`${ns3}property`), blankNodes[54]),
146
+ f.quad(f.namedNode(`${ns1}NodeShapeShape`), f.namedNode(`${ns3}property`), blankNodes[55]),
147
+ f.quad(f.namedNode(`${ns1}NodeShapeShape`), f.namedNode(`${ns3}property`), blankNodes[56]),
148
+ f.quad(f.namedNode(`${ns1}NodeShapeShape`), f.namedNode(`${ns3}property`), blankNodes[57]),
149
+ f.quad(f.namedNode(`${ns1}NodeShapeShape`), f.namedNode(`${ns3}property`), blankNodes[58]),
150
+ f.quad(f.namedNode(`${ns1}NodeShapeShape`), f.namedNode(`${ns3}property`), blankNodes[59]),
151
+ f.quad(f.namedNode(`${ns1}NodeShapeShape`), f.namedNode(`${ns3}targetObjectsOf`), f.namedNode(`${ns3}node`)),
152
+ f.quad(blankNodes[52], f.namedNode(`${ns4}rest`), f.namedNode(`${ns4}nil`)),
153
+ f.quad(blankNodes[52], f.namedNode(`${ns4}first`), f.namedNode(`${ns1}PropertyShapeShape`)),
154
+ f.quad(f.namedNode(`${ns1}PropertyShapeShape`), f.namedNode(`${ns4}type`), f.namedNode(`${ns3}NodeShape`)),
155
+ f.quad(f.namedNode(`${ns1}PropertyShapeShape`), f.namedNode(`${ns3}property`), blankNodes[60]),
156
+ f.quad(f.namedNode(`${ns1}PropertyShapeShape`), f.namedNode(`${ns3}targetObjectsOf`), f.namedNode(`${ns3}property`)),
157
+ f.quad(blankNodes[12], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}targetNode`)),
158
+ f.quad(blankNodes[12], f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}IRIOrLiteral`)),
159
+ f.quad(blankNodes[13], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}targetClass`)),
160
+ f.quad(blankNodes[13], f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}IRI`)),
161
+ f.quad(blankNodes[14], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}targetSubjectsOf`)),
162
+ f.quad(blankNodes[14], f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}IRI`)),
163
+ f.quad(blankNodes[15], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}targetObjectsOf`)),
164
+ f.quad(blankNodes[15], f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}IRI`)),
165
+ f.quad(blankNodes[50], f.namedNode(`${ns4}rest`), blankNodes[61]),
166
+ f.quad(blankNodes[50], f.namedNode(`${ns4}first`), blankNodes[62]),
167
+ f.quad(blankNodes[62], f.namedNode(`${ns3}not`), blankNodes[63]),
168
+ f.quad(blankNodes[63], f.namedNode(`${ns3}or`), blankNodes[64]),
169
+ f.quad(blankNodes[63], f.namedNode(`${ns3}class`), f.namedNode(`${ns2}Class`)),
170
+ f.quad(blankNodes[64], f.namedNode(`${ns4}rest`), blankNodes[65]),
171
+ f.quad(blankNodes[64], f.namedNode(`${ns4}first`), blankNodes[66]),
172
+ f.quad(blankNodes[66], f.namedNode(`${ns3}class`), f.namedNode(`${ns3}NodeShape`)),
173
+ f.quad(blankNodes[65], f.namedNode(`${ns4}rest`), f.namedNode(`${ns4}nil`)),
174
+ f.quad(blankNodes[65], f.namedNode(`${ns4}first`), blankNodes[67]),
175
+ f.quad(blankNodes[67], f.namedNode(`${ns3}class`), f.namedNode(`${ns3}PropertyShape`)),
176
+ f.quad(blankNodes[61], f.namedNode(`${ns4}rest`), f.namedNode(`${ns4}nil`)),
177
+ f.quad(blankNodes[61], f.namedNode(`${ns4}first`), blankNodes[68]),
178
+ f.quad(blankNodes[68], f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}IRI`)),
179
+ f.quad(blankNodes[16], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}severity`)),
180
+ f.quad(blankNodes[16], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
181
+ f.quad(blankNodes[16], f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}IRI`)),
182
+ f.quad(blankNodes[17], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}message`)),
183
+ f.quad(blankNodes[17], f.namedNode(`${ns3}or`), blankNodes[69]),
184
+ f.quad(blankNodes[69], f.namedNode(`${ns4}rest`), blankNodes[70]),
185
+ f.quad(blankNodes[69], f.namedNode(`${ns4}first`), blankNodes[71]),
186
+ f.quad(blankNodes[71], f.namedNode(`${ns3}datatype`), f.namedNode(`${ns6}string`)),
187
+ f.quad(blankNodes[70], f.namedNode(`${ns4}rest`), f.namedNode(`${ns4}nil`)),
188
+ f.quad(blankNodes[70], f.namedNode(`${ns4}first`), blankNodes[72]),
189
+ f.quad(blankNodes[72], f.namedNode(`${ns3}datatype`), f.namedNode(`${ns4}langString`)),
190
+ f.quad(blankNodes[18], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}deactivated`)),
191
+ f.quad(blankNodes[18], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
192
+ f.quad(blankNodes[18], f.namedNode(`${ns3}in`), blankNodes[73]),
193
+ f.quad(blankNodes[73], f.namedNode(`${ns4}rest`), blankNodes[74]),
194
+ f.quad(blankNodes[73], f.namedNode(`${ns4}first`), f.literal('true', f.namedNode(`${ns6}boolean`))),
195
+ f.quad(blankNodes[74], f.namedNode(`${ns4}rest`), f.namedNode(`${ns4}nil`)),
196
+ f.quad(blankNodes[74], f.namedNode(`${ns4}first`), f.literal('false', f.namedNode(`${ns6}boolean`))),
197
+ f.quad(blankNodes[19], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}and`)),
198
+ f.quad(blankNodes[19], f.namedNode(`${ns3}node`), f.namedNode(`${ns1}ListShape`)),
199
+ f.quad(blankNodes[20], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}class`)),
200
+ f.quad(blankNodes[20], f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}IRI`)),
201
+ f.quad(blankNodes[21], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}closed`)),
202
+ f.quad(blankNodes[21], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
203
+ f.quad(blankNodes[21], f.namedNode(`${ns3}datatype`), f.namedNode(`${ns6}boolean`)),
204
+ f.quad(blankNodes[22], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}ignoredProperties`)),
205
+ f.quad(blankNodes[22], f.namedNode(`${ns3}node`), f.namedNode(`${ns1}ListShape`)),
206
+ f.quad(blankNodes[22], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
207
+ f.quad(blankNodes[75], f.namedNode(`${ns4}rest`), blankNodes[76]),
208
+ f.quad(blankNodes[75], f.namedNode(`${ns4}first`), f.namedNode(`${ns3}ignoredProperties`)),
209
+ f.quad(blankNodes[76], f.namedNode(`${ns4}rest`), blankNodes[77]),
210
+ f.quad(blankNodes[76], f.namedNode(`${ns4}first`), blankNodes[78]),
211
+ f.quad(blankNodes[78], f.namedNode(`${ns3}zeroOrMorePath`), f.namedNode(`${ns4}rest`)),
212
+ f.quad(blankNodes[77], f.namedNode(`${ns4}rest`), f.namedNode(`${ns4}nil`)),
213
+ f.quad(blankNodes[77], f.namedNode(`${ns4}first`), f.namedNode(`${ns4}first`)),
214
+ f.quad(blankNodes[23], f.namedNode(`${ns3}path`), blankNodes[75]),
215
+ f.quad(blankNodes[23], f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}IRI`)),
216
+ f.quad(blankNodes[24], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}datatype`)),
217
+ f.quad(blankNodes[24], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
218
+ f.quad(blankNodes[24], f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}IRI`)),
219
+ f.quad(blankNodes[25], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}disjoint`)),
220
+ f.quad(blankNodes[25], f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}IRI`)),
221
+ f.quad(blankNodes[26], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}equals`)),
222
+ f.quad(blankNodes[26], f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}IRI`)),
223
+ f.quad(blankNodes[27], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}in`)),
224
+ f.quad(blankNodes[27], f.namedNode(`${ns3}node`), f.namedNode(`${ns1}ListShape`)),
225
+ f.quad(blankNodes[27], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
226
+ f.quad(blankNodes[28], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}languageIn`)),
227
+ f.quad(blankNodes[28], f.namedNode(`${ns3}node`), f.namedNode(`${ns1}ListShape`)),
228
+ f.quad(blankNodes[28], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
229
+ f.quad(blankNodes[79], f.namedNode(`${ns4}rest`), blankNodes[80]),
230
+ f.quad(blankNodes[79], f.namedNode(`${ns4}first`), f.namedNode(`${ns3}languageIn`)),
231
+ f.quad(blankNodes[80], f.namedNode(`${ns4}rest`), blankNodes[81]),
232
+ f.quad(blankNodes[80], f.namedNode(`${ns4}first`), blankNodes[82]),
233
+ f.quad(blankNodes[82], f.namedNode(`${ns3}zeroOrMorePath`), f.namedNode(`${ns4}rest`)),
234
+ f.quad(blankNodes[81], f.namedNode(`${ns4}rest`), f.namedNode(`${ns4}nil`)),
235
+ f.quad(blankNodes[81], f.namedNode(`${ns4}first`), f.namedNode(`${ns4}first`)),
236
+ f.quad(blankNodes[29], f.namedNode(`${ns3}path`), blankNodes[79]),
237
+ f.quad(blankNodes[29], f.namedNode(`${ns3}datatype`), f.namedNode(`${ns6}string`)),
238
+ f.quad(blankNodes[30], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}lessThan`)),
239
+ f.quad(blankNodes[30], f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}IRI`)),
240
+ f.quad(blankNodes[31], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}lessThanOrEquals`)),
241
+ f.quad(blankNodes[31], f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}IRI`)),
242
+ f.quad(blankNodes[32], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}maxCount`)),
243
+ f.quad(blankNodes[32], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
244
+ f.quad(blankNodes[32], f.namedNode(`${ns3}datatype`), f.namedNode(`${ns6}integer`)),
245
+ f.quad(blankNodes[33], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}maxExclusive`)),
246
+ f.quad(blankNodes[33], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
247
+ f.quad(blankNodes[33], f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}Literal`)),
248
+ f.quad(blankNodes[34], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}maxInclusive`)),
249
+ f.quad(blankNodes[34], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
250
+ f.quad(blankNodes[34], f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}Literal`)),
251
+ f.quad(blankNodes[35], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}maxLength`)),
252
+ f.quad(blankNodes[35], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
253
+ f.quad(blankNodes[35], f.namedNode(`${ns3}datatype`), f.namedNode(`${ns6}integer`)),
254
+ f.quad(blankNodes[36], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}minCount`)),
255
+ f.quad(blankNodes[36], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
256
+ f.quad(blankNodes[36], f.namedNode(`${ns3}datatype`), f.namedNode(`${ns6}integer`)),
257
+ f.quad(blankNodes[37], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}minExclusive`)),
258
+ f.quad(blankNodes[37], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
259
+ f.quad(blankNodes[37], f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}Literal`)),
260
+ f.quad(blankNodes[38], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}minInclusive`)),
261
+ f.quad(blankNodes[38], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
262
+ f.quad(blankNodes[38], f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}Literal`)),
263
+ f.quad(blankNodes[39], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}minLength`)),
264
+ f.quad(blankNodes[39], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
265
+ f.quad(blankNodes[39], f.namedNode(`${ns3}datatype`), f.namedNode(`${ns6}integer`)),
266
+ f.quad(blankNodes[40], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}nodeKind`)),
267
+ f.quad(blankNodes[40], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
268
+ f.quad(blankNodes[40], f.namedNode(`${ns3}in`), blankNodes[83]),
269
+ f.quad(blankNodes[83], f.namedNode(`${ns4}rest`), blankNodes[84]),
270
+ f.quad(blankNodes[83], f.namedNode(`${ns4}first`), f.namedNode(`${ns3}BlankNode`)),
271
+ f.quad(blankNodes[84], f.namedNode(`${ns4}rest`), blankNodes[85]),
272
+ f.quad(blankNodes[84], f.namedNode(`${ns4}first`), f.namedNode(`${ns3}IRI`)),
273
+ f.quad(blankNodes[85], f.namedNode(`${ns4}rest`), blankNodes[86]),
274
+ f.quad(blankNodes[85], f.namedNode(`${ns4}first`), f.namedNode(`${ns3}Literal`)),
275
+ f.quad(blankNodes[86], f.namedNode(`${ns4}rest`), blankNodes[87]),
276
+ f.quad(blankNodes[86], f.namedNode(`${ns4}first`), f.namedNode(`${ns3}BlankNodeOrIRI`)),
277
+ f.quad(blankNodes[87], f.namedNode(`${ns4}rest`), blankNodes[88]),
278
+ f.quad(blankNodes[87], f.namedNode(`${ns4}first`), f.namedNode(`${ns3}BlankNodeOrLiteral`)),
279
+ f.quad(blankNodes[88], f.namedNode(`${ns4}rest`), f.namedNode(`${ns4}nil`)),
280
+ f.quad(blankNodes[88], f.namedNode(`${ns4}first`), f.namedNode(`${ns3}IRIOrLiteral`)),
281
+ f.quad(blankNodes[41], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}or`)),
282
+ f.quad(blankNodes[41], f.namedNode(`${ns3}node`), f.namedNode(`${ns1}ListShape`)),
283
+ f.quad(blankNodes[42], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}pattern`)),
284
+ f.quad(blankNodes[42], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
285
+ f.quad(blankNodes[42], f.namedNode(`${ns3}datatype`), f.namedNode(`${ns6}string`)),
286
+ f.quad(blankNodes[43], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}flags`)),
287
+ f.quad(blankNodes[43], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
288
+ f.quad(blankNodes[43], f.namedNode(`${ns3}datatype`), f.namedNode(`${ns6}string`)),
289
+ f.quad(blankNodes[44], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}qualifiedMaxCount`)),
290
+ f.quad(blankNodes[44], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
291
+ f.quad(blankNodes[44], f.namedNode(`${ns3}datatype`), f.namedNode(`${ns6}integer`)),
292
+ f.quad(blankNodes[45], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}qualifiedMinCount`)),
293
+ f.quad(blankNodes[45], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
294
+ f.quad(blankNodes[45], f.namedNode(`${ns3}datatype`), f.namedNode(`${ns6}integer`)),
295
+ f.quad(blankNodes[46], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}qualifiedValueShape`)),
296
+ f.quad(blankNodes[46], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
297
+ f.quad(blankNodes[47], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}qualifiedValueShapesDisjoint`)),
298
+ f.quad(blankNodes[47], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
299
+ f.quad(blankNodes[47], f.namedNode(`${ns3}datatype`), f.namedNode(`${ns6}boolean`)),
300
+ f.quad(blankNodes[48], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}uniqueLang`)),
301
+ f.quad(blankNodes[48], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
302
+ f.quad(blankNodes[48], f.namedNode(`${ns3}datatype`), f.namedNode(`${ns6}boolean`)),
303
+ f.quad(blankNodes[49], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}xone`)),
304
+ f.quad(blankNodes[49], f.namedNode(`${ns3}node`), f.namedNode(`${ns1}ListShape`)),
305
+ f.quad(blankNodes[53], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}path`)),
306
+ f.quad(blankNodes[53], f.namedNode(`${ns3}maxCount`), f.literal('0', f.namedNode(`${ns6}integer`))),
307
+ f.quad(blankNodes[54], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}lessThan`)),
308
+ f.quad(blankNodes[54], f.namedNode(`${ns3}maxCount`), f.literal('0', f.namedNode(`${ns6}integer`))),
309
+ f.quad(blankNodes[55], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}lessThanOrEquals`)),
310
+ f.quad(blankNodes[55], f.namedNode(`${ns3}maxCount`), f.literal('0', f.namedNode(`${ns6}integer`))),
311
+ f.quad(blankNodes[56], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}maxCount`)),
312
+ f.quad(blankNodes[56], f.namedNode(`${ns3}maxCount`), f.literal('0', f.namedNode(`${ns6}integer`))),
313
+ f.quad(blankNodes[57], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}minCount`)),
314
+ f.quad(blankNodes[57], f.namedNode(`${ns3}maxCount`), f.literal('0', f.namedNode(`${ns6}integer`))),
315
+ f.quad(blankNodes[58], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}qualifiedValueShape`)),
316
+ f.quad(blankNodes[58], f.namedNode(`${ns3}maxCount`), f.literal('0', f.namedNode(`${ns6}integer`))),
317
+ f.quad(blankNodes[59], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}uniqueLang`)),
318
+ f.quad(blankNodes[59], f.namedNode(`${ns3}maxCount`), f.literal('0', f.namedNode(`${ns6}integer`))),
319
+ f.quad(blankNodes[60], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}path`)),
320
+ f.quad(blankNodes[60], f.namedNode(`${ns3}node`), f.namedNode(`${ns1}PathShape`)),
321
+ f.quad(blankNodes[60], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
322
+ f.quad(blankNodes[60], f.namedNode(`${ns3}minCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
323
+ f.quad(f.namedNode(`${ns1}PathShape`), f.namedNode(`${ns2}label`), f.literal('Path shape', 'en')),
324
+ f.quad(f.namedNode(`${ns1}PathShape`), f.namedNode(`${ns2}comment`), f.literal('A shape that can be used to validate the syntax rules of well-formed SHACL paths.', 'en')),
325
+ f.quad(f.namedNode(`${ns1}PathShape`), f.namedNode(`${ns4}type`), f.namedNode(`${ns3}NodeShape`)),
326
+ f.quad(f.namedNode(`${ns1}PathShape`), f.namedNode(`${ns2}seeAlso`), f.namedNode(`${ns5}property-paths`)),
327
+ f.quad(f.namedNode(`${ns1}PathShape`), f.namedNode(`${ns3}property`), blankNodes[89]),
328
+ f.quad(f.namedNode(`${ns1}ShapesListShape`), f.namedNode(`${ns4}type`), f.namedNode(`${ns3}NodeShape`)),
329
+ f.quad(f.namedNode(`${ns1}ShapesListShape`), f.namedNode(`${ns3}property`), blankNodes[90]),
330
+ f.quad(f.namedNode(`${ns1}ShapesListShape`), f.namedNode(`${ns3}targetObjectsOf`), f.namedNode(`${ns3}or`)),
331
+ f.quad(f.namedNode(`${ns1}ShapesListShape`), f.namedNode(`${ns3}targetObjectsOf`), f.namedNode(`${ns3}and`)),
332
+ f.quad(f.namedNode(`${ns1}ShapesListShape`), f.namedNode(`${ns3}targetObjectsOf`), f.namedNode(`${ns3}xone`)),
333
+ f.quad(blankNodes[91], f.namedNode(`${ns4}rest`), blankNodes[92]),
334
+ f.quad(blankNodes[91], f.namedNode(`${ns4}first`), blankNodes[93]),
335
+ f.quad(blankNodes[93], f.namedNode(`${ns3}zeroOrMorePath`), f.namedNode(`${ns4}rest`)),
336
+ f.quad(blankNodes[92], f.namedNode(`${ns4}rest`), f.namedNode(`${ns4}nil`)),
337
+ f.quad(blankNodes[92], f.namedNode(`${ns4}first`), f.namedNode(`${ns4}first`)),
338
+ f.quad(blankNodes[90], f.namedNode(`${ns3}path`), blankNodes[91]),
339
+ f.quad(blankNodes[90], f.namedNode(`${ns3}node`), f.namedNode(`${ns1}ShapeShape`)),
340
+ f.quad(blankNodes[94], f.namedNode(`${ns4}rest`), blankNodes[95]),
341
+ f.quad(blankNodes[94], f.namedNode(`${ns4}first`), blankNodes[96]),
342
+ f.quad(blankNodes[96], f.namedNode(`${ns3}zeroOrMorePath`), f.namedNode(`${ns4}rest`)),
343
+ f.quad(blankNodes[95], f.namedNode(`${ns4}rest`), f.namedNode(`${ns4}nil`)),
344
+ f.quad(blankNodes[95], f.namedNode(`${ns4}first`), f.namedNode(`${ns4}first`)),
345
+ f.quad(blankNodes[97], f.namedNode(`${ns4}rest`), blankNodes[98]),
346
+ f.quad(blankNodes[97], f.namedNode(`${ns4}first`), blankNodes[94]),
347
+ f.quad(blankNodes[98], f.namedNode(`${ns4}rest`), blankNodes[99]),
348
+ f.quad(blankNodes[98], f.namedNode(`${ns4}first`), blankNodes[100]),
349
+ f.quad(blankNodes[100], f.namedNode(`${ns4}rest`), blankNodes[101]),
350
+ f.quad(blankNodes[100], f.namedNode(`${ns4}first`), f.namedNode(`${ns3}alternativePath`)),
351
+ f.quad(blankNodes[101], f.namedNode(`${ns4}rest`), blankNodes[102]),
352
+ f.quad(blankNodes[101], f.namedNode(`${ns4}first`), blankNodes[103]),
353
+ f.quad(blankNodes[103], f.namedNode(`${ns3}zeroOrMorePath`), f.namedNode(`${ns4}rest`)),
354
+ f.quad(blankNodes[102], f.namedNode(`${ns4}rest`), f.namedNode(`${ns4}nil`)),
355
+ f.quad(blankNodes[102], f.namedNode(`${ns4}first`), f.namedNode(`${ns4}first`)),
356
+ f.quad(blankNodes[99], f.namedNode(`${ns4}rest`), blankNodes[104]),
357
+ f.quad(blankNodes[99], f.namedNode(`${ns4}first`), f.namedNode(`${ns3}inversePath`)),
358
+ f.quad(blankNodes[104], f.namedNode(`${ns4}rest`), blankNodes[105]),
359
+ f.quad(blankNodes[104], f.namedNode(`${ns4}first`), f.namedNode(`${ns3}zeroOrMorePath`)),
360
+ f.quad(blankNodes[105], f.namedNode(`${ns4}rest`), blankNodes[106]),
361
+ f.quad(blankNodes[105], f.namedNode(`${ns4}first`), f.namedNode(`${ns3}oneOrMorePath`)),
362
+ f.quad(blankNodes[106], f.namedNode(`${ns4}rest`), f.namedNode(`${ns4}nil`)),
363
+ f.quad(blankNodes[106], f.namedNode(`${ns4}first`), f.namedNode(`${ns3}zeroOrOnePath`)),
364
+ f.quad(blankNodes[107], f.namedNode(`${ns3}alternativePath`), blankNodes[97]),
365
+ f.quad(blankNodes[108], f.namedNode(`${ns3}zeroOrMorePath`), blankNodes[107]),
366
+ f.quad(blankNodes[89], f.namedNode(`${ns3}path`), blankNodes[108]),
367
+ f.quad(blankNodes[89], f.namedNode(`${ns3}node`), f.namedNode(`${ns1}PathNodeShape`)),
368
+ f.quad(f.namedNode(`${ns1}PathNodeShape`), f.namedNode(`${ns3}xone`), blankNodes[109]),
369
+ f.quad(blankNodes[109], f.namedNode(`${ns4}rest`), blankNodes[110]),
370
+ f.quad(blankNodes[109], f.namedNode(`${ns4}first`), blankNodes[111]),
371
+ f.quad(blankNodes[111], f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}IRI`)),
372
+ f.quad(blankNodes[110], f.namedNode(`${ns4}rest`), blankNodes[112]),
373
+ f.quad(blankNodes[110], f.namedNode(`${ns4}first`), blankNodes[113]),
374
+ f.quad(blankNodes[113], f.namedNode(`${ns3}node`), f.namedNode(`${ns1}PathListWithAtLeast2Members`)),
375
+ f.quad(blankNodes[113], f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}BlankNode`)),
376
+ f.quad(f.namedNode(`${ns1}PathListWithAtLeast2Members`), f.namedNode(`${ns4}type`), f.namedNode(`${ns3}NodeShape`)),
377
+ f.quad(f.namedNode(`${ns1}PathListWithAtLeast2Members`), f.namedNode(`${ns3}node`), f.namedNode(`${ns1}ListShape`)),
378
+ f.quad(f.namedNode(`${ns1}PathListWithAtLeast2Members`), f.namedNode(`${ns3}property`), blankNodes[114]),
379
+ f.quad(blankNodes[112], f.namedNode(`${ns4}rest`), blankNodes[115]),
380
+ f.quad(blankNodes[112], f.namedNode(`${ns4}first`), blankNodes[116]),
381
+ f.quad(blankNodes[116], f.namedNode(`${ns3}property`), blankNodes[117]),
382
+ f.quad(blankNodes[116], f.namedNode(`${ns3}closed`), f.literal('true', f.namedNode(`${ns6}boolean`))),
383
+ f.quad(blankNodes[116], f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}BlankNode`)),
384
+ f.quad(blankNodes[117], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}alternativePath`)),
385
+ f.quad(blankNodes[117], f.namedNode(`${ns3}node`), f.namedNode(`${ns1}PathListWithAtLeast2Members`)),
386
+ f.quad(blankNodes[117], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
387
+ f.quad(blankNodes[117], f.namedNode(`${ns3}minCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
388
+ f.quad(blankNodes[115], f.namedNode(`${ns4}rest`), blankNodes[118]),
389
+ f.quad(blankNodes[115], f.namedNode(`${ns4}first`), blankNodes[119]),
390
+ f.quad(blankNodes[119], f.namedNode(`${ns3}property`), blankNodes[120]),
391
+ f.quad(blankNodes[119], f.namedNode(`${ns3}closed`), f.literal('true', f.namedNode(`${ns6}boolean`))),
392
+ f.quad(blankNodes[119], f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}BlankNode`)),
393
+ f.quad(blankNodes[120], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}inversePath`)),
394
+ f.quad(blankNodes[120], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
395
+ f.quad(blankNodes[120], f.namedNode(`${ns3}minCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
396
+ f.quad(blankNodes[118], f.namedNode(`${ns4}rest`), blankNodes[121]),
397
+ f.quad(blankNodes[118], f.namedNode(`${ns4}first`), blankNodes[122]),
398
+ f.quad(blankNodes[122], f.namedNode(`${ns3}property`), blankNodes[123]),
399
+ f.quad(blankNodes[122], f.namedNode(`${ns3}closed`), f.literal('true', f.namedNode(`${ns6}boolean`))),
400
+ f.quad(blankNodes[122], f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}BlankNode`)),
401
+ f.quad(blankNodes[123], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}zeroOrMorePath`)),
402
+ f.quad(blankNodes[123], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
403
+ f.quad(blankNodes[123], f.namedNode(`${ns3}minCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
404
+ f.quad(blankNodes[121], f.namedNode(`${ns4}rest`), blankNodes[124]),
405
+ f.quad(blankNodes[121], f.namedNode(`${ns4}first`), blankNodes[125]),
406
+ f.quad(blankNodes[125], f.namedNode(`${ns3}property`), blankNodes[126]),
407
+ f.quad(blankNodes[125], f.namedNode(`${ns3}closed`), f.literal('true', f.namedNode(`${ns6}boolean`))),
408
+ f.quad(blankNodes[125], f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}BlankNode`)),
409
+ f.quad(blankNodes[126], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}oneOrMorePath`)),
410
+ f.quad(blankNodes[126], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
411
+ f.quad(blankNodes[126], f.namedNode(`${ns3}minCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
412
+ f.quad(blankNodes[124], f.namedNode(`${ns4}rest`), f.namedNode(`${ns4}nil`)),
413
+ f.quad(blankNodes[124], f.namedNode(`${ns4}first`), blankNodes[127]),
414
+ f.quad(blankNodes[127], f.namedNode(`${ns3}property`), blankNodes[128]),
415
+ f.quad(blankNodes[127], f.namedNode(`${ns3}closed`), f.literal('true', f.namedNode(`${ns6}boolean`))),
416
+ f.quad(blankNodes[127], f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}BlankNode`)),
417
+ f.quad(blankNodes[128], f.namedNode(`${ns3}path`), f.namedNode(`${ns3}zeroOrOnePath`)),
418
+ f.quad(blankNodes[128], f.namedNode(`${ns3}maxCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
419
+ f.quad(blankNodes[128], f.namedNode(`${ns3}minCount`), f.literal('1', f.namedNode(`${ns6}integer`))),
420
+ f.quad(blankNodes[129], f.namedNode(`${ns3}oneOrMorePath`), f.namedNode(`${ns4}rest`)),
421
+ f.quad(blankNodes[114], f.namedNode(`${ns3}path`), blankNodes[129]),
422
+ f.quad(blankNodes[114], f.namedNode(`${ns3}minCount`), f.literal('2', f.namedNode(`${ns6}integer`))),
423
+ f.quad(f.namedNode(`${ns1}ShapesGraphShape`), f.namedNode(`${ns4}type`), f.namedNode(`${ns3}NodeShape`)),
424
+ f.quad(f.namedNode(`${ns1}ShapesGraphShape`), f.namedNode(`${ns3}targetObjectsOf`), f.namedNode(`${ns3}shapesGraph`)),
425
+ f.quad(f.namedNode(`${ns1}ShapesGraphShape`), f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}IRI`)),
426
+ f.quad(f.namedNode(`${ns1}EntailmentShape`), f.namedNode(`${ns4}type`), f.namedNode(`${ns3}NodeShape`)),
427
+ f.quad(f.namedNode(`${ns1}EntailmentShape`), f.namedNode(`${ns3}targetObjectsOf`), f.namedNode(`${ns3}entailment`)),
428
+ f.quad(f.namedNode(`${ns1}EntailmentShape`), f.namedNode(`${ns3}nodeKind`), f.namedNode(`${ns3}IRI`))
429
+ ];
430
+ };
431
+ //# sourceMappingURL=shaclShaclQuads.js.map
package/package.json ADDED
@@ -0,0 +1,82 @@
1
+ {
2
+ "dependencies": {
3
+ "@shaclmate/shacl-ast": "4.0.60",
4
+ "@rdfjs/dataset": "~2.0.2",
5
+ "@rdfjs/prefix-map": "~0.1.2",
6
+ "@rdfjs/types": "~2.0.1",
7
+ "@rdfx/data-factory": "0.0.30",
8
+ "@rdfx/parsers": "0.0.30",
9
+ "@rdfx/resource": "0.0.30",
10
+ "@rdfx/serializers": "0.0.30",
11
+ "@types/rdfjs__prefix-map": "~0.1.5",
12
+ "get-stream": "~9.0.1",
13
+ "purify-ts": "~2.1.4",
14
+ "rdf-validate-shacl": "0.6.5",
15
+ "tmp-promise": "~3.0.3",
16
+ "ts-log": "~3.0.2",
17
+ "which": "~6.0.1"
18
+ },
19
+ "devDependencies": {
20
+ "@rdfx/fs": "0.0.30",
21
+ "@types/rdfjs__dataset": "~2.0.7",
22
+ "@types/which": "~3.0.4"
23
+ },
24
+ "exports": {
25
+ ".": {
26
+ "default": "./dist/index.js",
27
+ "types": "./dist/index.d.ts"
28
+ },
29
+ "./JenaValidator": {
30
+ "default": "./dist/JenaValidator.js",
31
+ "types": "./dist/JenaValidator.d.ts"
32
+ },
33
+ "./PyShaclValidator": {
34
+ "default": "./dist/PyShaclValidator.js",
35
+ "types": "./dist/PyShaclValidator.d.ts"
36
+ },
37
+ "./ZazukoValidator": {
38
+ "default": "./dist/ZazukoValidator.js",
39
+ "types": "./dist/ZazukoValidator.d.ts"
40
+ }
41
+ },
42
+ "files": [
43
+ "dist/JenaValidator.d.ts",
44
+ "dist/JenaValidator.js",
45
+ "dist/PyShaclValidator.d.ts",
46
+ "dist/PyShaclValidator.js",
47
+ "dist/Validator.d.ts",
48
+ "dist/Validator.js",
49
+ "dist/ZazukoValidator.d.ts",
50
+ "dist/ZazukoValidator.js",
51
+ "dist/execPromisified.d.ts",
52
+ "dist/execPromisified.js",
53
+ "dist/index.d.ts",
54
+ "dist/index.js",
55
+ "dist/shacl-shacl.ttl",
56
+ "dist/shaclShaclDataset.d.ts",
57
+ "dist/shaclShaclDataset.js",
58
+ "dist/shaclShaclQuads.d.ts",
59
+ "dist/shaclShaclQuads.js"
60
+ ],
61
+ "license": "Apache-2.0",
62
+ "main": "./dist/index.js",
63
+ "name": "@shaclmate/validator",
64
+ "packageManager": "npm@11.11.0",
65
+ "repository": {
66
+ "type": "git",
67
+ "url": "git+https://github.com/minorg/shaclmate.git"
68
+ },
69
+ "scripts": {
70
+ "build": "tsc -b && cp src/shacl-shacl.ttl dist/shacl-shacl.ttl",
71
+ "clean": "rimraf dist",
72
+ "depcheck": "depcheck .",
73
+ "dev": "tsc -w --preserveWatchOutput",
74
+ "dev:tests": "tsc -p __tests__ -w --preserveWatchOutput",
75
+ "test": "cd ../.. && vitest run /Users/minor/projects/shaclmate/packages/validator/__tests__",
76
+ "typecheck": "tsc --noEmit",
77
+ "typecheck:watch": "tsc --noEmit -w --preserveWatchOutput"
78
+ },
79
+ "type": "module",
80
+ "types": "./dist/index.d.ts",
81
+ "version": "4.0.60"
82
+ }