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
479 stars 107 forks source link

JSON-LD context for datapackage.json #869

Open nichtich opened 5 months ago

nichtich commented 5 months ago

This has been discussed in #218 but the discussion is quite old and we should better separate JSON-LD context for Data Package because its easier to solve. In short we have 14 fields, some of which can be mapped directly to RDF. The RDF properties should be aligned with DCAT ontology because DCAT and Data Package have large overlap in their use case, so a JSON-LD context for datapackage.json would allow to serve both from one data source.

First draft of a mapping of Data Package to RDF:

roll commented 5 months ago

Great @nichtich!

BTW have you seen this work bootstrapped on the implementation level:

nichtich commented 5 months ago

have you seen this work bootstrapped on the implementation level

Thanks! How come the list of properties differs from https://datapackage.org/specifications/data-package/?

roll commented 5 months ago

@nichtich That's the DCAT model and the mapper to/from the Data Package model - https://github.com/frictionlessdata/dplib-py/blob/main/dplib/models/package/package.py

nichtich commented 5 months ago

As mentioned in README.md of the pull request, local file pathes cannot be mapped to RDF resources. At least the root level id element must hold an URI instead any "globally unique identifier". The UUID example b03ec84-77fd-4270-813b-0c698943f7ce could be written as urn:uuid:b03ec84-77fd-4270-813b-0c698943f7ce to fulfill this requirement.