- Table Of Contents
First of all: Thank you for taking the time to contribute!
The following is a set of guidelines for contributing to RO. These guidelines are not strict rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
The RO team strives to create a welcoming environment for editors, users and other contributors. Please carefully read our Code of Conduct.
Please use our Issue Tracker for reporting problems with the ontology. To learn how to write a good issue see here.
Before you write a new request, please consider the following:
- Does the term already exist? Before submitting suggestions for new ontology terms, check whether the term exist, either as a primary term or a synonym term. You can search for your term using OLS.
- Can you provide a definition for the term? It should be very clear what the term means, and you should be able to provide a concise definition, ideally with a scientific reference.
- Is the ontology in scope for the term? Sometimes, it is hard to tell whether a term "belongs" in and ontology. A rule of thumb is "if a similar term already exists, the new term is probably in scope." It can be very helpful to mention a very similar concept as part of the term request!
Anyone can request new terms. However, there is not guarantee that your term will be added automatically. Since this is a community resource, it is often necessary to do at least some of the work of adding the term yourself, see below.
Request a new term via the GitHub Issue Tracker.
It is important to remember that it takes a lot of time for curators to process issues submitted to the tracker. To make this work easier, please always use issue templates if they are available (https://github.com/oborel/obo-relations/issues/new/choose).
For how to write a good term request, please read the best practices carefully.
If you have never edited this ontology before, first follow a general tutorial
Process:
- Clone the repository (In case you are not an offical team member, create a fork first)
- Create new branch in git, for example
git checkout -b issue123
- Open src/ontology/ro-edit.owl in your favourite editor, i.e. Protege. Careful: double check you are editing the correct file. There are many ontology files in this repository, but only one editors file!
- Perform your edit and save your changes
- Commit changes to branch
- Push changes upstream
- Create pull request
-
Write a detailed request: Please be specific and include as many details as necessary, providing background information, and if possible, suggesting a solution. GOC editors will be better equipped to address your suggestions if you offer details regarding 'what is wrong', 'why', and 'how to fix it'.
-
Provide examples and references: Please include any applicable references (such as PMIDs) for new term requests, and include also screenshots, or URLs illustrating the current ontology structure for other types of requests.
-
For new term request: Be sure to provide suggestions for label (name), definition, references, position in hierarchy, etc.
-
For updates to relationships: Provide details of the current axioms, why you think they are wrong or not sufficient, and what exactly should be added or removed.
Creating a new issue in the tracker allows the RO editors and community to discuss proposed changes, fixes, or additions.
Please refer to the OBO Academy best practices.
Please refer to the OBO Academy best practices
Anyone is welcome to make Pull Requests (PRs), however, you are advised to coordinate with other RO developers and announce your
intentions on the relevant GitHub issue first to avoid doing work that may later be rejected. The #relation-ontology
channel on
OBO slack is also a good place to discuss PRs.
In RO, all PRs must be approved by two RO editors.
Visit http://groups.google.com/group/obo-relations to join the (low-traffic) RO mailing list.
Currently (August 2023) the RO working group meets once every 4 weeks on Mondays at 8am PT / 11am ET. These meetings are open to the community. Please join the RO mailing list to be informed about upcoming meetings.