Skip to content

Commit

Permalink
Merge 63e8853 into d4e68cc
Browse files Browse the repository at this point in the history
  • Loading branch information
vhf committed Sep 25, 2019
2 parents d4e68cc + 63e8853 commit 0d323cc
Show file tree
Hide file tree
Showing 37 changed files with 1,102 additions and 1,288 deletions.
268 changes: 134 additions & 134 deletions __tests__/__snapshots__/datacubequery.test.ts.snap

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion __tests__/__snapshots__/serialization.test.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

exports[`component serializes 1`] = `"{\\"componentType\\":\\"dimension\\",\\"iri\\":\\"http://environment.data.admin.ch/ubd/28/qb/station\\",\\"labels\\":[{\\"value\\":\\"Stationscode\\",\\"language\\":\\"de\\"}]}"`;

exports[`dataCube de/serializes loaded components 1`] = `"{\\"endpoint\\":\\"https://ld.stadt-zuerich.ch/query\\",\\"iri\\":\\"http://environment.data.admin.ch/ubd/28/qb/ubd28\\",\\"graphIri\\":\\"https://linked.opendata.swiss/graph/FOEN/UBD28\\",\\"labels\\":[{\\"value\\":\\"Luftqualität Schweiz (Jahreswerte)\\",\\"language\\":\\"de\\"}],\\"languages\\":[\\"de\\",\\"en\\"],\\"components\\":{\\"dimensions\\":[\\"{\\\\\\"componentType\\\\\\":\\\\\\"dimension\\\\\\",\\\\\\"iri\\\\\\":\\\\\\"http://environment.data.admin.ch/ubd/28/qb/station\\\\\\",\\\\\\"labels\\\\\\":[{\\\\\\"value\\\\\\":\\\\\\"Stationscode\\\\\\",\\\\\\"language\\\\\\":\\\\\\"de\\\\\\"}]}\\",\\"{\\\\\\"componentType\\\\\\":\\\\\\"dimension\\\\\\",\\\\\\"iri\\\\\\":\\\\\\"http://environment.data.admin.ch/ubd/28/qb/refPeriod\\\\\\",\\\\\\"labels\\\\\\":[{\\\\\\"value\\\\\\":\\\\\\"Jahr\\\\\\",\\\\\\"language\\\\\\":\\\\\\"de\\\\\\"}]}\\",\\"{\\\\\\"componentType\\\\\\":\\\\\\"dimension\\\\\\",\\\\\\"iri\\\\\\":\\\\\\"http://environment.data.admin.ch/ubd/28/qb/pollutant\\\\\\",\\\\\\"labels\\\\\\":[{\\\\\\"value\\\\\\":\\\\\\"Schadstoff\\\\\\",\\\\\\"language\\\\\\":\\\\\\"de\\\\\\"}]}\\"],\\"measures\\":[\\"{\\\\\\"componentType\\\\\\":\\\\\\"measure\\\\\\",\\\\\\"iri\\\\\\":\\\\\\"http://environment.data.admin.ch/ubd/28/qb/measurement\\\\\\",\\\\\\"labels\\\\\\":[{\\\\\\"value\\\\\\":\\\\\\"Messung\\\\\\",\\\\\\"language\\\\\\":\\\\\\"de\\\\\\"}]}\\"],\\"attributes\\":[\\"{\\\\\\"componentType\\\\\\":\\\\\\"attribute\\\\\\",\\\\\\"iri\\\\\\":\\\\\\"http://environment.data.admin.ch/ubd/28/qb/limitvalue\\\\\\",\\\\\\"labels\\\\\\":[{\\\\\\"value\\\\\\":\\\\\\"Limite\\\\\\",\\\\\\"language\\\\\\":\\\\\\"de\\\\\\"}]}\\",\\"{\\\\\\"componentType\\\\\\":\\\\\\"attribute\\\\\\",\\\\\\"iri\\\\\\":\\\\\\"http://environment.data.admin.ch/ubd/28/qb/unit\\\\\\",\\\\\\"labels\\\\\\":[{\\\\\\"value\\\\\\":\\\\\\"Einheit\\\\\\",\\\\\\"language\\\\\\":\\\\\\"de\\\\\\"}]}\\",\\"{\\\\\\"componentType\\\\\\":\\\\\\"attribute\\\\\\",\\\\\\"iri\\\\\\":\\\\\\"http://environment.data.admin.ch/ubd/28/qb/aggregation\\\\\\",\\\\\\"labels\\\\\\":[{\\\\\\"value\\\\\\":\\\\\\"Aggregation\\\\\\",\\\\\\"language\\\\\\":\\\\\\"de\\\\\\"}]}\\"]}}"`;
exports[`dataCube de/serializes loaded components 1`] = `"{\\"endpoint\\":\\"https://ld.stadt-zuerich.ch/query\\",\\"iri\\":\\"http://environment.data.admin.ch/ubd/28/qb/ubd28\\",\\"graphIri\\":\\"https://linked.opendata.swiss/graph/FOEN/UBD28\\",\\"labels\\":[{\\"value\\":\\"Luftqualität Schweiz (Jahreswerte)\\",\\"language\\":\\"de\\"}],\\"languages\\":[\\"de\\",\\"en\\"],\\"components\\":{\\"dimensions\\":[{\\"componentType\\":\\"dimension\\",\\"iri\\":\\"http://environment.data.admin.ch/ubd/28/qb/station\\",\\"labels\\":[{\\"value\\":\\"Stationscode\\",\\"language\\":\\"de\\"}]},{\\"componentType\\":\\"dimension\\",\\"iri\\":\\"http://environment.data.admin.ch/ubd/28/qb/refPeriod\\",\\"labels\\":[{\\"value\\":\\"Jahr\\",\\"language\\":\\"de\\"}]},{\\"componentType\\":\\"dimension\\",\\"iri\\":\\"http://environment.data.admin.ch/ubd/28/qb/pollutant\\",\\"labels\\":[{\\"value\\":\\"Schadstoff\\",\\"language\\":\\"de\\"}]}],\\"measures\\":[{\\"componentType\\":\\"measure\\",\\"iri\\":\\"http://environment.data.admin.ch/ubd/28/qb/measurement\\",\\"labels\\":[{\\"value\\":\\"Messung\\",\\"language\\":\\"de\\"}]}],\\"attributes\\":[{\\"componentType\\":\\"attribute\\",\\"iri\\":\\"http://environment.data.admin.ch/ubd/28/qb/limitvalue\\",\\"labels\\":[{\\"value\\":\\"Limite\\",\\"language\\":\\"de\\"}]},{\\"componentType\\":\\"attribute\\",\\"iri\\":\\"http://environment.data.admin.ch/ubd/28/qb/unit\\",\\"labels\\":[{\\"value\\":\\"Einheit\\",\\"language\\":\\"de\\"}]},{\\"componentType\\":\\"attribute\\",\\"iri\\":\\"http://environment.data.admin.ch/ubd/28/qb/aggregation\\",\\"labels\\":[{\\"value\\":\\"Aggregation\\",\\"language\\":\\"de\\"}]}]}}"`;

exports[`dataCube serializes 1`] = `"{\\"endpoint\\":\\"https://ld.stadt-zuerich.ch/query\\",\\"iri\\":\\"http://environment.data.admin.ch/ubd/28/qb/ubd28\\",\\"graphIri\\":\\"https://linked.opendata.swiss/graph/FOEN/UBD28\\",\\"labels\\":[{\\"value\\":\\"Luftqualität Schweiz (Jahreswerte)\\",\\"language\\":\\"de\\"}],\\"languages\\":[\\"de\\",\\"en\\"],\\"components\\":{\\"dimensions\\":[],\\"measures\\":[],\\"attributes\\":[]}}"`;

Expand Down
21 changes: 20 additions & 1 deletion __tests__/datacubequery.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -400,7 +400,26 @@ describe("handles languages", () => {
});
});

describe.skip("execute", () => {
describe("auto names variables", () => {
test("slugifies labels to camelCase", async () => {
const query = dataCube.query().select({ zeit: zeitDimension });
const sparql = await query.toSparql();
expect(sparql).toContain("SELECT ?zeit ?zeitLabel ?raum ?bta ?sex");
});

test("doesn't generate name conflicts", async () => {
// create a cube with a bunch of dimensions with the same label "time" but different IRI,
// we want to make sure they get bound to different names instead of all becoming `?time`
const cube = DataCube.fromJSON('{"endpoint":"https://ld.stadt-zuerich.ch/query","iri":"https://ld.stadt-zuerich.ch/statistics/dataset/BES-RAUM-ZEIT-BTA-SEX","graphIri":"https://linked.opendata.swiss/graph/zh/statistics","labels":[{"value":"Beschäftigte nach Betriebsart, Raum, Geschlecht, Zeit","language":"de"}],"languages":[],"components":{"dimensions":[{"componentType":"dimension","iri":"https://ld.stadt-zuerich.ch/statistics/property/ZEIT","labels":[{"value":"time","language":""}]},{"componentType":"dimension","iri":"https://ld.stadt-zuerich.ch/statistics/property/ZEIT","labels":[{"value":"time","language":""}]},{"componentType":"dimension","iri":"https://ld.stadt-zuerich.ch/statistics/property/ZEIT-c","labels":[{"value":"time","language":""}]},{"componentType":"dimension","iri":"https://ld.stadt-zuerich.ch/statistics/property/ZEIT-d","labels":[{"value":"time","language":""}]},{"componentType":"dimension","iri":"https://ld.stadt-zuerich.ch/statistics/property/RAUM","labels":[{"value":"","language":""}]},{"componentType":"dimension","iri":"https://ld.stadt-zuerich.ch/statistics/property/BTA","labels":[{"value":"something fön","language":""}]}],"measures":[],"attributes":[]}}');

const query = cube.query().select({});
const sparql = await query.toSparql();
expect(sparql).not.toContain("?time ?time ");
expect(sparql).toContain("?time ?time1 ?time2");
});
});

describe("execute", () => {
it("returns results", async () => {
const entryPoint = new DataCubeEntryPoint(
"https://trifid-lindas.test.cluster.ldbar.ch/query",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
"vars" : [
"zeit",
"zeitLabel",
"tmpVar3",
"tmpVar4",
"tmpVar5",
"raum1",
"bta1",
"sex1",
"bep",
"quelle"
]
Expand All @@ -18,15 +18,15 @@
"type" : "literal",
"value" : "1966-06-30"
},
"tmpVar3" : {
"raum1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/R30000"
},
"tmpVar4" : {
"bta1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/BTA7100"
},
"tmpVar5" : {
"sex1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/SEX0002"
},
Expand All @@ -50,15 +50,15 @@
"type" : "literal",
"value" : "1966-06-30"
},
"tmpVar3" : {
"raum1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/R30000"
},
"tmpVar4" : {
"bta1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/BTA7100"
},
"tmpVar5" : {
"sex1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/SEX0001"
},
Expand All @@ -82,15 +82,15 @@
"type" : "literal",
"value" : "1967-06-30"
},
"tmpVar3" : {
"raum1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/R30000"
},
"tmpVar4" : {
"bta1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/BTA7100"
},
"tmpVar5" : {
"sex1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/SEX0002"
},
Expand All @@ -114,15 +114,15 @@
"type" : "literal",
"value" : "1967-06-30"
},
"tmpVar3" : {
"raum1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/R30000"
},
"tmpVar4" : {
"bta1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/BTA7100"
},
"tmpVar5" : {
"sex1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/SEX0001"
},
Expand All @@ -146,15 +146,15 @@
"type" : "literal",
"value" : "1968-06-30"
},
"tmpVar3" : {
"raum1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/R30000"
},
"tmpVar4" : {
"bta1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/BTA7100"
},
"tmpVar5" : {
"sex1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/SEX0002"
},
Expand All @@ -178,15 +178,15 @@
"type" : "literal",
"value" : "1968-06-30"
},
"tmpVar3" : {
"raum1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/R30000"
},
"tmpVar4" : {
"bta1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/BTA7100"
},
"tmpVar5" : {
"sex1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/SEX0001"
},
Expand All @@ -210,15 +210,15 @@
"type" : "literal",
"value" : "1969-06-30"
},
"tmpVar3" : {
"raum1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/R30000"
},
"tmpVar4" : {
"bta1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/BTA7100"
},
"tmpVar5" : {
"sex1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/SEX0002"
},
Expand All @@ -242,15 +242,15 @@
"type" : "literal",
"value" : "1969-06-30"
},
"tmpVar3" : {
"raum1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/R30000"
},
"tmpVar4" : {
"bta1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/BTA7100"
},
"tmpVar5" : {
"sex1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/SEX0001"
},
Expand All @@ -274,15 +274,15 @@
"type" : "literal",
"value" : "1970-06-30"
},
"tmpVar3" : {
"raum1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/R30000"
},
"tmpVar4" : {
"bta1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/BTA7100"
},
"tmpVar5" : {
"sex1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/SEX0002"
},
Expand All @@ -306,15 +306,15 @@
"type" : "literal",
"value" : "1970-06-30"
},
"tmpVar3" : {
"raum1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/R30000"
},
"tmpVar4" : {
"bta1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/BTA7100"
},
"tmpVar5" : {
"sex1" : {
"type" : "uri",
"value" : "https://ld.stadt-zuerich.ch/statistics/code/SEX0001"
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"url":"https://ld.stadt-zuerich.ch/query","status":200,"statusText":"OK","ok":true,"headers":{"accept-ranges":["bytes"],"access-control-allow-origin":["*"],"age":["0"],"cache-control":["public, max-age=120"],"content-encoding":["gzip"],"content-length":["194"],"content-type":["application/sparql-results+json"],"date":["Tue, 24 Sep 2019 13:00:32 GMT"],"set-cookie":["_f3bc9=http://10.42.46.162:80; Path=/"],"vary":["Accept-Encoding, Accept, Accept-Encoding"],"via":["1.1 varnish-v4"],"x-varnish":["1147242"],"connection":["close"]}}
{"url":"https://ld.stadt-zuerich.ch/query","status":200,"statusText":"OK","ok":true,"headers":{"accept-ranges":["bytes"],"access-control-allow-origin":["*"],"age":["0"],"cache-control":["public, max-age=120"],"content-encoding":["gzip"],"content-length":["438"],"content-type":["application/sparql-results+json"],"date":["Wed, 25 Sep 2019 15:12:47 GMT"],"set-cookie":["_f3bc9=http://10.42.46.162:80; Path=/"],"vary":["Accept-Encoding, Accept, Accept-Encoding"],"via":["1.1 varnish-v4"],"x-varnish":["1148589"],"connection":["close"]}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"url":"https://ld.stadt-zuerich.ch/query","status":200,"statusText":"OK","ok":true,"headers":{"accept-ranges":["bytes"],"access-control-allow-origin":["*"],"age":["0"],"cache-control":["public, max-age=120"],"content-encoding":["gzip"],"content-length":["351"],"content-type":["application/sparql-results+json"],"date":["Tue, 24 Sep 2019 13:00:31 GMT"],"set-cookie":["_f3bc9=http://10.42.46.162:80; Path=/"],"vary":["Accept-Encoding, Accept, Accept-Encoding"],"via":["1.1 varnish-v4"],"x-varnish":["4587888"],"connection":["close"]}}
{"url":"https://ld.stadt-zuerich.ch/query","status":200,"statusText":"OK","ok":true,"headers":{"accept-ranges":["bytes"],"access-control-allow-origin":["*"],"age":["0"],"cache-control":["public, max-age=120"],"content-encoding":["gzip"],"content-length":["351"],"content-type":["application/sparql-results+json"],"date":["Wed, 25 Sep 2019 15:12:48 GMT"],"set-cookie":["_f3bc9=http://10.42.46.162:80; Path=/"],"vary":["Accept-Encoding, Accept, Accept-Encoding"],"via":["1.1 varnish-v4"],"x-varnish":["1148591"],"connection":["close"]}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"url":"https://ld.stadt-zuerich.ch/query","status":200,"statusText":"OK","ok":true,"headers":{"accept-ranges":["bytes"],"access-control-allow-origin":["*"],"age":["0"],"cache-control":["public, max-age=120"],"content-encoding":["gzip"],"content-length":["185"],"content-type":["application/sparql-results+json"],"date":["Tue, 24 Sep 2019 13:00:32 GMT"],"set-cookie":["_f3bc9=http://10.42.46.162:80; Path=/"],"vary":["Accept-Encoding, Accept, Accept-Encoding"],"via":["1.1 varnish-v4"],"x-varnish":["4587896"],"connection":["close"]}}
{"url":"https://ld.stadt-zuerich.ch/query","status":200,"statusText":"OK","ok":true,"headers":{"accept-ranges":["bytes"],"access-control-allow-origin":["*"],"age":["0"],"cache-control":["public, max-age=120"],"content-encoding":["gzip"],"content-length":["185"],"content-type":["application/sparql-results+json"],"date":["Wed, 25 Sep 2019 15:12:48 GMT"],"set-cookie":["_f3bc9=http://10.42.46.162:80; Path=/"],"vary":["Accept-Encoding, Accept, Accept-Encoding"],"via":["1.1 varnish-v4"],"x-varnish":["3867192"],"connection":["close"]}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"url":"https://ld.stadt-zuerich.ch/query","status":200,"statusText":"OK","ok":true,"headers":{"accept-ranges":["bytes"],"access-control-allow-origin":["*"],"age":["0"],"cache-control":["public, max-age=120"],"content-encoding":["gzip"],"content-type":["application/sparql-results+json"],"date":["Tue, 24 Sep 2019 13:00:32 GMT"],"set-cookie":["_f3bc9=http://10.42.46.162:80; Path=/"],"vary":["Accept-Encoding, Accept, Accept-Encoding"],"via":["1.1 varnish-v4"],"x-varnish":["4587902"],"content-length":["999"],"connection":["close"]}}
{"url":"https://ld.stadt-zuerich.ch/query","status":200,"statusText":"OK","ok":true,"headers":{"accept-ranges":["bytes"],"access-control-allow-origin":["*"],"age":["0"],"cache-control":["public, max-age=120"],"content-encoding":["gzip"],"content-type":["application/sparql-results+json"],"date":["Wed, 25 Sep 2019 15:12:47 GMT"],"set-cookie":["_f3bc9=http://10.42.46.162:80; Path=/"],"vary":["Accept-Encoding, Accept, Accept-Encoding"],"via":["1.1 varnish-v4"],"x-varnish":["3867180"],"content-length":["999"],"connection":["close"]}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"url":"https://ld.stadt-zuerich.ch/query","status":200,"statusText":"OK","ok":true,"headers":{"accept-ranges":["bytes"],"access-control-allow-origin":["*"],"age":["0"],"cache-control":["public, max-age=120"],"content-encoding":["gzip"],"content-type":["application/sparql-results+json"],"date":["Tue, 24 Sep 2019 13:00:32 GMT"],"set-cookie":["_f3bc9=http://10.42.46.162:80; Path=/"],"vary":["Accept-Encoding, Accept, Accept-Encoding"],"via":["1.1 varnish-v4"],"x-varnish":["4587892"],"content-length":["222"],"connection":["close"]}}
{"url":"https://ld.stadt-zuerich.ch/query","status":200,"statusText":"OK","ok":true,"headers":{"accept-ranges":["bytes"],"access-control-allow-origin":["*"],"age":["0"],"cache-control":["public, max-age=120"],"content-encoding":["gzip"],"content-length":["222"],"content-type":["application/sparql-results+json"],"date":["Wed, 25 Sep 2019 15:12:48 GMT"],"set-cookie":["_f3bc9=http://10.42.46.162:80; Path=/"],"vary":["Accept-Encoding, Accept, Accept-Encoding"],"via":["1.1 varnish-v4"],"x-varnish":["3867188"],"connection":["close"]}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"url":"https://ld.stadt-zuerich.ch/query","status":200,"statusText":"OK","ok":true,"headers":{"accept-ranges":["bytes"],"access-control-allow-origin":["*"],"age":["0"],"cache-control":["public, max-age=120"],"content-encoding":["gzip"],"content-length":["203"],"content-type":["application/sparql-results+json"],"date":["Tue, 24 Sep 2019 13:00:32 GMT"],"set-cookie":["_f3bc9=http://10.42.46.162:80; Path=/"],"vary":["Accept-Encoding, Accept, Accept-Encoding"],"via":["1.1 varnish-v4"],"x-varnish":["4587900"],"connection":["close"]}}
{"url":"https://ld.stadt-zuerich.ch/query","status":200,"statusText":"OK","ok":true,"headers":{"accept-ranges":["bytes"],"access-control-allow-origin":["*"],"age":["0"],"cache-control":["public, max-age=120"],"content-encoding":["gzip"],"content-type":["application/sparql-results+json"],"date":["Wed, 25 Sep 2019 15:12:48 GMT"],"set-cookie":["_f3bc9=http://10.42.46.162:80; Path=/"],"vary":["Accept-Encoding, Accept, Accept-Encoding"],"via":["1.1 varnish-v4"],"x-varnish":["3867196"],"content-length":["203"],"connection":["close"]}}

0 comments on commit 0d323cc

Please sign in to comment.