@faubulous/mentor-rdf-serializers 1.3.3 → 1.4.1
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/formatters/nquads-formatter.d.ts +2 -2
- package/dist/formatters/nquads-formatter.d.ts.map +1 -1
- package/dist/formatters/ntriples-formatter.d.ts +2 -2
- package/dist/formatters/ntriples-formatter.d.ts.map +1 -1
- package/dist/formatters/sparql-formatter.interface.d.ts +3 -3
- package/dist/formatters/sparql-formatter.interface.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/quad-context-serializer-options.d.ts +46 -0
- package/dist/quad-context-serializer-options.d.ts.map +1 -0
- package/dist/quad-context-serializer-options.js +2 -0
- package/dist/quad-context-serializer-options.js.map +1 -0
- package/dist/quad-context-serializer.d.ts +68 -0
- package/dist/quad-context-serializer.d.ts.map +1 -0
- package/dist/quad-context-serializer.js +204 -0
- package/dist/quad-context-serializer.js.map +1 -0
- package/dist/quad-serializer-base.d.ts +12 -12
- package/dist/quad-serializer-base.d.ts.map +1 -1
- package/dist/quad-serializer-base.js +3 -2
- package/dist/quad-serializer-base.js.map +1 -1
- package/dist/quad-serializer.interface.d.ts +4 -4
- package/dist/quad-serializer.interface.d.ts.map +1 -1
- package/dist/quad-sorting-strategy.d.ts +2 -2
- package/dist/serialization-options.d.ts +131 -0
- package/dist/serialization-options.d.ts.map +1 -0
- package/dist/serialization-options.js +25 -0
- package/dist/serialization-options.js.map +1 -0
- package/dist/serializers/jsonld-serializer.d.ts +2 -2
- package/dist/serializers/jsonld-serializer.d.ts.map +1 -1
- package/dist/serializers/jsonld-serializer.js +4 -3
- package/dist/serializers/jsonld-serializer.js.map +1 -1
- package/dist/serializers/n3-serializer.d.ts +3 -3
- package/dist/serializers/n3-serializer.d.ts.map +1 -1
- package/dist/serializers/n3-serializer.js.map +1 -1
- package/dist/serializers/nquads-serializer.d.ts +4 -4
- package/dist/serializers/nquads-serializer.d.ts.map +1 -1
- package/dist/serializers/nquads-serializer.js.map +1 -1
- package/dist/serializers/ntriples-serializer.d.ts +4 -4
- package/dist/serializers/ntriples-serializer.d.ts.map +1 -1
- package/dist/serializers/ntriples-serializer.js.map +1 -1
- package/dist/serializers/trig-serializer.d.ts +3 -3
- package/dist/serializers/trig-serializer.d.ts.map +1 -1
- package/dist/serializers/trig-serializer.js.map +1 -1
- package/dist/serializers/turtle-serializer.d.ts +8 -5
- package/dist/serializers/turtle-serializer.d.ts.map +1 -1
- package/dist/serializers/turtle-serializer.js +51 -29
- package/dist/serializers/turtle-serializer.js.map +1 -1
- package/dist/token-formatter-base.d.ts +3 -3
- package/dist/token-formatter-base.d.ts.map +1 -1
- package/dist/token-formatter-base.js.map +1 -1
- package/dist/token-formatter.interface.d.ts +3 -3
- package/dist/token-formatter.interface.d.ts.map +1 -1
- package/dist/token-serializer.d.ts +2 -2
- package/dist/token-serializer.d.ts.map +1 -1
- package/dist/utilities/blank-nodes.d.ts +7 -0
- package/dist/utilities/blank-nodes.d.ts.map +1 -1
- package/dist/utilities/blank-nodes.js +40 -0
- package/dist/utilities/blank-nodes.js.map +1 -1
- package/dist/utilities/terms.d.ts.map +1 -1
- package/dist/utilities/terms.js +2 -1
- package/dist/utilities/terms.js.map +1 -1
- package/package.json +4 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { IToken, RdfSyntax } from '@faubulous/mentor-rdf-parsers';
|
|
2
2
|
import { SerializationResult } from '../serialization-result';
|
|
3
|
-
import {
|
|
3
|
+
import { SerializationOptions } from '../serialization-options';
|
|
4
4
|
import { TokenSerializerOptions } from '../token-serializer';
|
|
5
5
|
import { ITokenFormatter } from '../token-formatter.interface';
|
|
6
6
|
/**
|
|
7
7
|
* N-Quads-specific formatting options.
|
|
8
8
|
*/
|
|
9
|
-
export interface NQuadsFormatterOptions extends
|
|
9
|
+
export interface NQuadsFormatterOptions extends SerializationOptions {
|
|
10
10
|
/**
|
|
11
11
|
* Whether to normalize whitespace to single spaces.
|
|
12
12
|
* Default: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nquads-formatter.d.ts","sourceRoot":"","sources":["../../src/formatters/nquads-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAyB,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"nquads-formatter.d.ts","sourceRoot":"","sources":["../../src/formatters/nquads-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAyB,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,oBAAoB;IAChE;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;;;;;;;GASG;AACH,qBAAa,eAAgB,YAAW,eAAe;IACnD,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAoB;IAE9C,OAAO,CAAC,KAAK,CAAqB;IAElC;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,mBAAmB;IAapF;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,sBAAsB,GAAG,mBAAmB;IAMlH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,mBAAmB;IAI5E;;OAEG;IACH,OAAO,CAAC,YAAY;IAiFpB;;OAEG;IACH,OAAO,CAAC,UAAU;CAMrB"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { IToken, RdfSyntax } from '@faubulous/mentor-rdf-parsers';
|
|
2
2
|
import { SerializationResult } from '../serialization-result';
|
|
3
|
-
import {
|
|
3
|
+
import { SerializationOptions } from '../serialization-options';
|
|
4
4
|
import { ITokenFormatter } from '../token-formatter.interface';
|
|
5
5
|
import { TokenSerializerOptions } from '../token-serializer';
|
|
6
6
|
/**
|
|
7
7
|
* N-Triples-specific formatting options.
|
|
8
8
|
*/
|
|
9
|
-
export interface NTriplesFormatterOptions extends
|
|
9
|
+
export interface NTriplesFormatterOptions extends SerializationOptions {
|
|
10
10
|
/**
|
|
11
11
|
* Whether to normalize whitespace to single spaces.
|
|
12
12
|
* Default: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ntriples-formatter.d.ts","sourceRoot":"","sources":["../../src/formatters/ntriples-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAA2B,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ntriples-formatter.d.ts","sourceRoot":"","sources":["../../src/formatters/ntriples-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAA2B,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAG7D;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IAClE;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,YAAW,eAAe;IACrD,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAsB;IAEhD,OAAO,CAAC,KAAK,CAAuB;IAEpC;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,mBAAmB;IAYtF;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,sBAAsB,GAAG,mBAAmB;IAMpH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,mBAAmB;IAI9E;;OAEG;IACH,OAAO,CAAC,YAAY;IA0EpB;;OAEG;IACH,OAAO,CAAC,UAAU;CAOrB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SerializationResult } from "../serialization-result";
|
|
2
|
-
import {
|
|
2
|
+
import { SerializationOptions } from "../serialization-options";
|
|
3
3
|
/**
|
|
4
4
|
* Interface for SPARQL formatters.
|
|
5
5
|
*/
|
|
@@ -7,10 +7,10 @@ export interface ISparqlFormatter {
|
|
|
7
7
|
/**
|
|
8
8
|
* Formats a SPARQL query string.
|
|
9
9
|
*/
|
|
10
|
-
formatFromText(query: string, options?:
|
|
10
|
+
formatFromText(query: string, options?: SerializationOptions): SerializationResult;
|
|
11
11
|
/**
|
|
12
12
|
* Formats SPARQL from parsed tokens.
|
|
13
13
|
*/
|
|
14
|
-
formatFromTokens(tokens: unknown[], options?:
|
|
14
|
+
formatFromTokens(tokens: unknown[], options?: SerializationOptions): SerializationResult;
|
|
15
15
|
}
|
|
16
16
|
//# sourceMappingURL=sparql-formatter.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sparql-formatter.interface.d.ts","sourceRoot":"","sources":["../../src/formatters/sparql-formatter.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"sparql-formatter.interface.d.ts","sourceRoot":"","sources":["../../src/formatters/sparql-formatter.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,mBAAmB,CAAC;IAEnF;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,mBAAmB,CAAC;CAC5F"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,8 +7,8 @@ export * from './quad-serializer.interface';
|
|
|
7
7
|
export * from './quad-sorting-strategy';
|
|
8
8
|
export * from './quad-sorter';
|
|
9
9
|
export * from './serialization-result';
|
|
10
|
-
export * from './
|
|
11
|
-
export * from './
|
|
10
|
+
export * from './serialization-options';
|
|
11
|
+
export * from './quad-context-serializer';
|
|
12
12
|
export * from './token-formatter-base';
|
|
13
13
|
export * from './token-formatter.interface';
|
|
14
14
|
export * from './token-serializer';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -7,8 +7,8 @@ export * from './quad-serializer.interface';
|
|
|
7
7
|
export * from './quad-sorting-strategy';
|
|
8
8
|
export * from './quad-sorter';
|
|
9
9
|
export * from './serialization-result';
|
|
10
|
-
export * from './
|
|
11
|
-
export * from './
|
|
10
|
+
export * from './serialization-options';
|
|
11
|
+
export * from './quad-context-serializer';
|
|
12
12
|
export * from './token-formatter-base';
|
|
13
13
|
export * from './token-formatter.interface';
|
|
14
14
|
export * from './token-serializer';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { QuadSortingStrategy } from "./quad-sorting-strategy";
|
|
2
|
+
/**
|
|
3
|
+
* Options for {@link StatementSerializer.serialize}.
|
|
4
|
+
*/
|
|
5
|
+
export interface QuadContextSerializerOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Prefix mappings for compacting IRIs and emitting prefix declarations.
|
|
8
|
+
*/
|
|
9
|
+
prefixes?: Record<string, string>;
|
|
10
|
+
/**
|
|
11
|
+
* Base IRI for the document. When set, a `BASE` / `@base` declaration
|
|
12
|
+
* is emitted at the top of the output.
|
|
13
|
+
*/
|
|
14
|
+
baseIri?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Line ending string (default: `'\n'`).
|
|
17
|
+
*/
|
|
18
|
+
lineEnd?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Whether to insert blank lines between subject blocks (default: `true`).
|
|
21
|
+
*/
|
|
22
|
+
blankLinesBetweenSubjects?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* The sorting strategy to use for reordering statements.
|
|
25
|
+
*/
|
|
26
|
+
sortingStrategy?: QuadSortingStrategy;
|
|
27
|
+
/**
|
|
28
|
+
* When `true`, skip the sort stage even if `sortingStrategy` is specified. Use this
|
|
29
|
+
* when the caller has already sorted the contexts and wants to avoid the O(n log n)
|
|
30
|
+
* overhead. Default: `false`.
|
|
31
|
+
*/
|
|
32
|
+
assumeSorted?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Use lowercase directives (`@prefix` / `@base`) instead of uppercase
|
|
35
|
+
* (`PREFIX` / `BASE`). Default: `false`.
|
|
36
|
+
*/
|
|
37
|
+
lowercaseDirectives?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Whether to serialize single-use blank nodes as local property lists
|
|
40
|
+
* (`[ ... ]`) when pretty printing.
|
|
41
|
+
*
|
|
42
|
+
* Default: `true`.
|
|
43
|
+
*/
|
|
44
|
+
inlineSingleUseBlankNodes?: boolean;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=quad-context-serializer-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quad-context-serializer-options.d.ts","sourceRoot":"","sources":["../src/quad-context-serializer-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAElC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC;;OAEG;IACH,eAAe,CAAC,EAAE,mBAAmB,CAAC;IAEtC;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;OAKG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACvC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quad-context-serializer-options.js","sourceRoot":"","sources":["../src/quad-context-serializer-options.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Quad } from '@rdfjs/types';
|
|
2
|
+
import { QuadContext } from '@faubulous/mentor-rdf-parsers';
|
|
3
|
+
import { IQuadSerializer } from './quad-serializer.interface';
|
|
4
|
+
import { SortingOption } from './serialization-options';
|
|
5
|
+
import { QuadContextSerializerOptions } from './quad-context-serializer-options';
|
|
6
|
+
/**
|
|
7
|
+
* Serializes {@link QuadContext | statement contexts} to a complete
|
|
8
|
+
* document string, preserving source comments and emitting prefix/base
|
|
9
|
+
* declarations automatically.
|
|
10
|
+
*/
|
|
11
|
+
export declare class QuadContextSerializer {
|
|
12
|
+
private readonly serializer;
|
|
13
|
+
/**
|
|
14
|
+
* Shared synthetic token for contexts created from external quads.
|
|
15
|
+
*/
|
|
16
|
+
private readonly syntheticToken;
|
|
17
|
+
/**
|
|
18
|
+
* Creates a new `StatementSerializer`.
|
|
19
|
+
*
|
|
20
|
+
* @param serializer The underlying format-specific serializer used to
|
|
21
|
+
* render individual quads (e.g. `TurtleSerializer`).
|
|
22
|
+
*/
|
|
23
|
+
constructor(serializer: IQuadSerializer);
|
|
24
|
+
/**
|
|
25
|
+
* Merges externally created quads into an existing set of statement
|
|
26
|
+
* contexts. New quads receive empty comment arrays so they serialize
|
|
27
|
+
* cleanly between existing statements.
|
|
28
|
+
*
|
|
29
|
+
* @param contexts Existing statement contexts (from the parser).
|
|
30
|
+
* @param newQuads Additional quads to add.
|
|
31
|
+
* @returns A new array containing both the original and new contexts.
|
|
32
|
+
*/
|
|
33
|
+
addStatements(contexts: QuadContext[], newQuads: Quad[]): QuadContext[];
|
|
34
|
+
/**
|
|
35
|
+
* Sorts statement contexts using the provided sorting option.
|
|
36
|
+
* Comments travel with their quads so that each comment block stays
|
|
37
|
+
* associated with the correct statement after reordering.
|
|
38
|
+
*
|
|
39
|
+
* @param contexts The statement contexts to sort.
|
|
40
|
+
* @param sort Sorting option (see {@link SortOption}).
|
|
41
|
+
* @returns A new sorted array.
|
|
42
|
+
*/
|
|
43
|
+
sort(contexts: QuadContext[], sort: SortingOption): QuadContext[];
|
|
44
|
+
/**
|
|
45
|
+
* Serializes statement contexts to a complete document string.
|
|
46
|
+
*
|
|
47
|
+
* The output includes:
|
|
48
|
+
* - `BASE` / `@base` declaration (when `baseIri` is set)
|
|
49
|
+
* - `PREFIX` / `@prefix` declarations (when `prefixes` is provided)
|
|
50
|
+
* - A blank line separating declarations from statements
|
|
51
|
+
* - Pretty-printed subject blocks with predicate-object grouping
|
|
52
|
+
* - Sorted and comment-decorated statements
|
|
53
|
+
*
|
|
54
|
+
* @param contexts The (optionally pre-sorted / pre-merged) statement contexts.
|
|
55
|
+
* @param options Serialization options.
|
|
56
|
+
* @returns The complete serialized document string.
|
|
57
|
+
*/
|
|
58
|
+
serialize(contexts: QuadContext[], options?: QuadContextSerializerOptions): string;
|
|
59
|
+
/**
|
|
60
|
+
* Splits serializer output into subject blocks using blank-line separators.
|
|
61
|
+
*/
|
|
62
|
+
private splitSubjectBlocks;
|
|
63
|
+
/**
|
|
64
|
+
* Appends a trailing comment to the final logical line of a block.
|
|
65
|
+
*/
|
|
66
|
+
private appendTrailingComment;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=quad-context-serializer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quad-context-serializer.d.ts","sourceRoot":"","sources":["../src/quad-context-serializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,WAAW,EAAU,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAwB,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAGjF;;;;GAIG;AACH,qBAAa,qBAAqB;IAsBlB,OAAO,CAAC,QAAQ,CAAC,UAAU;IArBvC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAU7B;IAEF;;;;;OAKG;gBAC0B,UAAU,EAAE,eAAe;IAExD;;;;;;;;OAQG;IACH,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE;IAsBvE;;;;;;;;OAQG;IACH,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,EAAE;IAIjE;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE,4BAA4B,GAAI,MAAM;IAqHnF;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAWhC"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { QuadSorter } from './quad-sorter';
|
|
2
|
+
/**
|
|
3
|
+
* Serializes {@link QuadContext | statement contexts} to a complete
|
|
4
|
+
* document string, preserving source comments and emitting prefix/base
|
|
5
|
+
* declarations automatically.
|
|
6
|
+
*/
|
|
7
|
+
export class QuadContextSerializer {
|
|
8
|
+
serializer;
|
|
9
|
+
/**
|
|
10
|
+
* Shared synthetic token for contexts created from external quads.
|
|
11
|
+
*/
|
|
12
|
+
syntheticToken = {
|
|
13
|
+
image: '',
|
|
14
|
+
startOffset: Infinity,
|
|
15
|
+
endOffset: Infinity,
|
|
16
|
+
startLine: Infinity,
|
|
17
|
+
endLine: Infinity,
|
|
18
|
+
startColumn: Infinity,
|
|
19
|
+
endColumn: Infinity,
|
|
20
|
+
tokenType: { name: 'SYNTHETIC' },
|
|
21
|
+
tokenTypeIdx: -1,
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Creates a new `StatementSerializer`.
|
|
25
|
+
*
|
|
26
|
+
* @param serializer The underlying format-specific serializer used to
|
|
27
|
+
* render individual quads (e.g. `TurtleSerializer`).
|
|
28
|
+
*/
|
|
29
|
+
constructor(serializer) {
|
|
30
|
+
this.serializer = serializer;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Merges externally created quads into an existing set of statement
|
|
34
|
+
* contexts. New quads receive empty comment arrays so they serialize
|
|
35
|
+
* cleanly between existing statements.
|
|
36
|
+
*
|
|
37
|
+
* @param contexts Existing statement contexts (from the parser).
|
|
38
|
+
* @param newQuads Additional quads to add.
|
|
39
|
+
* @returns A new array containing both the original and new contexts.
|
|
40
|
+
*/
|
|
41
|
+
addStatements(contexts, newQuads) {
|
|
42
|
+
const result = newQuads.map(q => ({
|
|
43
|
+
termType: q.termType,
|
|
44
|
+
subject: q.subject,
|
|
45
|
+
subjectToken: this.syntheticToken,
|
|
46
|
+
predicate: q.predicate,
|
|
47
|
+
predicateToken: this.syntheticToken,
|
|
48
|
+
object: q.object,
|
|
49
|
+
objectToken: this.syntheticToken,
|
|
50
|
+
graph: q.graph,
|
|
51
|
+
leadingComments: [],
|
|
52
|
+
trailingComment: undefined,
|
|
53
|
+
value: '',
|
|
54
|
+
equals: q.equals
|
|
55
|
+
}));
|
|
56
|
+
return [
|
|
57
|
+
...contexts,
|
|
58
|
+
...result
|
|
59
|
+
];
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Sorts statement contexts using the provided sorting option.
|
|
63
|
+
* Comments travel with their quads so that each comment block stays
|
|
64
|
+
* associated with the correct statement after reordering.
|
|
65
|
+
*
|
|
66
|
+
* @param contexts The statement contexts to sort.
|
|
67
|
+
* @param sort Sorting option (see {@link SortOption}).
|
|
68
|
+
* @returns A new sorted array.
|
|
69
|
+
*/
|
|
70
|
+
sort(contexts, sort) {
|
|
71
|
+
return QuadSorter.sort(contexts, sort);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Serializes statement contexts to a complete document string.
|
|
75
|
+
*
|
|
76
|
+
* The output includes:
|
|
77
|
+
* - `BASE` / `@base` declaration (when `baseIri` is set)
|
|
78
|
+
* - `PREFIX` / `@prefix` declarations (when `prefixes` is provided)
|
|
79
|
+
* - A blank line separating declarations from statements
|
|
80
|
+
* - Pretty-printed subject blocks with predicate-object grouping
|
|
81
|
+
* - Sorted and comment-decorated statements
|
|
82
|
+
*
|
|
83
|
+
* @param contexts The (optionally pre-sorted / pre-merged) statement contexts.
|
|
84
|
+
* @param options Serialization options.
|
|
85
|
+
* @returns The complete serialized document string.
|
|
86
|
+
*/
|
|
87
|
+
serialize(contexts, options) {
|
|
88
|
+
const prefixes = options?.prefixes ?? {};
|
|
89
|
+
const baseIri = options?.baseIri ?? '';
|
|
90
|
+
const lineEnd = options?.lineEnd ?? '\n';
|
|
91
|
+
const blankLines = options?.blankLinesBetweenSubjects ?? true;
|
|
92
|
+
const sortingStrategy = options?.sortingStrategy ?? false;
|
|
93
|
+
const assumeSorted = options?.assumeSorted ?? false;
|
|
94
|
+
const lowercaseDirectives = options?.lowercaseDirectives ?? false;
|
|
95
|
+
const inlineSingleUseBlankNodes = options?.inlineSingleUseBlankNodes ?? true;
|
|
96
|
+
// Sort if requested and not already sorted.
|
|
97
|
+
const sortedContexts = (sortingStrategy && !assumeSorted) ? this.sort(contexts, sortingStrategy) : contexts;
|
|
98
|
+
const parts = [];
|
|
99
|
+
if (baseIri) {
|
|
100
|
+
const keyword = lowercaseDirectives ? '@base' : 'BASE';
|
|
101
|
+
const terminator = lowercaseDirectives ? ' .' : '';
|
|
102
|
+
parts.push(`${keyword} <${baseIri}>${terminator}`);
|
|
103
|
+
}
|
|
104
|
+
for (const [prefix, namespace] of Object.entries(prefixes)) {
|
|
105
|
+
const keyword = lowercaseDirectives ? '@prefix' : 'PREFIX';
|
|
106
|
+
const terminator = lowercaseDirectives ? ' .' : '';
|
|
107
|
+
parts.push(`${keyword} ${prefix}: <${namespace}>${terminator}`);
|
|
108
|
+
}
|
|
109
|
+
// Blank line after declarations.
|
|
110
|
+
if (parts.length > 0) {
|
|
111
|
+
parts.push('');
|
|
112
|
+
}
|
|
113
|
+
const serializerOpts = {
|
|
114
|
+
prefixes,
|
|
115
|
+
baseIri: baseIri || undefined,
|
|
116
|
+
lowercaseDirectives,
|
|
117
|
+
lineEnd,
|
|
118
|
+
emitDirectives: false,
|
|
119
|
+
inlineSingleUseBlankNodes,
|
|
120
|
+
};
|
|
121
|
+
// Group contexts by subject for pretty-printed output with
|
|
122
|
+
// predicate-object lists (e.g. Turtle's ";" syntax).
|
|
123
|
+
const subjectGroups = new Map();
|
|
124
|
+
for (const ctx of sortedContexts) {
|
|
125
|
+
const key = ctx.subject.value;
|
|
126
|
+
if (!subjectGroups.has(key)) {
|
|
127
|
+
subjectGroups.set(key, []);
|
|
128
|
+
}
|
|
129
|
+
subjectGroups.get(key).push(ctx);
|
|
130
|
+
}
|
|
131
|
+
const groupEntries = Array.from(subjectGroups.entries());
|
|
132
|
+
// Fast path: render all quads in one serializer call and split by
|
|
133
|
+
// subject-block separators. This avoids repeated serializer setup.
|
|
134
|
+
const batchedBody = this.serializer.serialize(sortedContexts, {
|
|
135
|
+
...serializerOpts,
|
|
136
|
+
blankLinesBetweenSubjects: true,
|
|
137
|
+
});
|
|
138
|
+
const batchedBlocks = this.splitSubjectBlocks(batchedBody, lineEnd);
|
|
139
|
+
const canUseBatchedBlocks = batchedBlocks.length === groupEntries.length;
|
|
140
|
+
for (let groupIndex = 0; groupIndex < groupEntries.length; groupIndex++) {
|
|
141
|
+
const [_subjectKey, groupContexts] = groupEntries[groupIndex];
|
|
142
|
+
// Blank line between subject blocks.
|
|
143
|
+
if (groupIndex > 0 && blankLines) {
|
|
144
|
+
parts.push('');
|
|
145
|
+
}
|
|
146
|
+
// Collect comments from all contexts in this subject group.
|
|
147
|
+
// Leading comments are emitted before the subject block.
|
|
148
|
+
// Trailing comments on non-last quads are also emitted as
|
|
149
|
+
// leading comments since they cannot be placed inline within
|
|
150
|
+
// a grouped subject block.
|
|
151
|
+
for (let i = 0; i < groupContexts.length; i++) {
|
|
152
|
+
const ctx = groupContexts[i];
|
|
153
|
+
if (ctx.leadingComments) {
|
|
154
|
+
for (const comment of ctx.leadingComments) {
|
|
155
|
+
parts.push(comment.image);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
if (i < groupContexts.length - 1 && ctx.trailingComment) {
|
|
159
|
+
parts.push(ctx.trailingComment.image);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
// Serialize the subject block using the underlying serializer,
|
|
163
|
+
// which handles predicate-object grouping and pretty-printing.
|
|
164
|
+
let body;
|
|
165
|
+
if (canUseBatchedBlocks) {
|
|
166
|
+
body = batchedBlocks[groupIndex];
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
body = this.serializer.serialize(groupContexts, serializerOpts);
|
|
170
|
+
}
|
|
171
|
+
// Append trailing comment from the last context in the group.
|
|
172
|
+
const lastCtx = groupContexts[groupContexts.length - 1];
|
|
173
|
+
if (lastCtx.trailingComment) {
|
|
174
|
+
parts.push(this.appendTrailingComment(body, lineEnd, lastCtx.trailingComment.image));
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
parts.push(body);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
return parts.join(lineEnd);
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Splits serializer output into subject blocks using blank-line separators.
|
|
184
|
+
*/
|
|
185
|
+
splitSubjectBlocks(body, lineEnd) {
|
|
186
|
+
if (!body) {
|
|
187
|
+
return [];
|
|
188
|
+
}
|
|
189
|
+
const blocks = body.split(`${lineEnd}${lineEnd}`);
|
|
190
|
+
return blocks.filter(block => block.trim() !== '');
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Appends a trailing comment to the final logical line of a block.
|
|
194
|
+
*/
|
|
195
|
+
appendTrailingComment(body, lineEnd, commentImage) {
|
|
196
|
+
const lastBreak = body.lastIndexOf(lineEnd);
|
|
197
|
+
if (lastBreak === -1) {
|
|
198
|
+
return `${body} ${commentImage}`;
|
|
199
|
+
}
|
|
200
|
+
const lineStart = lastBreak + lineEnd.length;
|
|
201
|
+
return body.slice(0, lineStart) + body.slice(lineStart) + ' ' + commentImage;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=quad-context-serializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quad-context-serializer.js","sourceRoot":"","sources":["../src/quad-context-serializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { BlankNode, Literal, NamedNode, Quad, Term, Variable } from '@rdfjs/type
|
|
|
3
3
|
import { Rdf12Quad, Rdf12Term, TripleTerm } from './utilities/types';
|
|
4
4
|
import { IQuadSerializer } from './quad-serializer.interface';
|
|
5
5
|
import { SerializationResult } from './serialization-result';
|
|
6
|
-
import {
|
|
6
|
+
import { SerializationOptions } from './serialization-options';
|
|
7
7
|
/**
|
|
8
8
|
* Abstract base class for RDF serializers. Provides common functionality
|
|
9
9
|
* for serializing terms and literals.
|
|
@@ -28,46 +28,46 @@ export declare abstract class QuadSerializerBase implements IQuadSerializer {
|
|
|
28
28
|
/**
|
|
29
29
|
* Serializes a single quad to a string.
|
|
30
30
|
*/
|
|
31
|
-
abstract serializeQuad(quad: Quad | Rdf12Quad, options?:
|
|
31
|
+
abstract serializeQuad(quad: Quad | Rdf12Quad, options?: SerializationOptions): string;
|
|
32
32
|
/**
|
|
33
33
|
* Serializes an array of quads to a string.
|
|
34
34
|
*/
|
|
35
|
-
abstract serialize(quads: Iterable<Quad | Rdf12Quad>, options?:
|
|
35
|
+
abstract serialize(quads: Iterable<Quad | Rdf12Quad>, options?: SerializationOptions): string;
|
|
36
36
|
/**
|
|
37
37
|
* Serializes quads with formatting, returning detailed result.
|
|
38
38
|
*/
|
|
39
|
-
format(quads: Iterable<Quad | Rdf12Quad>, options?:
|
|
39
|
+
format(quads: Iterable<Quad | Rdf12Quad>, options?: SerializationOptions): SerializationResult;
|
|
40
40
|
/**
|
|
41
41
|
* Serializes a named node (IRI).
|
|
42
42
|
*/
|
|
43
|
-
protected serializeNamedNode(node: NamedNode, options: Required<
|
|
43
|
+
protected serializeNamedNode(node: NamedNode, options: Required<SerializationOptions>): string;
|
|
44
44
|
/**
|
|
45
45
|
* Serializes a blank node.
|
|
46
46
|
*/
|
|
47
|
-
protected serializeBlankNode(node: BlankNode, _options: Required<
|
|
47
|
+
protected serializeBlankNode(node: BlankNode, _options: Required<SerializationOptions>): string;
|
|
48
48
|
/**
|
|
49
49
|
* Serializes a literal value.
|
|
50
50
|
*/
|
|
51
|
-
protected serializeLiteral(literal: Literal, options: Required<
|
|
51
|
+
protected serializeLiteral(literal: Literal, options: Required<SerializationOptions>): string;
|
|
52
52
|
/**
|
|
53
53
|
* Serializes a SPARQL variable.
|
|
54
54
|
*/
|
|
55
|
-
protected serializeVariable(variable: Variable, _options: Required<
|
|
55
|
+
protected serializeVariable(variable: Variable, _options: Required<SerializationOptions>): string;
|
|
56
56
|
/**
|
|
57
57
|
* Serializes an RDF 1.2 Triple Term.
|
|
58
58
|
*/
|
|
59
|
-
protected serializeTripleTerm(tripleTerm: TripleTerm, options: Required<
|
|
59
|
+
protected serializeTripleTerm(tripleTerm: TripleTerm, options: Required<SerializationOptions>): string;
|
|
60
60
|
/**
|
|
61
61
|
* Serializes any RDF term.
|
|
62
62
|
*/
|
|
63
|
-
protected serializeTerm(term: Term | Rdf12Term, options: Required<
|
|
63
|
+
protected serializeTerm(term: Term | Rdf12Term, options: Required<SerializationOptions>): string;
|
|
64
64
|
/**
|
|
65
65
|
* Gets merged options with defaults.
|
|
66
66
|
*/
|
|
67
|
-
protected getOptions(options?:
|
|
67
|
+
protected getOptions(options?: SerializationOptions): Required<SerializationOptions>;
|
|
68
68
|
}
|
|
69
69
|
/**
|
|
70
70
|
* Merges user options with defaults.
|
|
71
71
|
*/
|
|
72
|
-
export declare function mergeOptions(options?:
|
|
72
|
+
export declare function mergeOptions(options?: SerializationOptions): Required<SerializationOptions>;
|
|
73
73
|
//# sourceMappingURL=quad-serializer-base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quad-serializer-base.d.ts","sourceRoot":"","sources":["../src/quad-serializer-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"quad-serializer-base.d.ts","sourceRoot":"","sources":["../src/quad-serializer-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAmB,MAAM,yBAAyB,CAAC;AAMhF;;;GAGG;AACH,8BAAsB,kBAAmB,YAAW,eAAe;IAC/D;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAEpC;;OAEG;IACH,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAS;IAE5C;;OAEG;IACH,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAS;IAEpD;;OAEG;IACH,SAAS,CAAC,aAAa,EAAE,OAAO,CAAS;IAEzC;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,MAAM;IAEtF;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,MAAM;IAE7F;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,mBAAmB;IAM9F;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,MAAM;IAmB9F;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,MAAM;IAI/F;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,MAAM;IAuD7F;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,MAAM;IAIjG;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,MAAM;IAYtG;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,MAAM;IAmBhG;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ,CAAC,oBAAoB,CAAC;CAGvF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAS3F"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { RDF, XSD } from './ontologies';
|
|
2
|
-
import { DEFAULT_OPTIONS } from './
|
|
2
|
+
import { DEFAULT_OPTIONS } from './serialization-options';
|
|
3
3
|
import { escapeLocalName, escapeIri, escapeString } from "./utilities/escaping";
|
|
4
4
|
import { isInteger, isDecimal, isDouble, needsLongString } from "./utilities/literals";
|
|
5
|
+
import { normalizeBlankNodeId } from './utilities/blank-nodes';
|
|
5
6
|
import { findPrefix } from "./utilities/prefixes";
|
|
6
7
|
/**
|
|
7
8
|
* Abstract base class for RDF serializers. Provides common functionality
|
|
@@ -49,7 +50,7 @@ export class QuadSerializerBase {
|
|
|
49
50
|
* Serializes a blank node.
|
|
50
51
|
*/
|
|
51
52
|
serializeBlankNode(node, _options) {
|
|
52
|
-
return `_:${node.value}`;
|
|
53
|
+
return `_:${normalizeBlankNodeId(node.value)}`;
|
|
53
54
|
}
|
|
54
55
|
/**
|
|
55
56
|
* Serializes a literal value.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quad-serializer-base.js","sourceRoot":"","sources":["../src/quad-serializer-base.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGxC,OAAO,
|
|
1
|
+
{"version":3,"file":"quad-serializer-base.js","sourceRoot":"","sources":["../src/quad-serializer-base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Quad } from "@rdfjs/types";
|
|
2
2
|
import { RdfSyntax } from "@faubulous/mentor-rdf-parsers";
|
|
3
3
|
import { Rdf12Quad } from "./utilities/types";
|
|
4
|
-
import {
|
|
4
|
+
import { SerializationOptions } from "./serialization-options";
|
|
5
5
|
import { SerializationResult } from "./serialization-result";
|
|
6
6
|
/**
|
|
7
7
|
* Common interface for all serializers that can serialize RDF quads to a string format.
|
|
@@ -14,14 +14,14 @@ export interface IQuadSerializer {
|
|
|
14
14
|
/**
|
|
15
15
|
* Serializes a single quad to a string.
|
|
16
16
|
*/
|
|
17
|
-
serializeQuad(quad: Quad | Rdf12Quad, options?:
|
|
17
|
+
serializeQuad(quad: Quad | Rdf12Quad, options?: SerializationOptions): string;
|
|
18
18
|
/**
|
|
19
19
|
* Serializes an array of quads to a string.
|
|
20
20
|
*/
|
|
21
|
-
serialize(quads: Iterable<Quad | Rdf12Quad>, options?:
|
|
21
|
+
serialize(quads: Iterable<Quad | Rdf12Quad>, options?: SerializationOptions): string;
|
|
22
22
|
/**
|
|
23
23
|
* Serializes quads to a string with formatting applied.
|
|
24
24
|
*/
|
|
25
|
-
format(quads: Iterable<Quad | Rdf12Quad>, options?:
|
|
25
|
+
format(quads: Iterable<Quad | Rdf12Quad>, options?: SerializationOptions): SerializationResult;
|
|
26
26
|
}
|
|
27
27
|
//# sourceMappingURL=quad-serializer.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quad-serializer.interface.d.ts","sourceRoot":"","sources":["../src/quad-serializer.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"quad-serializer.interface.d.ts","sourceRoot":"","sources":["../src/quad-serializer.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAE3B;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAAC;IAE9E;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAAC;IAErF;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,mBAAmB,CAAC;CAClG"}
|
|
@@ -5,8 +5,8 @@ import { Rdf12Quad } from "./utilities/types.js";
|
|
|
5
5
|
*/
|
|
6
6
|
export type QuadComparator = (a: Quad | Rdf12Quad, b: Quad | Rdf12Quad) => number;
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* A strategy for sorting quads that supports pluggable sorting
|
|
9
|
+
* algorithms with optional preparation step.
|
|
10
10
|
*/
|
|
11
11
|
export interface QuadSortingStrategy {
|
|
12
12
|
/**
|