Skip to content

cconrad8/nf-metadata-dictionary

 
 

Repository files navigation

GitHub release (latest by date) GitHub Release Date GitHub

Maintenance and Contribution

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 to add an attribute to the Metadata Dictionary:

Steps 1 - 6 are performed by a "contributor" (i.e. community member) or "maintainer" (i.e. NF-OSI)

  1. Create a new branch in the NF-metadata-dictionary repository. (example: patch/add-attribute)
  2. 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.

modules

  1. 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:

raw csv

  1. 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

  1. Add the attribute under "Valid Values" for other attributes it pertains to.
  2. 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 or NF.jsonld directly because it will be done automatically

Steps 7-9 are performed only by the "maintainer"

  1. Make any neccessary changes and then merge the new branch that was created to the main branch.
  2. Draft a versioned release here.
  3. 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 to Neurofibromatosis 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, or validation rules are modified in a backwards compatible way.
  1. 🎉 Congrats! The term is now added to the metadata dictionary.

Further Information

Building Locally

To build locally, install the schematic package. Test whether the module "builds" by running make CSV=NF.csv.

Help

For questions or to get help contributing a term, please create an issue.

License

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.

About

Versioned releases of the NF metadata dictionary.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 44.8%
  • R 28.8%
  • Clojure 23.4%
  • Makefile 3.0%