Read-only mirror of https://github.com/SwissFederalArchives/lindas-cube-link — Schweizerisches Bundesarchiv. Issues & pull requests at the source.
  • HTML 79.5%
  • JavaScript 16.6%
  • Shell 2.5%
  • Dockerfile 1.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Giulio V e1a5727cb7
Remove develop references from deploy descriptions (#25)
* Remove develop branch references from CI workflows

Align with trunk-based development strategy per DevOps guidelines.

* Remove develop branch references from deploy workflow descriptions

Replace 'develop' with 'main' in workflow_dispatch input descriptions
since develop branch no longer exists.
2026-02-06 17:51:28 +01:00
.changeset Version Packages 2025-04-01 11:22:47 +02:00
.github Remove develop references from deploy descriptions (#25) 2026-02-06 17:51:28 +01:00
documentation Merge pull request #185 from Rdataflow/patch-3 2025-01-20 09:39:08 +01:00
img Massice update for name change 2022-07-25 18:25:04 +02:00
meta Migrate to lindas-barnard59 and lindas-trifid 2025-12-04 19:40:42 +01:00
relation Migrate to lindas-barnard59 and lindas-trifid 2025-12-04 19:40:42 +01:00
test Replace barnard59-based tests with direct SHACL validation 2025-12-12 19:55:07 +01:00
trifid Migrate to lindas-barnard59 and lindas-trifid 2025-12-04 19:40:42 +01:00
validation fix: include .ttl extension in validation shape imports 2026-01-30 08:18:23 +01:00
views trifid 2022-02-22 16:48:18 +01:00
.dockerignore ci: build and push Docker image 2022-01-26 17:14:28 +01:00
.gitignore test: keep b59 output as logs 2023-12-05 15:11:07 +01:00
best-practice.md Update best-practice.md 2021-05-26 18:34:24 +02:00
build.sh build: make script compatible with most of configurations 2022-03-16 23:06:15 +01:00
CHANGELOG.md Fix release workflow: use GITHUB_TOKEN instead of GitHub App 2026-02-03 15:04:58 +01:00
config.js Migrate to lindas-barnard59 and lindas-trifid 2025-12-04 19:40:42 +01:00
constraint.ttl Massice update for name change 2022-07-25 18:25:04 +02:00
cube.ttl Massice update for name change 2022-07-25 18:25:04 +02:00
DEVELOPMENT.md Migrate to lindas-barnard59 and lindas-trifid 2025-12-04 19:40:42 +01:00
Dockerfile docker: upgrade base to node 22 2024-09-19 10:39:07 +02:00
index.html Massice update for name change 2022-07-25 18:25:04 +02:00
LICENSE.md Rename License 2022-01-26 16:40:58 +01:00
package-lock.json Replace barnard59-based tests with direct SHACL validation 2025-12-12 19:55:07 +01:00
package.json Replace barnard59-based tests with direct SHACL validation 2025-12-12 19:55:07 +01:00
README.md Update README.md with profile-visualize 2024-04-22 13:54:45 +02:00
RELEASE.md Add release process documentation 2026-02-03 14:43:43 +01:00
static.html Initial check in of meta document 2021-12-07 15:41:09 +01:00
vocab.ttl Massice update for name change 2022-07-25 18:25:04 +02:00

Cube Schema

In this repository we develop the Cube Schema model.

@prefix cube: <https://cube.link/>.

DRAFT: https://zazuko.github.io/cube-link/

Validation shapes

The validation directory contains various SHACL Shapes which can be used to ensure the correctness of datasets, cubes, hierarchies, and other.

They can be retrieved from the web using a URI in the form of https://cube.link/{VERSION}/shape/{PROFILE}, where the {PROFILE} variable is replaced with any of the shape documents (without .ttl) and the {VERSION} variable is replaced with any tag name or the word latest. It is recommended to always use a specific version to avoid breaking changes.

For example, to get version 0.0.4 of standalone-cube-constraint.ttl, fetch https://cube.link/v0.0.4/shape/standalone-cube-constraint .

Otherwise, to get the latest version, fetch https://cube.link/latest/shape/standalone-cube-constraint instead.

Finally, it is possible to request shapes from a branch or specific commit by building the URI as /ref/{REF}/shape/.... For example, to get the standalone-cube-constraint shape from the main branch, fetch https://cube.link/ref/main/shape/standalone-cube-constraint and to get it from the commit a1b2c3d4e5f6, fetch https://cube.link/ref/a1b2c3d4e5f6/shape/standalone-cube-constraint .

Published profiles

Profile Description
standalone-cube-constraint Standard cube profile with minimal metadata
standalone-constraint-constraint Minimal dimensions metadata. Included in standalone-cube-constraint
profile-opendataswiss Cube metadata profile which follows the Opendata.swiss Handbook. Extends standalone-cube-constraint
profile-opendataswiss-lindas Cube metadata for cubes published to Opendata.swiss from Lindas
profile-visualize Cube metadata for cubes published to Visualize
basic-cube-constraint Minimum cube. This typically isn't used directly

How to Contribute

Please open Issues on this repository or provide PRs for contributions.

Testing

Automatic tests exist to validate cube constraints against maintained profiles, as well as tests checking the observation against given cube constraints.

Profile tests

./test/check-metadata.sh --profile=$PROFILE

$PROFILE must be the name of one of the profiles in the validation directory (without extension).

Test cases are turtle file under test/$PROFILE directory.

It is also possible to run only a subset of tests by providing a --filter argument. This argument is a regular expression that is matched against the file name. For example, to run only basic-cube-constraint tests which include the word "undefined":

./test/check-metadata.sh --profile=basic-cube-constraint --filter=undefined

Observation tests

./test/check-observations.sh

Test cases are turtle file under test/observations directory.

This script also supports a --filter argument.

Both scripts allow a --approved flag to force-approve the current output as valid in case of differences.