specs icon indicating copy to clipboard operation
specs copied to clipboard

Data Resource Sources should explicitly inherit from Data Package

Open Stephen-Gates opened this issue 7 years ago • 0 comments

Sources in Frictionless Data

The sources attribute is used in the Frictionless Data specifications to indicate the organization(s) or document(s) that are the source(s) for the data.

Sources is an array of one or more source objects that each must have a title and may have path and/or email property.

Sources can be specified as an optional property in:

A Data Package can contain one or more Data Resources. Sources can be unique, or shared across some or all Data Resources within a Data Package.

For example, for a Data Package with three Data Resources:

  • the sources could be unique for each Data Resource
  • the sources could be the same for two Data Resources and different for the third
  • the sources could be the same for every Data Resource

What is good practice for specifying sources?

If the sources are unique for each Data Resource, then:

  • specify the sources for each Data Resource
  • do not specify sources for the Data Package

If the sources are the same for some but not all Data Resources, then:

  • specify the sources for each Data Resource
  • do not specify sources for the Data Package

If the sources are the same for each Data Resource, then^:

  • specify the sources for each Data Resource
  • do not specify sources for the Data Package

^ This last recommendation is proposed because the specification does not explicitly state that Data Resource sources inherit from the Data Package.

Inheritance is explicitly specified for licence so it can be assumed that sources don't inherit. However, this assumption would make sources at the Data Package level redundant, so it is assumed that the intent is to support inheritance.

To solve this confusion, it is proposed that the Data Resource specification is changed to state: source: as for Data Package metadata. If not specified the resource inherits from the data package.

Edit: following on from conversation on Gitter

Stephen-Gates avatar Oct 17 '17 14:10 Stephen-Gates