frictionlessdata / datapackage

Data Package is a standard consisting of a set of simple yet extensible specifications to describe datasets, data files and tabular data. It is a data definition language (DDL) and data API that facilitates findability, accessibility, interoperability, and reusability (FAIR) of data.
https://datapackage.org
The Unlicense
481 stars 109 forks source link

Add JSON-LD Context Document for Data Package #874

Closed nichtich closed 1 month ago

nichtich commented 5 months ago

This adds a JSON-LD context for data-package.json with unit test as started to discuss on #869.

dafeder commented 2 months ago

This seems like a good first step but I would think it's of limited usefulness without a namespace for data package itself so that the properties and classes that do not come from other vocabularies can be referenced elsewhere? But maybe outside the scope of this issue?

nichtich commented 2 months ago

The JSON-LD Context does not cover all elements because not all have been mapped to RDF. Limitations are mentioned in README.md. I'd prefer to start with a 80% solution than aiming for 100% first.

roll commented 2 months ago

@nichtich Great! But as a user, how can I use it? What is the use case and the way to discover it cc @peterdesmet

nichtich commented 2 months ago

The JSON-LD context is used to generate RDF from a Data Package file. Authors of package files should include a reference to it via key @context. This first requires an official location where to host the context file. People using RDF will know how to make use of it but I can also write a short tutorial if needed to show how an example Data Package is represented in RDF. The general use case is data integration: having multiple Data Packages in RDF merged into one graph it's possible to query e.g. all packages by same publisher.

roll commented 1 month ago

@nichtich Shall it be mentioned somewhere in the user-facing part of the site?

nichtich commented 1 month ago

The schema should be referenced from https://specs.frictionlessdata.io/data-package/ but this should better be done after publication of the context document at https://specs.frictionlessdata.io/. I guess this requires some addition to build.js. Better do it step by step, starting with this pull request.