Key | Value |
---|---|
Title | Ecology Core Ontology |
Home page | https://github.com/EcologicalSemantics/ecocore |
Main contacts | A Thesen @diatomsRcool & PL Buttigieg @pbuttigieg |
Discussion mailing-list | click here |
Forum | https://groups.google.com/d/forum/ecology-core-ontology |
Issue tracker link | https://github.com/EcologicalSemantics/ecocore/issues |
This ontology aims to provide core terms for ecological entities at the organism level, such as ecological functions (for predators, prey, etc), food webs, and ecological interactions. Through ECOCORE, we look forward to facilitating a standard vocabulary for the ecological community, a need expressed repeatedly over the past few years at workshops focused on ecological, environmental, and population-based semantics. We're working closely with the Environment Ontology (ENVO), Population and Community Ontology (PCO), the Ontology of Biological Attributes (OBA), and the Neuro Behavior Ontology (NBO) to build an interoperating resource.
Working in ecological semantics? Please join ECOCORE's efforts by sending an e-mail via this link.
Ecocore contains subclasses of organism (OBI:0100026), organismal entity (PCO:0000031), biological process (GO:0008150), and organismal quality (PATO:0001995). All material entities, processes, and qualities in ecocore can be applied to a single organism, such as "autotroph" or "carnivory". Terms that are applied to populations or communities should be added to PCO. Organismal qualities that are "EQ style" such as femur length or fur color should be added to OBA.
Alpha release online. Some minor bugs, but content is available.
The latest version of the ontology can always be found at: http://purl.obolibrary.org/obo/ecocore.owl
Editors of this ontology should use the edit version, src/ontology/ecocore-edit.owl
Please use this GitHub repository's Issue tracker to request new terms/classes or report errors or specific concerns related to the ontology.
There are three major steps involved in creating a new release:
-
Make sure that all pull requests that are supposed to be merged are merged
-
Make sure that all changes to
master
are committed to Github (git status
should say that there are no modified files) -
Wait for the travis QC to finish
-
On you local machine, go to the
master
branch and rungit pull
to ensure that all your remote changes are available locally. -
Make sure you have the latest ODK installed by running
docker pull obolibrary/odkfull
-
Open a command line terminal window and navigate to the
src/ontology
directory (cd myecocoredir/src/ontology
) -
Create a new branch (
ecocore-release-20200131
or similar) -
If you have recently modified your patterns, run
sh run.sh make IMP=false
patterns once. This will be run again in the next step, but there is a bit of a bug in the ODK (as of January 2020) that it does not understand to look for imported terms in pattern that have just been added. -
Run the build script:
sh run.sh make prepare_release -B
. This command will compile the patterns, refresh the imports and build the ontology release files. Note that this step can take between 45 and 90 minutes - so make sure you do it over night or befor you go to the gym. -
If everything went well, you should see the following output on your machine. Release files are now in
../..
-
Open the file
myecocorerdir/ecocore.owl
in Protege and sanity check for classes with missing labels (on the top level of the hierarchy) and general weirdnesses. In particular, you want to know wether your latest changes to pattern are what you expected. -
If it looks sane, go to the
ecocore
directory and commit everything to the new branch you have created, push and create a pull request. Wait for travis to run one last time, but that should not reveal surprises. -
In an ideal world, let at least one other person sanity check the ecocore release. A good file to sanity check is
ecocore-base.obo
, and perhaps evenecocore.obo
: they are easy to review. -
Merge the changes into
master
. -
Delete the branch.
-
Go to ecocore releases on GitHub, click "Draft new release"
-
As the tag version you need to choose the date on which your ontologies were build. You can find this, for example, by looking at the
ecocore.obo
file and check the data-version: property. The date needs to be prefixed with a v, so, for example v2020-02-06. -
You can write whatever you want in the release title, but I typically write the date again. The description underneath should contain a concise list of changes or term additions - Chris has a whole philosophy on this. For now, I recommend you to simply summarise the changes, in particular, which terms have been added or removed.
-
Click "Publish release". Done.
-
Delete the branch locally.
-
Do a Git pull on the
master
branch. -
Go to each issue that has been resolved by the most recent PR and tag the PR in a comment. Then close the issue.
The first version of ECOCORE was built at the NSF-funded ClearEarth Hackathon, organised by Chris Jenkins and Anne Thesen, with input from ecologists, ontologists, and experts in natural language processing. The ontology was seeded with lists of terms generated as part of the hackathon.
This ontology repository was created using the ontology starter kit then updated to the ontology development kit on 2020-03-15.