{"id":26190113,"url":"https://github.com/zazuko/cube-link","last_synced_at":"2026-03-15T12:05:15.295Z","repository":{"id":38828376,"uuid":"269169185","full_name":"zazuko/cube-link","owner":"zazuko","description":"Cube Schema","archived":false,"fork":false,"pushed_at":"2024-10-29T09:01:55.000Z","size":1770,"stargazers_count":12,"open_issues_count":27,"forks_count":8,"subscribers_count":11,"default_branch":"main","last_synced_at":"2024-10-29T10:56:37.133Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://zazuko.github.io/cube-link/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zazuko.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-03T18:52:12.000Z","updated_at":"2024-10-10T07:07:01.000Z","dependencies_parsed_at":"2022-07-11T19:54:45.480Z","dependency_job_id":"447c7a42-01a8-478d-b586-bc313faac062","html_url":"https://github.com/zazuko/cube-link","commit_stats":null,"previous_names":["zazuko/rdf-cube-schema"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zazuko%2Fcube-link","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zazuko%2Fcube-link/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zazuko%2Fcube-link/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zazuko%2Fcube-link/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zazuko","download_url":"https://codeload.github.com/zazuko/cube-link/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243136209,"owners_count":20241989,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-12T00:52:33.856Z","updated_at":"2025-12-24T12:10:56.038Z","avatar_url":"https://github.com/zazuko.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cube Schema\n\nIn this repository we develop the *Cube Schema* model.\n\n`@prefix cube: \u003chttps://cube.link/\u003e.`\n\nDRAFT: https://zazuko.github.io/cube-link/\n\n## Validation shapes\n\nThe [validation](validation) directory contains various SHACL Shapes which can be used to ensure the correctness of datasets, cubes, hierarchies, and other.\n\nThey 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](https://github.com/zazuko/cube-link/tags) or the word `latest`.\nIt is recommended to always use a specific version to avoid breaking changes.\n\nFor example, to get version 0.0.4 of `standalone-cube-constraint.ttl`, fetch https://cube.link/v0.0.4/shape/standalone-cube-constraint .\n\nOtherwise, to get the latest version, fetch https://cube.link/latest/shape/standalone-cube-constraint instead.\n\nFinally, it is possible to request shapes from a branch or specific commit by building the URI as `/ref/{REF}/shape/...`.\nFor 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 .\n\n### Published profiles\n\n| Profile                                                                             | Description                                                                                                                               |\n|-------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------|\n| [standalone-cube-constraint](validation/standalone-cube-constraint.ttl)             | Standard cube profile with minimal metadata                                                                                               |\n| [standalone-constraint-constraint](validation/standalone-constraint-constraint.ttl) | Minimal dimensions metadata. Included in `standalone-cube-constraint`                                                                     |\n| [profile-opendataswiss](validation/profile-opendataswiss.ttl)                       | Cube metadata profile which follows the [Opendata.swiss Handbook](https://handbook.opendata.swiss/). Extends `standalone-cube-constraint` |\n| [profile-opendataswiss-lindas](validation/profile-opendataswiss-lindas.ttl)         | Cube metadata for cubes published to Opendata.swiss from Lindas                                                                           |\n| [profile-visualize](validation/profile-visualize.ttl)                               | Cube metadata for cubes published to [Visualize](https://visualize.admin.ch/)                                                             |\n| [basic-cube-constraint](validation/basic-cube-constraint.ttl)                       | Minimum cube. This typically isn't used directly                                                                                          |\n\n## How to Contribute\n\nPlease open [Issues](https://github.com/zazuko/cube-link/issues) on this repository or provide PRs for contributions.\n\n## Testing\n\nAutomatic tests exist to validate cube constraints against maintained profiles, as well as tests\nchecking the observation against given cube constraints.\n\n### Profile tests\n\n```bash\n./test/check-metadata.sh --profile=$PROFILE\n```\n\n`$PROFILE` must be the name of one of the profiles in the `validation` directory (without extension).\n\nTest cases are turtle file under `test/$PROFILE` directory.\n\nIt is also possible to run only a subset of tests by providing a `--filter` argument. This argument\nis a regular expression that is matched against the file name. For example, to run only `basic-cube-constraint`\ntests which include the word \"undefined\":\n\n```bash\n./test/check-metadata.sh --profile=basic-cube-constraint --filter=undefined\n```\n\n### Observation tests\n\n```bash\n./test/check-observations.sh\n```\n\nTest cases are turtle file under `test/observations` directory.\n\nThis script also supports a `--filter` argument.\n\nBoth scripts allow a `--approved` flag to force-approve the current output as valid in case of differences. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzazuko%2Fcube-link","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzazuko%2Fcube-link","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzazuko%2Fcube-link/lists"}