Open nichtich opened 5 months ago
Great @nichtich!
BTW have you seen this work bootstrapped on the implementation level:
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/?
@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
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.
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:
homepage
= foaf:homepageid
= dct:identifierimage
= foaf:imgtitle
= dct:titlecontributors
= dct:contributor (also mentioned in DCAT) a foaf:Agenttitle
= foaf:name ?path
= foaf:homepage ?email
=foaf:mbox
role
= ?organization
= ?created
= dct:created (also mentioned in DCAT)description
= dct:descriptionkeywords
= dct:keywordlicenses
= dct:licensename
can be converted to an URIpath
= foaf:homepage ?title
= dct:title ?name
= foaf:name ?profile
should not be includedresources
does not need to be included until there is a JSON-LD context for Data Resource (another issue, can be done later)sources
= prov:wasDerivedFrom ?title
= dct:titlepath
= URI or homepage of the source?email
= foaf:mbox ?version
= dct:version