Inputs
Propagate uses two inputs to generate the outputs described on the Outputs page. See the Design overview page for a description of the user types, Requester and Owner, referred to below.
The inputs include:
- A structured metadata file for the data package, for example the
datapackage.jsonfrom the Data Package specification. Owners use this file to generate a web application through which a Requester can create a data request.
- A data request, in a
request.yamlfile, made through the web application or terminal interface by a Requester. The request file includes a SQL-like query of selected resources, fields, and filters, as well as any additional metadata about the request (e.g., requester name, email, project name, and rationale). The Requester creates this file for a specific research project that needs the data. The Owner uses this file to create the subset of data from the data package.
There should be only one request.yaml file per research project per data package. A research project is a specific activity or study conducted by the Requester that needs access to data from the data package. This request.yaml file specifies all the data that the research project needs from a given data package. This design is to avoid confusion about different versions of the request or needing to remember which request files to run for a research project. If a Requester receives a data subset from a submitted request.yaml file and later realizes that they need different data, they must update their existing request.yaml file and resubmit it to the Owner. The updated file needs to contain all the data (both new and previously requested) that the research project needs from the data package. For example, if a Requester wants an additional column from the data package, the new request must include not only this additional column, but also all the (still relevant) columns from the previous request.