@lde/sparql-qlever 0.9.0 → 0.9.2

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.
@@ -1,17 +1,19 @@
1
+ import { Downloader } from '@lde/distribution-downloader';
1
2
  import { Importer } from './importer.js';
2
3
  import { Server } from './server.js';
3
4
  export type QleverOptions = {
5
+ /** Directory where downloaded data files are stored. */
6
+ dataDir?: string;
4
7
  indexName?: string;
5
8
  /** @default 7001 */
6
9
  port?: number;
10
+ downloader?: Downloader;
7
11
  } & ({
8
12
  mode: 'docker';
9
13
  image: string;
10
14
  containerName?: string;
11
- mountDir?: string;
12
15
  } | {
13
16
  mode: 'native';
14
- cwd?: string;
15
17
  });
16
18
  export declare function createQlever(options: QleverOptions): {
17
19
  importer: Importer;
@@ -1 +1 @@
1
- {"version":3,"file":"createQlever.d.ts","sourceRoot":"","sources":["../src/createQlever.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,CACA;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CACnC,CAAC;AAEF,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa;;;EAoBlD"}
1
+ {"version":3,"file":"createQlever.d.ts","sourceRoot":"","sources":["../src/createQlever.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,UAAU,EAEX,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,MAAM,aAAa,GAAG;IAC1B,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,GAAG,CACA;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GACD;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CACrB,CAAC;AAEF,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa;;;EAyBlD"}
@@ -1,5 +1,6 @@
1
1
  import { DockerTaskRunner } from '@lde/task-runner-docker';
2
2
  import { NativeTaskRunner } from '@lde/task-runner-native';
3
+ import { LastModifiedDownloader, } from '@lde/distribution-downloader';
3
4
  import { Importer } from './importer.js';
4
5
  import { Server } from './server.js';
5
6
  export function createQlever(options) {
@@ -8,12 +9,16 @@ export function createQlever(options) {
8
9
  ? new DockerTaskRunner({
9
10
  image: options.image,
10
11
  containerName: options.containerName,
11
- mountDir: options.mountDir,
12
+ mountDir: options.dataDir,
12
13
  port,
13
14
  })
14
- : new NativeTaskRunner({ cwd: options.cwd });
15
+ : new NativeTaskRunner({ cwd: options.dataDir });
15
16
  return {
16
- importer: new Importer({ taskRunner, indexName: options.indexName }),
17
+ importer: new Importer({
18
+ taskRunner,
19
+ indexName: options.indexName,
20
+ downloader: options.downloader ?? new LastModifiedDownloader(options.dataDir),
21
+ }),
17
22
  server: new Server({
18
23
  taskRunner,
19
24
  indexName: options.indexName ?? 'data',
@@ -1 +1 @@
1
- {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../src/importer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,IAAI,iBAAiB,EAC7B,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAgB,MAAM,cAAc,CAAC;AACrD,OAAO,EACL,UAAU,EAEX,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAU9C,MAAM,WAAW,OAAO;IACtB,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,aAAa,CAAC,EAAE;QACd,qBAAqB,EAAE,OAAO,CAAC;QAC/B,uBAAuB,EAAE,MAAM,CAAC;KACjC,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,qBAAa,QAAS,YAAW,iBAAiB;IAChD,OAAO,CAAC,SAAS,CAAC;IAClB,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,UAAU,CAAC;IACnB,OAAO,CAAC,aAAa,CAAC;gBAEV,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,OAAO;IAU5D,MAAM,CACjB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,YAAY,GAAG,gBAAgB,GAAG,YAAY,CAAC;YAiC5C,QAAQ;IAatB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,gBAAgB;YAQV,KAAK;CAuBpB"}
1
+ {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../src/importer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,IAAI,iBAAiB,EAC7B,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAgB,MAAM,cAAc,CAAC;AACrD,OAAO,EACL,UAAU,EAEX,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAU9C,MAAM,WAAW,OAAO;IACtB,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,aAAa,CAAC,EAAE;QACd,qBAAqB,EAAE,OAAO,CAAC;QAC/B,uBAAuB,EAAE,MAAM,CAAC;KACjC,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,qBAAa,QAAS,YAAW,iBAAiB;IAChD,OAAO,CAAC,SAAS,CAAC;IAClB,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,UAAU,CAAC;IACnB,OAAO,CAAC,aAAa,CAAC;gBAEV,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,OAAO;IAU5D,MAAM,CACjB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,YAAY,GAAG,gBAAgB,GAAG,YAAY,CAAC;YAiC5C,QAAQ;IAatB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,gBAAgB;YAQV,KAAK;CAmBpB"}
package/dist/importer.js CHANGED
@@ -76,17 +76,11 @@ export class Importer {
76
76
  return match ? Number(match[1]) : undefined;
77
77
  }
78
78
  async index(file, format) {
79
- const workingDir = dirname(file);
80
79
  const settingsFile = 'index.settings.json';
81
- // Turtle is not line-delimited, so QLever's parallel parser can't split
82
- // the input into independent chunks. Disable it to avoid parse failures.
83
- const settings = format === 'ttl'
84
- ? { ...this.qleverOptions, 'parallel-parsing': false }
85
- : this.qleverOptions;
86
- await writeFile(`${workingDir}/${settingsFile}`, JSON.stringify(settings));
80
+ await writeFile(`${dirname(file)}/${settingsFile}`, JSON.stringify(this.qleverOptions));
87
81
  // TODO: write index to named volume instead of bind mount for better performance.
88
82
  const metadataFile = `${this.indexName}.meta-data.json`;
89
- const indexTask = await this.taskRunner.run(`(zcat '${basename(file)}' 2>/dev/null || cat '${basename(file)}') | qlever-index -i ${this.indexName} -s ${settingsFile} -F ${format} -f - && cat ${metadataFile}`);
83
+ const indexTask = await this.taskRunner.run(`(zcat '${basename(file)}' 2>/dev/null || cat '${basename(file)}') | qlever-index -i ${this.indexName} -s ${settingsFile} -F ${format} -p true -f - && cat ${metadataFile}`);
90
84
  return await this.taskRunner.wait(indexTask);
91
85
  }
92
86
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lde/sparql-qlever",
3
- "version": "0.9.0",
3
+ "version": "0.9.2",
4
4
  "repository": {
5
5
  "url": "git+https://github.com/ldelements/lde.git",
6
6
  "directory": "packages/sparql-qlever"
@@ -24,12 +24,12 @@
24
24
  ],
25
25
  "dependencies": {
26
26
  "@lde/dataset": "0.7.1",
27
- "@lde/distribution-downloader": "0.5.1",
27
+ "@lde/distribution-downloader": "0.5.2",
28
28
  "@lde/sparql-importer": "0.4.0",
29
29
  "@lde/sparql-server": "0.4.10",
30
30
  "@lde/task-runner": "0.2.10",
31
31
  "@lde/task-runner-docker": "0.2.11",
32
- "@lde/task-runner-native": "0.2.11",
32
+ "@lde/task-runner-native": "0.2.13",
33
33
  "@lde/wait-for-sparql": "0.2.11",
34
34
  "tslib": "^2.3.0"
35
35
  }