From 2aba9403a0fdc1135c76efbc128d087489d79894 Mon Sep 17 00:00:00 2001 From: Nico Matentzoglu Date: Tue, 11 Jul 2023 11:08:44 +0300 Subject: [PATCH 01/14] Update Dockerfile --- docker/odklite/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/odklite/Dockerfile b/docker/odklite/Dockerfile index 91ff26ed..f0ef5857 100644 --- a/docker/odklite/Dockerfile +++ b/docker/odklite/Dockerfile @@ -15,7 +15,7 @@ ENV PATH="/tools:/tools/dosdptools/bin:$PATH" ARG ODK_VERSION=0.0.0 ENV ODK_VERSION=$ODK_VERSION -ARG ROBOT_JAR=https://github.com/ontodev/robot/releases/download/v$ROBOT_VERSION/robot.jar +ARG ROBOT_JAR=https://www.dropbox.com/s/y2nvdj1qz06zrcn/robot_110_snapshot.jar?dl=0 ENV ROBOT_JAR=$ROBOT_JAR # Install base tools from Ubuntu. From 1d31572c36fb3d643cab32d9f5a87602b662b379 Mon Sep 17 00:00:00 2001 From: Nico Matentzoglu Date: Sat, 15 Jul 2023 18:27:52 +0300 Subject: [PATCH 02/14] Add new term request github issue template --- template/_dynamic_files.jinja2 | 88 +++++++++++++++++++++++++++++++ template/issue_template.md.jinja2 | 21 -------- 2 files changed, 88 insertions(+), 21 deletions(-) delete mode 100644 template/issue_template.md.jinja2 diff --git a/template/_dynamic_files.jinja2 b/template/_dynamic_files.jinja2 index 1896ea70..2324f104 100644 --- a/template/_dynamic_files.jinja2 +++ b/template/_dynamic_files.jinja2 @@ -1795,3 +1795,91 @@ jobs: GITHUB_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} CONFIG_FILE: mkdocs.yaml {% endif -%} +{% if (('github_actions' in project.ci) and ('github' in project.workflows)) %} +^^^ .github/ISSUE_TEMPLATE/add-term.yml +name: Add term- Request a New Ontology Term +description: Request a new term to be added to the {{ project.title }}. +title: Request for new term [ADD NAME HERE] +labels: [ New term request ] +body: + - type: markdown + attributes: + value: | + Use this form to request a new ontology term be added to {{ project.id | upper }}. + - type: input + id: Label + attributes: + label: Label + description: Preferred term label. Please add the label in lowercase, unless it is a proper name. + placeholder: ex. spindle cell rhabdomyosarcoma + validations: + required: true + - type: input + id: synonyms + attributes: + label: Synonyms + description: Alternative term(s) or acroynymm for the preferred label. Separate by a comma. + placeholder: ex. SCRMS, SC rhabdomyosarcoma + validations: + required: false + - type: dropdown + id: synonym_type + attributes: + label: Synonym type + description: Please indicate if the synonym is exact, broad, narrow or related. See [here for more explanation of synonym scope](https://mondo.readthedocs.io/en/latest/editors-guide/f-entities/#synonym-scope). + options: + - exact + - broad + - narrow + - related + validations: + required: false + - type: textarea + id: description + attributes: + label: Definition + description: | + Please provide a definition of the term and a reference, such as a PubMed ID, if applicable, in format PMID:#######. + validations: + required: true + - type: input + id: parent + attributes: + label: Parent term + description: Provide a parent term or superclass, i.e. the class this new term should be classified under. Provide the ID and label. + placeholder: BFO:0000001 + validations: + required: true + - type: input + id: children + attributes: + label: Children term(s) + description: List any existing terms that should be classified underneath this new proposed term, if applicable. Provide the ID and label. + placeholder: ex. MONDO:0100067 childhood spindle cell rhabdomyosarcoma + validations: + required: false + - type: input + id: orcid + attributes: + label: ORCID Identifier + description: What is the ORCID identifier of the person requesting this term? ORCID identifiers can be made at https://orcid.org. + placeholder: e.g. https://orcid.org/0000-0001-5208-3432 + validations: + required: false + - type: input + id: website + attributes: + label: Website URL + description: Provide a website URL that you'd like to be associated with this new term. + placeholder: e.g. https://clinicalgenome.org/affiliation/40005/ + validations: + required: false + - type: textarea + id: comments + attributes: + label: Additional comments + description: | + Please provide any additional comments here. + validations: + required: false +{% endif -%} diff --git a/template/issue_template.md.jinja2 b/template/issue_template.md.jinja2 deleted file mode 100644 index 8fa5d30a..00000000 --- a/template/issue_template.md.jinja2 +++ /dev/null @@ -1,21 +0,0 @@ -For new term requests, please provide the following information: - -## Preferred term label - -(e.g., Asplenia) - -## Synonyms - -(e.g., Absent spleen) - -## Textual definition - -the definition should be understandable even for non-specialists. Include a PubMed ID to refer to any relevant article that provides additional information about the suggested term. - -## Suggested parent term - -Please look in the hierarchy in a browser such as [OLS](http://www.ebi.ac.uk/ols/ontologies/{{ project.id }}) - -## Attribution - -If you would like a nanoattribution, please indicate your ORCID id From e19d7cb067f85501b63e1c0254e6c0f8949bebbc Mon Sep 17 00:00:00 2001 From: Damien Goutte-Gattat Date: Tue, 26 Sep 2023 12:43:39 +0100 Subject: [PATCH 03/14] Re-enable the LightRDF-based RDF/XML check. The ODK used to have a validation check that ensured that RDF/XML files were valid. The check was based on LightRDF, whichwas fast enough to make it possible to enable the check by default. We had to disable that check because of a bug in LightRDF that caused the library to sometimes fail to parse perfectly valid RDF/XML files (#745). That bug has been fixed, so now we can re-enable the check by default. The check-rdfxml script is now invoked by default, and by default is uses the fast LightRDF-based check. A new ODK option is added (extra_rdfxml_checks): when enabled, it instructs the check-rdfxml script to *also* perform the Jena- and RDFLib-based checks (which are not enabled by default as they are more time-consuming). --- odk/odk.py | 5 ++++- scripts/check-rdfxml.sh | 6 +++--- template/src/ontology/Makefile.jinja2 | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/odk/odk.py b/odk/odk.py index 7c6f04b0..2f873d1a 100755 --- a/odk/odk.py +++ b/odk/odk.py @@ -622,9 +622,12 @@ class OntologyProject(JsonSchemaMixin): robot_report : Dict[str, Any] = field(default_factory=lambda: ReportConfig().to_dict()) """Block that includes settings for ROBOT report, ROBOT verify and additional reports that are generated""" - ensure_valid_rdfxml : bool = False + ensure_valid_rdfxml : bool = True """When enabled, ensure that any RDF/XML product file is valid""" + extra_rdfxml_checks : bool = False + """When enabled, RDF/XML product files are checked against additional parsers""" + # product groups import_group : Optional[ImportGroup] = None """Block that includes information on all ontology imports to be generated""" diff --git a/scripts/check-rdfxml.sh b/scripts/check-rdfxml.sh index 054ae334..7a8998a8 100644 --- a/scripts/check-rdfxml.sh +++ b/scripts/check-rdfxml.sh @@ -1,8 +1,8 @@ #!/usr/bin/bash -check_lightrdf=0 -check_rdflib=1 -check_jena=1 +check_lightrdf=1 +check_rdflib=0 +check_jena=0 rdfxml_file= while [ -n "$1" ]; do diff --git a/template/src/ontology/Makefile.jinja2 b/template/src/ontology/Makefile.jinja2 index d990caa8..da939959 100644 --- a/template/src/ontology/Makefile.jinja2 +++ b/template/src/ontology/Makefile.jinja2 @@ -285,7 +285,7 @@ show_assets: du -sh $(ASSETS) check_rdfxml_%: % - @check-rdfxml $< + @check-rdfxml {% if project.extra_rdfxml_checks %}--jena --rdflib{% endif %} $< .PHONY: check_rdfxml_assets check_rdfxml_assets: $(foreach product,$(MAIN_PRODUCTS),check_rdfxml_$(product).owl) From 5b237c31d0d0f7a1144d2104629ca7803384e99c Mon Sep 17 00:00:00 2001 From: Nico Matentzoglu Date: Thu, 19 Oct 2023 14:25:40 +0300 Subject: [PATCH 04/14] Add ROBOT test version for OWL API 4.5.27 --- docker/odklite/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/odklite/Dockerfile b/docker/odklite/Dockerfile index 80e63068..19a47099 100644 --- a/docker/odklite/Dockerfile +++ b/docker/odklite/Dockerfile @@ -15,7 +15,7 @@ ENV PATH="/tools:/tools/dosdptools/bin:$PATH" ARG ODK_VERSION=0.0.0 ENV ODK_VERSION=$ODK_VERSION -ARG ROBOT_JAR=https://www.dropbox.com/s/y2nvdj1qz06zrcn/robot_110_snapshot.jar?dl=0 +ARG ROBOT_JAR=https://incenp.org/files/softs/robot/1.9/robot-1.9.5-fix-owlapi1112.jar ENV ROBOT_JAR=$ROBOT_JAR # Install base tools from Ubuntu. From 9ce8a0877956288b78fec435db27cabce301eac1 Mon Sep 17 00:00:00 2001 From: Anita Caron Date: Wed, 3 Jan 2024 18:00:32 -0300 Subject: [PATCH 05/14] create `ANNOTATION_PROPERTIES_ontid` --- template/src/ontology/Makefile.jinja2 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/template/src/ontology/Makefile.jinja2 b/template/src/ontology/Makefile.jinja2 index df56126a..cb00531c 100644 --- a/template/src/ontology/Makefile.jinja2 +++ b/template/src/ontology/Makefile.jinja2 @@ -469,11 +469,12 @@ $(IMPORTDIR)/{{ ont.id }}_import.owl: {% if project.import_group.use_base_mergin query --update ../sparql/inject-subset-declaration.ru --update ../sparql/inject-synonymtype-declaration.ru --update ../sparql/postprocess-module.ru \ $(ANNOTATE_CONVERT_FILE); fi {% elif ('filter' == ont.module_type) or (ont.module_type is none and 'filter' == project.import_group.module_type) %} +{%- if ont.annotation_properties is defined -%}ANNOTATION_PROPERTIES_{{ ont.id }}={% for p in ont.annotation_properties %}{{ p }} {% endfor %}{% endif %} $(IMPORTDIR)/{{ ont.id }}_import.owl: {% if project.import_group.use_base_merging %}$(MIRRORDIR)/merged.owl{% else %}$(MIRRORDIR)/{{ ont.id }}.owl{% endif %} $(IMPORTDIR)/{{ ont.id }}_terms_combined.txt if [ $(IMP) = true ]{% if ont.is_large %} && [ $(IMP_LARGE) = true ]{% endif %}; then $(ROBOT) {% if ont.is_large %}extract -i $< -T $(IMPORTDIR)/{{ ont.id }}_terms_combined.txt --copy-ontology-annotations true --force true --method BOT \{% else %}query -i $< --update ../sparql/preprocess-module.ru \ extract -T $(IMPORTDIR)/{{ ont.id }}_terms_combined.txt --copy-ontology-annotations true --force true --method BOT \{% endif %} remove {% if ont.base_iris is not none %}{% for iri in ont.base_iris %}--base-iri {{ iri }} {% endfor %}{% else %}--base-iri $(OBOBASE)/{{ ont.id.upper() }} {% endif %}--axioms external --preserve-structure false --trim false \ - remove $(patsubst %, --term %, $(ANNOTATION_PROPERTIES)) -T $(IMPORTDIR)/{{ ont.id }}_terms_combined.txt --select complement \ + remove $(patsubst %, --term %, $(ANNOTATION_PROPERTIES)) {% if ont.annotation_properties is defined %}$(patsubst %, --term %, $(ANNOTATION_PROPERTIES_{{ ont.id }})){% endif %} -T $(IMPORTDIR)/{{ ont.id }}_terms_combined.txt --select complement \ query --update ../sparql/inject-subset-declaration.ru --update ../sparql/inject-synonymtype-declaration.ru --update ../sparql/postprocess-module.ru \ $(ANNOTATE_CONVERT_FILE); fi {% elif ('mirror' == ont.module_type) or (ont.module_type is none and 'mirror' == project.import_group.module_type) %} @@ -481,12 +482,13 @@ $(IMPORTDIR)/{{ ont.id }}_import.owl: {% if project.import_group.use_base_mergin if [ $(IMP) = true ]{% if ont.is_large %} && [ $(IMP_LARGE) = true ]{% endif %}; then $(ROBOT) merge -i $< {% if not ont.is_large %}query --update ../sparql/preprocess-module.ru --update ../sparql/inject-subset-declaration.ru --update ../sparql/inject-synonymtype-declaration.ru --update ../sparql/postprocess-module.ru {% endif %} \ $(ANNOTATE_CONVERT_FILE); fi {% elif ('minimal' == ont.module_type) or (ont.module_type is none and 'minimal' == project.import_group.module_type) %} +{%- if ont.annotation_properties is defined -%}ANNOTATION_PROPERTIES_{{ ont.id }}={% for p in ont.annotation_properties %}{{ p }} {% endfor %}{% endif %} $(IMPORTDIR)/{{ ont.id }}_import.owl: {% if project.import_group.use_base_merging %}$(MIRRORDIR)/merged.owl{% else %}$(MIRRORDIR)/{{ ont.id }}.owl{% endif %} $(IMPORTDIR)/{{ ont.id }}_terms_combined.txt if [ $(IMP) = true ]{% if ont.is_large %} && [ $(IMP_LARGE) = true ]{% endif %}; then $(ROBOT) {% if ont.is_large %}extract -i $< -T $(IMPORTDIR)/{{ ont.id }}_terms_combined.txt --copy-ontology-annotations true --force true --method BOT \{% else %}query -i $< --update ../sparql/preprocess-module.ru \ extract -T $(IMPORTDIR)/{{ ont.id }}_terms_combined.txt --copy-ontology-annotations true --force true --method BOT \{% endif %} remove {% if ont.base_iris is not none %}{% for iri in ont.base_iris %}--base-iri {{iri}} {% endfor %}{% else %}--base-iri $(OBOBASE)/{{ ont.id.upper() }} {% endif %}--axioms external --preserve-structure false --trim false \ query --update ../sparql/inject-subset-declaration.ru --update ../sparql/inject-synonymtype-declaration.ru \ - remove $(patsubst %, --term %, $(ANNOTATION_PROPERTIES)) -T $(IMPORTDIR)/{{ ont.id }}_terms_combined.txt --select complement --select "classes individuals annotation-properties" \ + remove $(patsubst %, --term %, $(ANNOTATION_PROPERTIES)) {% if ont.annotation_properties is defined %}$(patsubst %, --term %, $(ANNOTATION_PROPERTIES_{{ ont.id }})){% endif %} -T $(IMPORTDIR)/{{ ont.id }}_terms_combined.txt --select complement --select "classes individuals annotation-properties" \ $(ANNOTATE_CONVERT_FILE); fi {% elif ('custom' == ont.module_type) or (ont.module_type is none and 'custom' == project.import_group.module_type) %} $(IMPORTDIR)/{{ ont.id }}_import.owl: {% if project.import_group.use_base_merging %}$(MIRRORDIR)/merged.owl{% elif 'no_mirror' != ont.mirror_type %}$(MIRRORDIR)/{{ ont.id }}.owl{% endif %} From bbdc1f438229548c72aa89ce3db9b76dda11c948 Mon Sep 17 00:00:00 2001 From: Anita Caron Date: Thu, 4 Jan 2024 11:39:21 -0300 Subject: [PATCH 06/14] loop annotation properties directly in robot remove command --- template/src/ontology/Makefile.jinja2 | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/template/src/ontology/Makefile.jinja2 b/template/src/ontology/Makefile.jinja2 index cb00531c..41e115d2 100644 --- a/template/src/ontology/Makefile.jinja2 +++ b/template/src/ontology/Makefile.jinja2 @@ -469,12 +469,11 @@ $(IMPORTDIR)/{{ ont.id }}_import.owl: {% if project.import_group.use_base_mergin query --update ../sparql/inject-subset-declaration.ru --update ../sparql/inject-synonymtype-declaration.ru --update ../sparql/postprocess-module.ru \ $(ANNOTATE_CONVERT_FILE); fi {% elif ('filter' == ont.module_type) or (ont.module_type is none and 'filter' == project.import_group.module_type) %} -{%- if ont.annotation_properties is defined -%}ANNOTATION_PROPERTIES_{{ ont.id }}={% for p in ont.annotation_properties %}{{ p }} {% endfor %}{% endif %} $(IMPORTDIR)/{{ ont.id }}_import.owl: {% if project.import_group.use_base_merging %}$(MIRRORDIR)/merged.owl{% else %}$(MIRRORDIR)/{{ ont.id }}.owl{% endif %} $(IMPORTDIR)/{{ ont.id }}_terms_combined.txt if [ $(IMP) = true ]{% if ont.is_large %} && [ $(IMP_LARGE) = true ]{% endif %}; then $(ROBOT) {% if ont.is_large %}extract -i $< -T $(IMPORTDIR)/{{ ont.id }}_terms_combined.txt --copy-ontology-annotations true --force true --method BOT \{% else %}query -i $< --update ../sparql/preprocess-module.ru \ extract -T $(IMPORTDIR)/{{ ont.id }}_terms_combined.txt --copy-ontology-annotations true --force true --method BOT \{% endif %} remove {% if ont.base_iris is not none %}{% for iri in ont.base_iris %}--base-iri {{ iri }} {% endfor %}{% else %}--base-iri $(OBOBASE)/{{ ont.id.upper() }} {% endif %}--axioms external --preserve-structure false --trim false \ - remove $(patsubst %, --term %, $(ANNOTATION_PROPERTIES)) {% if ont.annotation_properties is defined %}$(patsubst %, --term %, $(ANNOTATION_PROPERTIES_{{ ont.id }})){% endif %} -T $(IMPORTDIR)/{{ ont.id }}_terms_combined.txt --select complement \ + remove $(patsubst %, --term %, $(ANNOTATION_PROPERTIES)) {% if ont.annotation_properties is defined %}{% for p in ont.annotation_properties %}--term {{ p }} {% endfor %}{% endif %} -T $(IMPORTDIR)/{{ ont.id }}_terms_combined.txt --select complement \ query --update ../sparql/inject-subset-declaration.ru --update ../sparql/inject-synonymtype-declaration.ru --update ../sparql/postprocess-module.ru \ $(ANNOTATE_CONVERT_FILE); fi {% elif ('mirror' == ont.module_type) or (ont.module_type is none and 'mirror' == project.import_group.module_type) %} @@ -482,13 +481,12 @@ $(IMPORTDIR)/{{ ont.id }}_import.owl: {% if project.import_group.use_base_mergin if [ $(IMP) = true ]{% if ont.is_large %} && [ $(IMP_LARGE) = true ]{% endif %}; then $(ROBOT) merge -i $< {% if not ont.is_large %}query --update ../sparql/preprocess-module.ru --update ../sparql/inject-subset-declaration.ru --update ../sparql/inject-synonymtype-declaration.ru --update ../sparql/postprocess-module.ru {% endif %} \ $(ANNOTATE_CONVERT_FILE); fi {% elif ('minimal' == ont.module_type) or (ont.module_type is none and 'minimal' == project.import_group.module_type) %} -{%- if ont.annotation_properties is defined -%}ANNOTATION_PROPERTIES_{{ ont.id }}={% for p in ont.annotation_properties %}{{ p }} {% endfor %}{% endif %} $(IMPORTDIR)/{{ ont.id }}_import.owl: {% if project.import_group.use_base_merging %}$(MIRRORDIR)/merged.owl{% else %}$(MIRRORDIR)/{{ ont.id }}.owl{% endif %} $(IMPORTDIR)/{{ ont.id }}_terms_combined.txt if [ $(IMP) = true ]{% if ont.is_large %} && [ $(IMP_LARGE) = true ]{% endif %}; then $(ROBOT) {% if ont.is_large %}extract -i $< -T $(IMPORTDIR)/{{ ont.id }}_terms_combined.txt --copy-ontology-annotations true --force true --method BOT \{% else %}query -i $< --update ../sparql/preprocess-module.ru \ extract -T $(IMPORTDIR)/{{ ont.id }}_terms_combined.txt --copy-ontology-annotations true --force true --method BOT \{% endif %} remove {% if ont.base_iris is not none %}{% for iri in ont.base_iris %}--base-iri {{iri}} {% endfor %}{% else %}--base-iri $(OBOBASE)/{{ ont.id.upper() }} {% endif %}--axioms external --preserve-structure false --trim false \ query --update ../sparql/inject-subset-declaration.ru --update ../sparql/inject-synonymtype-declaration.ru \ - remove $(patsubst %, --term %, $(ANNOTATION_PROPERTIES)) {% if ont.annotation_properties is defined %}$(patsubst %, --term %, $(ANNOTATION_PROPERTIES_{{ ont.id }})){% endif %} -T $(IMPORTDIR)/{{ ont.id }}_terms_combined.txt --select complement --select "classes individuals annotation-properties" \ + remove $(patsubst %, --term %, $(ANNOTATION_PROPERTIES)) {% if ont.annotation_properties is defined %}{% for p in ont.annotation_properties %}--term {{ p }} {% endfor %}{% endif %} -T $(IMPORTDIR)/{{ ont.id }}_terms_combined.txt --select complement --select "classes individuals annotation-properties" \ $(ANNOTATE_CONVERT_FILE); fi {% elif ('custom' == ont.module_type) or (ont.module_type is none and 'custom' == project.import_group.module_type) %} $(IMPORTDIR)/{{ ont.id }}_import.owl: {% if project.import_group.use_base_merging %}$(MIRRORDIR)/merged.owl{% elif 'no_mirror' != ont.mirror_type %}$(MIRRORDIR)/{{ ont.id }}.owl{% endif %} From 003bc926d2de639d99e88eed881dff1270444da1 Mon Sep 17 00:00:00 2001 From: Nico Matentzoglu Date: Sat, 24 Feb 2024 19:18:02 +0200 Subject: [PATCH 07/14] Mistakenly removed a row during merge --- template/_dynamic_files.jinja2 | 1 + 1 file changed, 1 insertion(+) diff --git a/template/_dynamic_files.jinja2 b/template/_dynamic_files.jinja2 index 65b59330..42dc8cd2 100644 --- a/template/_dynamic_files.jinja2 +++ b/template/_dynamic_files.jinja2 @@ -1845,6 +1845,7 @@ jobs: GITHUB_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} CONFIG_FILE: mkdocs.yaml {% endif -%} +{% endif -%} {% if (('github_actions' in project.ci) and ('github' in project.workflows)) %} ^^^ .github/ISSUE_TEMPLATE/add-term.yml name: Add term- Request a New Ontology Term From 46e4ac45723670cfc223190695c81622db30ac1f Mon Sep 17 00:00:00 2001 From: Nico Matentzoglu Date: Sat, 24 Feb 2024 20:41:04 +0200 Subject: [PATCH 08/14] Update docker/odklite/Dockerfile --- docker/odklite/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/odklite/Dockerfile b/docker/odklite/Dockerfile index 19a47099..837534bb 100644 --- a/docker/odklite/Dockerfile +++ b/docker/odklite/Dockerfile @@ -15,7 +15,7 @@ ENV PATH="/tools:/tools/dosdptools/bin:$PATH" ARG ODK_VERSION=0.0.0 ENV ODK_VERSION=$ODK_VERSION -ARG ROBOT_JAR=https://incenp.org/files/softs/robot/1.9/robot-1.9.5-fix-owlapi1112.jar +ARG ROBOT_JAR=https://github.com/ontodev/robot/releases/download/v$ROBOT_VERSION/robot.jar ENV ROBOT_JAR=$ROBOT_JAR # Install base tools from Ubuntu. From 484c2907227a67829c1eed7edcb624be7e783b59 Mon Sep 17 00:00:00 2001 From: Nico Matentzoglu Date: Sat, 24 Feb 2024 23:18:59 +0200 Subject: [PATCH 09/14] Fixed typo in download path to report_profile.txt --- docker/odklite/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/odklite/Dockerfile b/docker/odklite/Dockerfile index a107ddd1..0ec5ebd0 100644 --- a/docker/odklite/Dockerfile +++ b/docker/odklite/Dockerfile @@ -44,7 +44,7 @@ RUN wget -nv $ROBOT_JAR \ wget -nv https://raw.githubusercontent.com/ontodev/robot/v$ROBOT_VERSION/bin/robot \ -O /tools/robot && \ chmod 755 /tools/robot &&\ - wget -nv https://raw.githubusercontent.com/ontodev/robot/v$ROBOT_VERSION/src/main/resources/report_profile.txt \ + wget -nv https://raw.githubusercontent.com/ontodev/robot/v$ROBOT_VERSION/robot-core/src/main/resources/report_profile.txt \ -O /tools/robot_report_profile.txt # Install DOSDPTOOLS. From e157df5173688615527c0acd2b33f36e1221e95b Mon Sep 17 00:00:00 2001 From: Nico Matentzoglu Date: Sun, 25 Feb 2024 08:08:25 +0200 Subject: [PATCH 10/14] Use @balhoff version of ROBOT --- docker/odklite/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker/odklite/Dockerfile b/docker/odklite/Dockerfile index 0ec5ebd0..aabffdc4 100644 --- a/docker/odklite/Dockerfile +++ b/docker/odklite/Dockerfile @@ -15,7 +15,8 @@ ENV PATH="/tools:/tools/dosdptools/bin:$PATH" ARG ODK_VERSION=0.0.0 ENV ODK_VERSION=$ODK_VERSION -ARG ROBOT_JAR=https://github.com/ontodev/robot/releases/download/v$ROBOT_VERSION/robot.jar +ARG ROBOT_JAR=https://github.com/balhoff/owlapi/releases/download/prefixes-test-3/robot.jar +#ARG ROBOT_JAR=https://github.com/ontodev/robot/releases/download/v$ROBOT_VERSION/robot.jar ENV ROBOT_JAR=$ROBOT_JAR # Install base tools from Ubuntu. From d03a518207bc1f253c08ab9cde1c2a6b49f7d035 Mon Sep 17 00:00:00 2001 From: Nico Matentzoglu Date: Sun, 25 Feb 2024 19:27:35 +0200 Subject: [PATCH 11/14] Update CHANGELOG.md --- CHANGELOG.md | 55 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 50 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 38526dc7..10792182 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,13 +1,58 @@ -# v1.5 (unpublished) +# v1.5 -A full record of all planned changes can be seen [here](https://github.com/INCATools/ontology-development-kit/milestone/7). +For more detailed changes see: -- New [ROBOT version 1.9.5](https://github.com/ontodev/robot/releases/tag/v1.9.5) -- All processes within the ODK container now runs under the identify of an unprivileged user by default. This fixes the issue of generated files being owned by the superuser, when the Docker daemon itself runs as the superuser (as is the case by default on most GNU/Linux systems). If you have a workflow that requires being run as a superuser (for example, if you need to install extra Debian/Ubuntu packages via `apt-get`), set the environment variable `ODK_USER_ID` to 0. +- [Milestone definition](https://github.com/INCATools/ontology-development-kit/milestone/7) +- [All changes since the last major release](https://github.com/INCATools/ontology-development-kit/compare/v1.4...v1.5) + +## Highlights (Read this) + +- All processes within the ODK container now runs under the identify of an unprivileged user by default. This fixes the issue of generated files being owned by the superuser, when the Docker daemon itself runs as the superuser (as is the case by default on most GNU/Linux systems). If you have a workflow that requires being run as a superuser (for example, if you need to install extra Debian/Ubuntu packages via `apt-get`), set the environment variable `ODK_USER_ID` to 0. See [PR1](https://github.com/INCATools/ontology-development-kit/pull/769), [PR2](https://github.com/INCATools/ontology-development-kit/pull/900), [PR3](https://github.com/INCATools/ontology-development-kit/pull/905). +- Change the definition of "base release".[PR](https://github.com/INCATools/ontology-development-kit/pull/810). +- Make it possible to collect per-command resource usage data [PR](https://github.com/INCATools/ontology-development-kit/pull/940). This allows us to see which goals consume how much memory, and how long they take, to identify performance bottlenecks. +- Enable custom ROBOT plugins in ODK [PR](https://github.com/INCATools/ontology-development-kit/pull/968) +- Allow refreshing the mirrors under IMP=false [PR](https://github.com/INCATools/ontology-development-kit/pull/973) +- Make qc.yml ODK managed by default [PR](https://github.com/INCATools/ontology-development-kit/pull/990) +- Generate custom_reports during release process [PR](https://github.com/INCATools/ontology-development-kit/pull/997) + +## New and updated tooling + +- New [ROBOT Version 1.9.5](https://github.com/ontodev/robot/releases/tag/v1.9.5) +- A lot of [updated python tools](https://github.com/INCATools/ontology-development-kit/blob/master/constraints.txt), including [OAK (0.5.25)](https://github.com/INCATools/ontology-access-kit), [SSSOM tools](https://github.com/mapping-commons/sssom-py) (0.4.4), [LinkML](https://linkml.io/) (1.7.4) and [curies](https://github.com/cthoyt/curies) (0.7.7). +- The [Babelon Toolkit](https://github.com/monarch-initiative/babelon) for managing multilingual ontologies has beed added as well. +- A full list of all available python tools and there vesions is available [here](https://github.com/INCATools/ontology-development-kit/blob/v1.5/constraints.txt) +- Added table-reader plugin for mkdocs [PR](https://github.com/INCATools/ontology-development-kit/pull/861) +- Added Perl module Business::ISBN. [PR](https://github.com/INCATools/ontology-development-kit/pull/886) +- Updated Apache Jena, Soufflé, Fastobo-validator, Ammonite +- Added SSSOM-Java to odkfull [PR](https://github.com/INCATools/ontology-development-kit/pull/958) + +## New configuration options + +* Add option to include defined-by annotation in imports [PR](https://github.com/INCATools/ontology-development-kit/pull/929) +* Add option `release_annotate_inferred_axioms` [PR](https://github.com/INCATools/ontology-development-kit/pull/996) to enable the annotation of inferred axioms during release. ## Makefile workflows -- Added a `test_fast` goal that runs all ontology QC checks without refreshing imports or rebuilding components. +- Add a `test_fast` goal to allow running tests without refreshing dependencies [PR](https://github.com/INCATools/ontology-development-kit/pull/803) +- Re-integrate LightRDF RDF/XML validation [PR1](https://github.com/INCATools/ontology-development-kit/pull/850), [PR2](https://github.com/INCATools/ontology-development-kit/pull/928) +- Add SPARQL Check to find uses of deprecated DC [PR](https://github.com/INCATools/ontology-development-kit/pull/817) +- Add release diff action [PR](https://github.com/INCATools/ontology-development-kit/pull/737) +- Add convenience check if customised ROBOT report config is out of date [PR](https://github.com/INCATools/ontology-development-kit/pull/998) + + +## Runner and Infrastructure + +- Allow passing configuration options to the OWL API. [PR](https://github.com/INCATools/ontology-development-kit/pull/807) +- Automatically check whether the repository needs to be updated [PR](https://github.com/INCATools/ontology-development-kit/pull/873) +* Forward the host SSH agent socket into the container [PR](https://github.com/INCATools/ontology-development-kit/pull/853) + +## Bugfixes + +* Fix import to use OBOBASE in base-iri, not URIBASE [PR](https://github.com/INCATools/ontology-development-kit/pull/823) +* Do not create individual import modules when use_base_merging is enabled [PR](https://github.com/INCATools/ontology-development-kit/pull/829) +* Make docs workflow configurable [PR](https://github.com/INCATools/ontology-development-kit/pull/889) +* Update `illegal-date-violation.sparql` to accept `xsd:dateTime` [PR](https://github.com/INCATools/ontology-development-kit/pull/932) +* Update URL to show CI status badge correctly [PR](https://github.com/INCATools/ontology-development-kit/pull/978) # v1.4 From efdee9978f10c55ebf394be309f4ca43c9e3906d Mon Sep 17 00:00:00 2001 From: Nico Matentzoglu Date: Sun, 25 Feb 2024 19:48:03 +0200 Subject: [PATCH 12/14] Update CHANGELOG.md --- CHANGELOG.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 10792182..6ccbab01 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ For more detailed changes see: - Allow refreshing the mirrors under IMP=false [PR](https://github.com/INCATools/ontology-development-kit/pull/973) - Make qc.yml ODK managed by default [PR](https://github.com/INCATools/ontology-development-kit/pull/990) - Generate custom_reports during release process [PR](https://github.com/INCATools/ontology-development-kit/pull/997) +- Added the "International Edition" as a release product, including an entire workflow system for managing translations using the [Babelon format](https://github.com/monarch-initiative/babelon). ## New and updated tooling @@ -28,8 +29,8 @@ For more detailed changes see: ## New configuration options -* Add option to include defined-by annotation in imports [PR](https://github.com/INCATools/ontology-development-kit/pull/929) -* Add option `release_annotate_inferred_axioms` [PR](https://github.com/INCATools/ontology-development-kit/pull/996) to enable the annotation of inferred axioms during release. +- Add option to include defined-by annotation in imports [PR](https://github.com/INCATools/ontology-development-kit/pull/929) +- Add option `release_annotate_inferred_axioms` [PR](https://github.com/INCATools/ontology-development-kit/pull/996) to enable the annotation of inferred axioms during release. ## Makefile workflows @@ -44,15 +45,15 @@ For more detailed changes see: - Allow passing configuration options to the OWL API. [PR](https://github.com/INCATools/ontology-development-kit/pull/807) - Automatically check whether the repository needs to be updated [PR](https://github.com/INCATools/ontology-development-kit/pull/873) -* Forward the host SSH agent socket into the container [PR](https://github.com/INCATools/ontology-development-kit/pull/853) +- Forward the host SSH agent socket into the container [PR](https://github.com/INCATools/ontology-development-kit/pull/853) ## Bugfixes -* Fix import to use OBOBASE in base-iri, not URIBASE [PR](https://github.com/INCATools/ontology-development-kit/pull/823) -* Do not create individual import modules when use_base_merging is enabled [PR](https://github.com/INCATools/ontology-development-kit/pull/829) -* Make docs workflow configurable [PR](https://github.com/INCATools/ontology-development-kit/pull/889) -* Update `illegal-date-violation.sparql` to accept `xsd:dateTime` [PR](https://github.com/INCATools/ontology-development-kit/pull/932) -* Update URL to show CI status badge correctly [PR](https://github.com/INCATools/ontology-development-kit/pull/978) +- Fix import to use OBOBASE in base-iri, not URIBASE [PR](https://github.com/INCATools/ontology-development-kit/pull/823) +- Do not create individual import modules when use_base_merging is enabled [PR](https://github.com/INCATools/ontology-development-kit/pull/829) +- Make docs workflow configurable [PR](https://github.com/INCATools/ontology-development-kit/pull/889) +- Update `illegal-date-violation.sparql` to accept `xsd:dateTime` [PR](https://github.com/INCATools/ontology-development-kit/pull/932) +- Update URL to show CI status badge correctly [PR](https://github.com/INCATools/ontology-development-kit/pull/978) # v1.4 From e479e7428229bb361b466c1c8953924cbf1af90d Mon Sep 17 00:00:00 2001 From: Nico Matentzoglu Date: Thu, 29 Feb 2024 22:54:44 +0200 Subject: [PATCH 13/14] Revert some changes to master --- docker/odklite/Dockerfile | 3 +- template/_dynamic_files.jinja2 | 90 +------------------------------ template/issue_template.md.jinja2 | 21 ++++++++ 3 files changed, 23 insertions(+), 91 deletions(-) create mode 100644 template/issue_template.md.jinja2 diff --git a/docker/odklite/Dockerfile b/docker/odklite/Dockerfile index cd15041a..6d58421b 100644 --- a/docker/odklite/Dockerfile +++ b/docker/odklite/Dockerfile @@ -15,8 +15,7 @@ ENV PATH="/tools:/tools/dosdptools/bin:$PATH" ARG ODK_VERSION=0.0.0 ENV ODK_VERSION=$ODK_VERSION -ARG ROBOT_JAR=https://github.com/balhoff/owlapi/releases/download/prefixes-test-3/robot.jar -#ARG ROBOT_JAR=https://github.com/ontodev/robot/releases/download/v$ROBOT_VERSION/robot.jar +ARG ROBOT_JAR=https://github.com/ontodev/robot/releases/download/v$ROBOT_VERSION/robot.jar ENV ROBOT_JAR=$ROBOT_JAR # Install base tools from Ubuntu. diff --git a/template/_dynamic_files.jinja2 b/template/_dynamic_files.jinja2 index ec8e9563..845c33b0 100644 --- a/template/_dynamic_files.jinja2 +++ b/template/_dynamic_files.jinja2 @@ -1868,92 +1868,4 @@ jobs: GITHUB_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} CONFIG_FILE: mkdocs.yaml {% endif -%} -{% endif -%} -{% if (('github_actions' in project.ci) and ('github' in project.workflows)) %} -^^^ .github/ISSUE_TEMPLATE/add-term.yml -name: Add term- Request a New Ontology Term -description: Request a new term to be added to the {{ project.title }}. -title: Request for new term [ADD NAME HERE] -labels: [ New term request ] -body: - - type: markdown - attributes: - value: | - Use this form to request a new ontology term be added to {{ project.id | upper }}. - - type: input - id: Label - attributes: - label: Label - description: Preferred term label. Please add the label in lowercase, unless it is a proper name. - placeholder: ex. spindle cell rhabdomyosarcoma - validations: - required: true - - type: input - id: synonyms - attributes: - label: Synonyms - description: Alternative term(s) or acroynymm for the preferred label. Separate by a comma. - placeholder: ex. SCRMS, SC rhabdomyosarcoma - validations: - required: false - - type: dropdown - id: synonym_type - attributes: - label: Synonym type - description: Please indicate if the synonym is exact, broad, narrow or related. See [here for more explanation of synonym scope](https://mondo.readthedocs.io/en/latest/editors-guide/f-entities/#synonym-scope). - options: - - exact - - broad - - narrow - - related - validations: - required: false - - type: textarea - id: description - attributes: - label: Definition - description: | - Please provide a definition of the term and a reference, such as a PubMed ID, if applicable, in format PMID:#######. - validations: - required: true - - type: input - id: parent - attributes: - label: Parent term - description: Provide a parent term or superclass, i.e. the class this new term should be classified under. Provide the ID and label. - placeholder: BFO:0000001 - validations: - required: true - - type: input - id: children - attributes: - label: Children term(s) - description: List any existing terms that should be classified underneath this new proposed term, if applicable. Provide the ID and label. - placeholder: ex. MONDO:0100067 childhood spindle cell rhabdomyosarcoma - validations: - required: false - - type: input - id: orcid - attributes: - label: ORCID Identifier - description: What is the ORCID identifier of the person requesting this term? ORCID identifiers can be made at https://orcid.org. - placeholder: e.g. https://orcid.org/0000-0001-5208-3432 - validations: - required: false - - type: input - id: website - attributes: - label: Website URL - description: Provide a website URL that you'd like to be associated with this new term. - placeholder: e.g. https://clinicalgenome.org/affiliation/40005/ - validations: - required: false - - type: textarea - id: comments - attributes: - label: Additional comments - description: | - Please provide any additional comments here. - validations: - required: false -{% endif -%} +{% endif -%} \ No newline at end of file diff --git a/template/issue_template.md.jinja2 b/template/issue_template.md.jinja2 new file mode 100644 index 00000000..8fa5d30a --- /dev/null +++ b/template/issue_template.md.jinja2 @@ -0,0 +1,21 @@ +For new term requests, please provide the following information: + +## Preferred term label + +(e.g., Asplenia) + +## Synonyms + +(e.g., Absent spleen) + +## Textual definition + +the definition should be understandable even for non-specialists. Include a PubMed ID to refer to any relevant article that provides additional information about the suggested term. + +## Suggested parent term + +Please look in the hierarchy in a browser such as [OLS](http://www.ebi.ac.uk/ols/ontologies/{{ project.id }}) + +## Attribution + +If you would like a nanoattribution, please indicate your ORCID id From 3cdd08aabad7745fa18fa27cafc35ac4a6e70cb9 Mon Sep 17 00:00:00 2001 From: Nico Matentzoglu Date: Sat, 2 Mar 2024 16:52:24 +0200 Subject: [PATCH 14/14] Update CHANGELOG.md --- CHANGELOG.md | 41 +++++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6ccbab01..e2b36108 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,16 +5,23 @@ For more detailed changes see: - [Milestone definition](https://github.com/INCATools/ontology-development-kit/milestone/7) - [All changes since the last major release](https://github.com/INCATools/ontology-development-kit/compare/v1.4...v1.5) -## Highlights (Read this) - -- All processes within the ODK container now runs under the identify of an unprivileged user by default. This fixes the issue of generated files being owned by the superuser, when the Docker daemon itself runs as the superuser (as is the case by default on most GNU/Linux systems). If you have a workflow that requires being run as a superuser (for example, if you need to install extra Debian/Ubuntu packages via `apt-get`), set the environment variable `ODK_USER_ID` to 0. See [PR1](https://github.com/INCATools/ontology-development-kit/pull/769), [PR2](https://github.com/INCATools/ontology-development-kit/pull/900), [PR3](https://github.com/INCATools/ontology-development-kit/pull/905). -- Change the definition of "base release".[PR](https://github.com/INCATools/ontology-development-kit/pull/810). -- Make it possible to collect per-command resource usage data [PR](https://github.com/INCATools/ontology-development-kit/pull/940). This allows us to see which goals consume how much memory, and how long they take, to identify performance bottlenecks. -- Enable custom ROBOT plugins in ODK [PR](https://github.com/INCATools/ontology-development-kit/pull/968) -- Allow refreshing the mirrors under IMP=false [PR](https://github.com/INCATools/ontology-development-kit/pull/973) -- Make qc.yml ODK managed by default [PR](https://github.com/INCATools/ontology-development-kit/pull/990) -- Generate custom_reports during release process [PR](https://github.com/INCATools/ontology-development-kit/pull/997) -- Added the "International Edition" as a release product, including an entire workflow system for managing translations using the [Babelon format](https://github.com/monarch-initiative/babelon). +## Highlights (Read this!) + +- All processes within the ODK container now **runs under the identity of an (unprivileged) user by default**. This fixes the issue of generated files being owned by the superuser, when the Docker daemon itself runs as the superuser (as is the case by default on most GNU/Linux systems). See [PR1](https://github.com/INCATools/ontology-development-kit/pull/769), [PR2](https://github.com/INCATools/ontology-development-kit/pull/900), [PR3](https://github.com/INCATools/ontology-development-kit/pull/905) + - **Consequences:** Some workflows that require superuser rights may not work anymore as expected. + - **Mitigation:** If you have a workflow that requires being run as a superuser (for example, if you need to install extra Debian/Ubuntu packages via `apt-get`), set the environment variable `ODK_USER_ID` to 0. +- Change the definition of "base release" [PR](https://github.com/INCATools/ontology-development-kit/pull/810). + - **Consequence:** The base file now does not only contain the editors axioms in their raw form, but the axioms "as intended by the ontology developer", for example, including inferences. For the base-specification see [here](https://oboacademy.github.io/obook/reference/base-specification/). + - **Mitigation:** If you want a release that corresponds exactly to the old base file, use `baselite` instead. +- Allow refreshing the mirrors (externally downloaded ontologies) under IMP=false [PR](https://github.com/INCATools/ontology-development-kit/pull/973). + - **Consequence**: you now _cannot rely on `IMP=false` anymore_ if you want to avoid refreshing mirrors as well - you need to use `IMP=false MIR=false` instead! +- Make qc.yml ODK managed by default, so it is actually being updated along with the rest of the files [PR](https://github.com/INCATools/ontology-development-kit/pull/990). + - **Consequence:** If you have overwritten that workflow with custom content, you have to follow the mitigation strategies. + - **Mitigation:** (1) migrate the custom content to a differently named workflow or (2) deactivate syncning of that workflow manually by adding a `workflows` section to your ODK config. +- Generate `custom_reports` during release process [PR](https://github.com/INCATools/ontology-development-kit/pull/997). + - **Consequence:** This means that all reports configured in ODK are automatically updated at release time, so you have more files need to review during a release. + - **Mitigation:** Add your reports to `.gitignore` or remove them from your ODK config. +- We added the "International Edition" as a release product, including an entire workflow system for managing translations using the [Babelon format](https://github.com/monarch-initiative/babelon). This feature is still under development, but works - feel free to reach out if you like to test it. ## New and updated tooling @@ -25,21 +32,23 @@ For more detailed changes see: - Added table-reader plugin for mkdocs [PR](https://github.com/INCATools/ontology-development-kit/pull/861) - Added Perl module Business::ISBN. [PR](https://github.com/INCATools/ontology-development-kit/pull/886) - Updated Apache Jena, Soufflé, Fastobo-validator, Ammonite -- Added SSSOM-Java to odkfull [PR](https://github.com/INCATools/ontology-development-kit/pull/958) +- Added SSSOM-Java to `odkfull` [PR](https://github.com/INCATools/ontology-development-kit/pull/958) -## New configuration options +## New configuration options - Add option to include defined-by annotation in imports [PR](https://github.com/INCATools/ontology-development-kit/pull/929) - Add option `release_annotate_inferred_axioms` [PR](https://github.com/INCATools/ontology-development-kit/pull/996) to enable the annotation of inferred axioms during release. ## Makefile workflows +- Make it possible to collect per-command resource usage data [PR](https://github.com/INCATools/ontology-development-kit/pull/940). This allows us to see which goals consume how much memory, and how long they take, to identify performance bottlenecks. +- Enable support for custom ROBOT plugins in ODK [PR](https://github.com/INCATools/ontology-development-kit/pull/968) - Add a `test_fast` goal to allow running tests without refreshing dependencies [PR](https://github.com/INCATools/ontology-development-kit/pull/803) - Re-integrate LightRDF RDF/XML validation [PR1](https://github.com/INCATools/ontology-development-kit/pull/850), [PR2](https://github.com/INCATools/ontology-development-kit/pull/928) - Add SPARQL Check to find uses of deprecated DC [PR](https://github.com/INCATools/ontology-development-kit/pull/817) -- Add release diff action [PR](https://github.com/INCATools/ontology-development-kit/pull/737) -- Add convenience check if customised ROBOT report config is out of date [PR](https://github.com/INCATools/ontology-development-kit/pull/998) - +- Add release diff action [PR](https://github.com/INCATools/ontology-development-kit/pull/737). This allows posting diffs automatically as a comment to a Pull Request. +- Add convenience check if customised ROBOT report config is out of date [PR](https://github.com/INCATools/ontology-development-kit/pull/998). This allows checking if you are missing out on some new ROBOT report checks! +- Add a nicer, more comprehensive way to understand the versions of the tools used in ODK [PR](https://github.com/INCATools/ontology-development-kit/pull/1011) ## Runner and Infrastructure @@ -53,7 +62,7 @@ For more detailed changes see: - Do not create individual import modules when use_base_merging is enabled [PR](https://github.com/INCATools/ontology-development-kit/pull/829) - Make docs workflow configurable [PR](https://github.com/INCATools/ontology-development-kit/pull/889) - Update `illegal-date-violation.sparql` to accept `xsd:dateTime` [PR](https://github.com/INCATools/ontology-development-kit/pull/932) -- Update URL to show CI status badge correctly [PR](https://github.com/INCATools/ontology-development-kit/pull/978) +- Update URL to show CI status badge correctly on repo README.md [PR](https://github.com/INCATools/ontology-development-kit/pull/978) # v1.4