Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ You can also check the

## Next Release

- Fixes
- Cube metadata no longer fails for datasets whose`dcterms:creator` and `schema:creator` point to different organizations; `schema:creator` is now only a fallback, fixing broken chart previews and dataset pages (e.g. the FOEN NFI datasets)

## 6.5.6 - 2026-11-10

- Features
Expand Down
15 changes: 15 additions & 0 deletions app/rdf/query-cube-metadata.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -119,4 +119,19 @@ describe("getCubeMetadata creator", () => {
expect(query).toContain("schema:creator");
expect(query).toContain("dcterms:creator");
});

it("should only use schema:creator as fallback to avoid multiple creators", async () => {
let query = "";
await getCubeMetadata("https://example.com/cube", {
locale: "de",
sparqlClient: mockClient(buildRow(), (q) => (query = q)),
});

// Cubes may have different organizations as dcterms:creator and
// schema:creator. Without this guard the query returns one row per
// creator and getCubeMetadata fails with "Multiple cubes found".
expect(query).toContain(
"FILTER NOT EXISTS { ?iri dcterms:creator ?dctermsCreatorIri . }"
);
});
});
1 change: 1 addition & 0 deletions app/rdf/query-cube-metadata.ts
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ export const getCubeMetadata = async (
?iri ${ns.dcterms.creator} ?creatorIri .
} UNION {
?iri ${ns.schema.creator} ?creatorIri .
FILTER NOT EXISTS { ?iri ${ns.dcterms.creator} ?dctermsCreatorIri . }
}
VALUES ?creatorGraph {
<https://lindas.admin.ch/fch/rvov>
Expand Down
Loading