The purpose of the metadata dictionary is to provide a set of standard terms to describe data. Terms in the metadata dictionoary are used in the manifests within the data curator app. This dictionary is maintained by the NF-Open Science Initative. We welcome contributions from community members, whether you are a professional data modeler, clinician, or student in the NF community.
Steps 1 - 6 are performed by a "contributor" (i.e. community member) or "maintainer" (i.e. NF-OSI)
- Create a new branch in the NF-metadata-dictionary repository. (example: patch/add-attribute)
- Find the csv file in the new branch where the attribute belongs. The components of the data model are organized in the folder labled modules.
e.g. As shown below, in modules/Assay there are classes associated with assays: Assay, Assay_Parameter, Method, and Platform and the relations csv file, annotationProperty.
- Add the attribute to the relevant csv file by either 1) ↓ downloading the csv file , editing in excel and reuploading or 2) editing the raw csv as shown below:
- Complete the columns for the attribute and "commit changes" to the new branch. At a minimum, add Attribute, Description, Valid Values and Source - If you need help, the maintainer will help fill out the rest after you do a pull request.
Attribute*** | Description*** | Valid Values | Source*** |
---|---|---|---|
Name of the new concept | A description for the concept. | Only required if you are editing an annotationProperty.csv file, where you would be defining a new field (relation) and specifying what values are allowed to be used with this field (relation). For example, tumorType is to valid values { Malignant Peripheral Sheath Tumor, Schwannoma, ... } as eats is to valid values { pizza, sandwich, egg, ... }. | Preferably a URI to an ontology source term |
*** = Required
- Add the attribute under "Valid Values" for other attributes it pertains to.
- Create a pull request (PR) to merge the branch to "main". Add either @allaway, @anngvu, or @cconrad8 as a reviewer. Creating the PR will perform an action to update the NF.csv file and the NF.jsonld from the modules folder. Therefore, you do not need to edit the
NF.csv
orNF.jsonld
directly because it will be done automatically
Steps 7-9 are performed only by the "maintainer"
- Make any neccessary changes and then merge the new branch that was created to the main branch.
- Draft a versioned release here.
- Name the release with the the convention MAJOR.MINOR.PATCH. These releases start at v1.0.0. Versioning is roughly following semantic versioning concepts where:
- MAJOR: In-use parent attributes are deleted from dictionary or modified, or in-use child attributes are modified in a non-backwards compatible way (e.g.
Neurofibromatosis 1
changed toNeurofibromatosis type 1
). - MINOR: Concepts/parent attributes are added.
- PATCH: Child attributes are added, or unused child/parent attributes are deleted/modified, or definitions/
comments
are added/modified, orvalidation rules
are modified in a backwards compatible way.
- 🎉 Congrats! The term is now added to the metadata dictionary.
To build locally, install the schematic package. Test whether the module "builds" by running make CSV=NF.csv.
For questions or to get help contributing a term, please create an issue.
The "collection" of metadata terms in this repository is made available under a CC0 license. The individual terms and their definitions may be subject to other (permissive) licenses, please see the source for each metadata term for details.