Private Properties
| Authors | Rufus Pollock, Paul Walsh | 
|---|
Some software that implements the Frictionless Data specifications may need to store additional information on the various Frictionless Data descriptors.
For example, a data registry that provides metadata via datapackage.json may wish to set an internal version or identifier that is system-specific, and should not be considered as part of the user-generated metadata.
Properties to store such information should be considered “private”, and by convention, the names should be prefixed by an underscore _.
Implementations
There are no known implementations at present.
Specification
On any Frictionless Data descriptor, data that is not generated by the author/contributors, but is generated by software/a system handling the data, SHOULD be considered as “private”, and be prefixed by an underscore _.
To demonstrate, let’s take the example of a data registry that implements datapackage.json for storing dataset metadata.
A user might upload a datapackage.json as follows:
{  "name": "my-package",  "resources": [    {      "name": "my-resource",      "data": [ "my-resource.csv" ]    }  ]}The registry itself may have a platform-specific version system, and increment versions on each update of the data. To store this information on the datapackage itself, the platform could save this information in a “private” _platformVersion property as follows:
{  "name": "my-package",  "_platformVersion": 7  "resources": [    {      "name": "my-resource",      "data": [ "my-resource.csv" ]    }  ]}Usage of “private” properties ensures a clear distinction between data stored on the descriptor that is user (author/contributor) defined, and any additional data that may be stored by a 3rd party.