@lde/search 0.27.1 → 0.28.0

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.
@@ -14,11 +14,16 @@ export interface SubjectIndex {
14
14
  }
15
15
  /**
16
16
  * Iterate `quads` once, grouping each subject’s triples. Duplicate triples are
17
- * collapsed here because some SPARQL engines (e.g. QLever) do not deduplicate
18
- * CONSTRUCT output. The source is consumed a single time, so it may be a
19
- * one-shot iterable (a generator chaining several sources); the whole subject
20
- * index is held, but never more than that plus one framed subgraph at a time
21
- * downstream.
17
+ * collapsed here: some SPARQL engines (e.g. QLever) do not deduplicate
18
+ * CONSTRUCT output, and a batch merges several readers’ output unfiltered.
19
+ * Framing would fold a repeated plain value on its own, but not a repeated
20
+ * RDF list cell (it then frames as raw `rdf:first`/`rdf:rest`), and without the
21
+ * set the index and every framed subgraph would grow with the duplication
22
+ * factor rather than with the distinct triples.
23
+ *
24
+ * The source is consumed a single time, so it may be a one-shot iterable (a
25
+ * generator chaining several sources); the whole subject index is held, but
26
+ * never more than that plus one framed subgraph at a time downstream.
22
27
  *
23
28
  * Roots are never discovered here – the caller ({@link projectRoots}, from the
24
29
  * pipeline selector) already holds them and passes them to {@link frameSubjects}
@@ -1 +1 @@
1
- {"version":3,"file":"frame-by-type.d.ts","sourceRoot":"","sources":["../src/frame-by-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGzC,4EAA4E;AAC5E,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAIjD;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;CAC1D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAkBrE;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAuB,aAAa,CAClC,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,KAAK,SAAI,GACR,aAAa,CAAC,UAAU,CAAC,CAyB3B"}
1
+ {"version":3,"file":"frame-by-type.d.ts","sourceRoot":"","sources":["../src/frame-by-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGzC,4EAA4E;AAC5E,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAIjD;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;CAC1D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAkBrE;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAuB,aAAa,CAClC,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,KAAK,SAAI,GACR,aAAa,CAAC,UAAU,CAAC,CAyB3B"}
@@ -2,11 +2,16 @@ import jsonld from 'jsonld';
2
2
  const FRAME_OPTIONS = { omitGraph: false, embed: '@always' };
3
3
  /**
4
4
  * Iterate `quads` once, grouping each subject’s triples. Duplicate triples are
5
- * collapsed here because some SPARQL engines (e.g. QLever) do not deduplicate
6
- * CONSTRUCT output. The source is consumed a single time, so it may be a
7
- * one-shot iterable (a generator chaining several sources); the whole subject
8
- * index is held, but never more than that plus one framed subgraph at a time
9
- * downstream.
5
+ * collapsed here: some SPARQL engines (e.g. QLever) do not deduplicate
6
+ * CONSTRUCT output, and a batch merges several readers’ output unfiltered.
7
+ * Framing would fold a repeated plain value on its own, but not a repeated
8
+ * RDF list cell (it then frames as raw `rdf:first`/`rdf:rest`), and without the
9
+ * set the index and every framed subgraph would grow with the duplication
10
+ * factor rather than with the distinct triples.
11
+ *
12
+ * The source is consumed a single time, so it may be a one-shot iterable (a
13
+ * generator chaining several sources); the whole subject index is held, but
14
+ * never more than that plus one framed subgraph at a time downstream.
10
15
  *
11
16
  * Roots are never discovered here – the caller ({@link projectRoots}, from the
12
17
  * pipeline selector) already holds them and passes them to {@link frameSubjects}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lde/search",
3
- "version": "0.27.1",
3
+ "version": "0.28.0",
4
4
  "description": "Engine- and domain-agnostic core for RDF-backed search: a unified declarative field model (SearchField/SearchType/SearchSchema), a neutral query IR, the SearchEngine port with logical result types, and a streaming CONSTRUCT-to-document projection. Bakes in no engine, protocol, or domain.",
5
5
  "repository": {
6
6
  "url": "git+https://github.com/ldelements/lde.git",
@@ -43,7 +43,7 @@
43
43
  "!**/*.tsbuildinfo"
44
44
  ],
45
45
  "dependencies": {
46
- "@lde/text-normalization": "^0.1.2",
46
+ "@lde/text-normalization": "^0.2.0",
47
47
  "@rdfjs/types": "^2.0.1",
48
48
  "inflection": "^3.0.2",
49
49
  "jsonld": "^9.0.0",
@@ -55,7 +55,7 @@
55
55
  "n3": "^2.7.12"
56
56
  },
57
57
  "peerDependencies": {
58
- "vitest": "^4.0.0"
58
+ "vitest": ">=4.0.0"
59
59
  },
60
60
  "peerDependenciesMeta": {
61
61
  "vitest": {