diff --git a/packages/dataset-registry-client/src/client.ts b/packages/dataset-registry-client/src/client.ts index e477a213..ae0c2f82 100644 --- a/packages/dataset-registry-client/src/client.ts +++ b/packages/dataset-registry-client/src/client.ts @@ -54,7 +54,7 @@ export class Client { distributions: dataset.distribution.map((d) => { const distribution = new Distribution( new URL(d.accessURL), - d.mediaType, + d.mediaType ?? undefined, d.conformsTo ? new URL(d.conformsTo) : undefined ); distribution.byteSize = d.byteSize ?? undefined; diff --git a/packages/dataset-registry-client/src/schema.ts b/packages/dataset-registry-client/src/schema.ts index efab3d0a..8e772393 100644 --- a/packages/dataset-registry-client/src/schema.ts +++ b/packages/dataset-registry-client/src/schema.ts @@ -48,7 +48,10 @@ export const DatasetSchema = { '@schema': { '@type': dcat.Distribution, accessURL: dcat.accessURL, - mediaType: dcat.mediaType, + mediaType: { + '@id': dcat.mediaType, + '@optional': true, + }, byteSize: { '@id': dcat.byteSize, '@type': xsd.nonNegativeInteger, diff --git a/packages/dataset-registry-client/test/fixtures/registry.ttl b/packages/dataset-registry-client/test/fixtures/registry.ttl index f41fc063..19ad94b4 100644 --- a/packages/dataset-registry-client/test/fixtures/registry.ttl +++ b/packages/dataset-registry-client/test/fixtures/registry.ttl @@ -27,7 +27,6 @@ dcat:distribution [ a dcat:Distribution ; dcat:accessURL ; - dcat:mediaType "application/sparql-query" ; dct:modified "2022-12-03T10:26"^^xsd:dateTime ; ] , [ a dcat:Distribution ; diff --git a/packages/dataset/src/distribution.ts b/packages/dataset/src/distribution.ts index 9ea8202c..8b35edf5 100644 --- a/packages/dataset/src/distribution.ts +++ b/packages/dataset/src/distribution.ts @@ -9,7 +9,7 @@ export class Distribution { constructor( public readonly accessUrl: URL, - public readonly mimeType: string, + public readonly mimeType?: string, public readonly conformsTo?: URL ) {} diff --git a/packages/sparql-qlever/src/importer.ts b/packages/sparql-qlever/src/importer.ts index c9046762..f927e494 100644 --- a/packages/sparql-qlever/src/importer.ts +++ b/packages/sparql-qlever/src/importer.ts @@ -48,7 +48,12 @@ export class Importer implements ImporterInterface { public async import( dataset: Dataset ): Promise { - const downloadDistributions = dataset.getDownloadDistributions(); + const downloadDistributions = dataset + .getDownloadDistributions() + .filter( + (distribution): distribution is Distribution & { mimeType: string } => + distribution.mimeType !== undefined + ); if (downloadDistributions.length === 0) { return new NotSupported(); } @@ -75,7 +80,7 @@ export class Importer implements ImporterInterface { } private async doImport( - distribution: Distribution + distribution: Distribution & { mimeType: string } ): Promise { const localFile = await this.downloader.download(distribution); await this.index( diff --git a/packages/sparql-qlever/tsconfig.json b/packages/sparql-qlever/tsconfig.json index f50ff318..2bbab6fc 100644 --- a/packages/sparql-qlever/tsconfig.json +++ b/packages/sparql-qlever/tsconfig.json @@ -10,19 +10,19 @@ "path": "../task-runner-docker" }, { - "path": "../sparql-server" + "path": "../dataset" }, { "path": "../task-runner" }, { - "path": "../distribution-downloader" + "path": "../sparql-server" }, { - "path": "../dataset" + "path": "../sparql-importer" }, { - "path": "../sparql-importer" + "path": "../distribution-downloader" }, { "path": "./tsconfig.lib.json" diff --git a/packages/sparql-qlever/tsconfig.lib.json b/packages/sparql-qlever/tsconfig.lib.json index 5e2e9bb0..a194f115 100644 --- a/packages/sparql-qlever/tsconfig.lib.json +++ b/packages/sparql-qlever/tsconfig.lib.json @@ -17,19 +17,19 @@ "path": "../task-runner-docker/tsconfig.lib.json" }, { - "path": "../sparql-server/tsconfig.lib.json" + "path": "../dataset/tsconfig.lib.json" }, { "path": "../task-runner/tsconfig.lib.json" }, { - "path": "../distribution-downloader/tsconfig.lib.json" + "path": "../sparql-server/tsconfig.lib.json" }, { - "path": "../dataset/tsconfig.lib.json" + "path": "../sparql-importer/tsconfig.lib.json" }, { - "path": "../sparql-importer/tsconfig.lib.json" + "path": "../distribution-downloader/tsconfig.lib.json" } ], "exclude": [ diff --git a/packages/sparql-qlever/vite.config.ts b/packages/sparql-qlever/vite.config.ts index 394801b6..dc072951 100644 --- a/packages/sparql-qlever/vite.config.ts +++ b/packages/sparql-qlever/vite.config.ts @@ -13,10 +13,10 @@ export default mergeConfig( }, coverage: { thresholds: { - lines: 87.38, + lines: 87.93, functions: 100, - branches: 50, - statements: 87.38, + branches: 52.17, + statements: 87.93, }, }, },