Provenance#
The provenance document is meant to inform the user about the provider, source, distributor, and processing of the data in this file. The provenance should meet the requirements of SEIS-PROV.
{
"type": "FeatureCollection",
"provenance": {
...
},
"features": [
...
]
}
The SEIS-PROV standard allows for a wide variety of information. SEIS-PROV categorizes entries into three main categories: “agents”, “entities”, and “activities”. “Agents” entries can be either “software”, “person”, or “organization” agents.
The GMP format requires at least two entries:
A “person” agent or an “organization” agent.
A “software” agent.
The provenance JSON document is a dictionary with the following keys:
- prefix
A dictionary with a key “seis_prov” that defines the namespace.
- agent
A dictionary for agent provenance information.
{
...
"provenance": {
"prefix": {
"seis_prov": "http://seisprov.org/seis_prov/0.1/#"
},
"agent": {...}
}
}
For “person” and “organization” agents, we define and require a specific attribute for the GMP format:
- role
possible values are “data provider”, “data processor”, and “data distributor”.
An example software agent is:
{
...
"provenance": {
...
"agent": {
"seis_prov:sp000_sa_0000000": {
"prov:label": "gmprocess",
"prov:type": {
"$": "prov:SoftwareAgent",
"type": "prov:QUALIFIED_NAME"
},
"seis_prov:software_name": "gmprocess",
"seis_prov:software_version": "1.1",
"seis_prov:website": {
"$": "http://dx.doi.org/10.5066/P9ANQXN3",
"type": "xsd:anyURI"
}
}
}
}
}
Note that the keys in the “agent” dictionary are the SEIS-PROV IDs for each provenance record, and must be unique. See the SEIS-PROV documentation for additional details.
An example with an organization (the data distributor) and a person agents (the data processor) is:
{
...
"provenance": {
...
"agent": {
"seis_prov:sp000_pp_0000000": {
"prov:label": "Mr. Processor",
"prov:type": {
"$": "prov:Person",
"type": "prov:QUALIFIED_NAME"
},
"seis_prov:name": "Mr. Processor",
"seis_prov:email": "mrprocessor@processing.org",
"seis_prov:role": "data processor"
},
"seis_prov:sp000_og_0000000": {
"prov:label": "IRIS DMC",
"prov:type": {
"$": "prov:Organization",
"type": "prov:QUALIFIED_NAME"
},
"seis_prov:name": "IRIS DMC",
"seis_prov:role": "data distributor",
"seis_prov:website": {
"$": "https://www.iris.edu/",
"type": "xsd:anyURI"
}
}
}
}
}
An example with two organization agents (the data distributor and the data provider) is:
{
...
"provenance": {
...
"agent": {
"seis_prov:sp000_og_0000000": {
"prov:label": "Mr. Processor",
"prov:type": {
"$": "prov:Organization",
"type": "prov:QUALIFIED_NAME"
},
"seis_prov:name": "NCEDC",
"seis_prov:website": {
"$": "https://ncedc.org/",
"type": "xsd:anyURI"
},
"seis_prov:role": "data provider"
},
"seis_prov:sp000_og_0000001": {
"prov:label": "IRIS DMC",
"prov:type": {
"$": "prov:Organization",
"type": "prov:QUALIFIED_NAME"
},
"seis_prov:name": "IRIS DMC",
"seis_prov:role": "data distributor",
"seis_prov:website": {
"$": "https://www.iris.edu/",
"type": "xsd:anyURI"
}
}
}
}
}