ontologies

The eNanoMapper ontology

https://github.com/enanomapper/ontologies

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 27 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.8%) to scientific vocabulary

Keywords

nanotechnology ontology toxicology web-ontology-language
Last synced: 6 months ago · JSON representation ·

Repository

The eNanoMapper ontology

Basic Info
Statistics
  • Stars: 19
  • Watchers: 12
  • Forks: 15
  • Open Issues: 71
  • Releases: 10
Topics
nanotechnology ontology toxicology web-ontology-language
Created over 12 years ago · Last pushed 8 months ago
Metadata Files
Readme License Citation

README.md

The eNanoMapper Ontology

DOI Build slims On push file integrity tests ROBOT enanomapper-dev build test Pre-release tests

The eNanoMapper ontologies aim to provide a comprehensive suite of ontologies for the nanomaterial safety assessment domain (see http://www.enanomapper.net for project information). The full suite of ontologies can be found in a modular file assembled by imports using owl:imports, enanomapper.owl.

The ontology is being developed and maintained by the following EU H2020 projects (see also the below funding info):

Other NanoSafety Cluster projects that have contributed by providing feedback and collaborations include NANoREG, NanoReg2, and GRACIOUS.

External

We import slices from third party ontologies. The Slimmer tool is used to extract the bits we include in the eNanoMapper ontology. The slimmed files can be found in the external folder. The full list of ontologies it includes is:

slims-dependencies slims-count

The build of the slims is carried out in this repository through the actions contained in the .github/workflows folder, and the resulting slims of external ontologies are commited and pushed automatically to this repository when the build workflow is run under external-dev.

The configuration file config.yaml is used by the build and test workflows to retrieve ROBOT and Slimmer. There are 3 test workflows: - On push: test for file integrity (external, external-dev, internal, internal-dev, config) and performs SPARQL queries on enanomapper-dev.owl to make sure internal terms have not been added at the top of the class hierarchy or directly under entity. - Development tests: robot diff and robot report are performed after each build for QC on the resulting development version of the ontology, with their results being stored as artifacts after each run. - Pre-release tests: ensure the modules are updated and the ontology is satisfiable and has the right top-level class hierarchy before making a release. This is the only test that needs to be dispatched manually.

DOI of Releases

  • Version 10: DOI
  • Version 9: DOI
  • Version 8: DOI
  • Version 7: DOI
  • Version 6: DOI
  • Version 5: DOI
  • Version 4: DOI
  • Version 3: DOI

Opening the ontology in Protégé

The stable version can be opened in Protégé with the following step:

  1. File → Open from URL...
  2. enter the URL http://enanomapper.github.io/ontologies/enanomapper.owl

The development version is opened in the same way, but with a different URL:

  1. File → Open from URL...
  2. enter the URL http://enanomapper.github.io/ontologies/enanomapper-dev.owl

Building and validating the ontology

During (and after) the eNanoMapper project the ontology was autobuilt using scripts on the BiGCaT Jenkins server. After the cyberattack on Maastricht University in 2019, this repository uses GitHub Actions to replicate the Jenkins build process, and adds a full ontology file and customizable workflows for ontology build and QC.

The main OWL file (enanomapper.owl) refers to slimmed versions of external ontologies, complemented with internal files adding additional terms. The extensions are OWL files themselves and you can load them in Protégé and use the internal/Makefile to run xmllint on the extensions to see if the OWL files are well-formed.

The slimming of the external ontologies is done with the Slimmer tool, with these commands (for the BioAssay Ontology):

shell rm -f *.owl rm -f *.owl.* wget -O bao_complete.owl http://www.bioassayontology.org/bao/bao_complete.owl rm -f bao.props* rm -f bao.iris* wget https://raw.githubusercontent.com/enanomapper/ontologies/master/config/bao.props wget https://raw.githubusercontent.com/enanomapper/ontologies/master/config/bao.iris java -cp ../Slimmer/target/slimmer-0.0.1-SNAPSHOT-jar-with-dependencies.jar com.github.enanomapper.Slimmer .

The bao.props and bao.iris files contain all the information needed to describe which parts of the BAO ontology is retained in the slimmed version. This is automatically applied for all modules in the build workflow once a month.

Tutorials

Please also check out these tutorials, developed by eNanoMapper, NanoCommons, and OpenRiskNet:

Making Releases

  1. Check if the metadata in the enanomapper.owl is up to data (e.g. names of people who submitted PRs)
  2. Copy the internal ontologies in ontologies/internal-dev/ to ontologies/internal and ontologies/external-dev/ to ontologies/external
  3. Update for enanomapper.owl and enanomapper-dev.owl:
    • owl:versionInfo
    • owl:versionIRI (only enanomapper.owl)
  4. Create a folder releases/{version} and store there a copy of the latest enanomapper.owl file
  5. Make a git commit with the changes and tag that commit matching the release
  6. Manually dispatch the prerelease-test workflow and make the pertinent fixes if it fails. Repeat the tagged git commit after fixing the issues.
  7. Update the CITATION.cff
    • title
    • version
    • date-released
  8. Write markdown for the release with the changes since the previous release
  9. Release the whole repository in GitHub https://github.com/enanomapper/ontologies/releases
  10. Update the DOI number for new release: https://zenodo.org/record/260098

Funding

The project has had contributions from various European Commission projects. The eNanoMapper project was funded by the European Union’s Seventh Framework Programme for research, technological development and demonstration (FP7-NMP-2013-SMALL-7) under grant agreement no. 604134. NanoCommons has received funding from European Union Horizon 2020 Programme (H2020) under grant agreement nº 731032. OpenRiskNet is funded by the European Commission within Horizon 2020 EINFRA-22-2016 Programme under grant agreement no. 731075. NanoSolveIt has received funding from European Union Horizon 2020 Programme (H2020) under grant agreement no. 814572. SbD4Nano has received funding from European Union Horizon 2020 Programme (H2020) under grant agreement no. 862195.

Owner

  • Name: eNanoMapper
  • Login: enanomapper
  • Kind: organization
  • Location: Europe

Funded from the European Union’s FP7 for research, technological development and demonstration under grant agreement no 604134.

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: eNanoMapper 10.0
message: >-
  If you use this ontology, please cite the specific
  version and the article.
type: software
authors:
  - given-names: Janna
    family-names: Hastings
  - given-names: Nina
    family-names: Jeliazkova
  - given-names: Owen
    family-names: Gareth
  - given-names: Georgia
    family-names: Tsiliki
  - given-names: Cristian R.
    family-names: Munteanu
  - given-names: Christoph
    family-names: Steinbeck
  - given-names: Egon
    family-names: Willighagen
  - given-names: Javier
    family-names: Millan Acosta
    orcid: https://orcid.org/0000-0002-4166-7093
  - given-names: Denise
    family-names: Slenter
    orcid: https://orcid.org/0000-0001-8449-1318
identifiers:
  - type: doi
    value: 10.5281/zenodo.594691
    description: software release DOI
  - type: doi
    value: 10.1186/S13326-015-0005-5
    description: publication reference
repository-code: 'https://github.com/enanomapper/ontologies'
url: 'https://enanomapper.net/ontology'
keywords:
  - nanomaterials
  - ontologies
license: CC-BY-3.0
version: '10.0'
date-released: '2023-07-12'

GitHub Events

Total
  • Issues event: 32
  • Watch event: 2
  • Issue comment event: 8
  • Push event: 125
  • Pull request event: 9
  • Create event: 4
Last Year
  • Issues event: 32
  • Watch event: 2
  • Issue comment event: 8
  • Push event: 125
  • Pull request event: 9
  • Create event: 4

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 22
  • Total pull requests: 6
  • Average time to close issues: about 1 year
  • Average time to close pull requests: 5 months
  • Total issue authors: 4
  • Total pull request authors: 1
  • Average comments per issue: 0.86
  • Average comments per pull request: 0.17
  • Merged pull requests: 1
  • Bot issues: 3
  • Bot pull requests: 0
Past Year
  • Issues: 7
  • Pull requests: 5
  • Average time to close issues: 4 days
  • Average time to close pull requests: 1 day
  • Issue authors: 3
  • Pull request authors: 1
  • Average comments per issue: 0.29
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 3
  • Bot pull requests: 0
Top Authors
Issue Authors
  • jmillanacosta (103)
  • github-actions[bot] (41)
  • egonw (6)
  • vedina (3)
Pull Request Authors
  • jmillanacosta (48)
  • github-actions[bot] (1)
  • egonw (1)
Top Labels
Issue Labels
SbD4Nano (81) term request (81) enhancement (44) design_patterns (8) HARMLESS (1) NanoCommons (1)
Pull Request Labels
SbD4Nano (27) enhancement (4) design_patterns (2) term request (2)

Dependencies

scripts/pom.xml maven
  • com.opencsv:opencsv 3.4
  • net.sourceforge.owlapi:owlapi-distribution 3.5.0
  • org.apache.logging.log4j:log4j-1.2-api [2.17.2,)
  • org.apache.logging.log4j:log4j-core [2.17.2,)
  • org.bbop:OWLTools-Core 0.2.1
  • junit:junit 3.8.1 test
.github/workflows/robot.yml actions
  • actions/checkout v2 composite
  • actions/upload-artifact v3 composite
.github/workflows/slim-ontologies.yml actions
  • actions/checkout v3 composite
.github/workflows/update-repo.yml actions
  • actions/checkout v3 composite