Skip to content

Commit fca3707

Browse files
committed
Merge branch 'master' into issue-3480
2 parents 7842f41 + dcc7424 commit fca3707

File tree

70 files changed

+13852
-24120
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+13852
-24120
lines changed

.github/workflows/docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
runs-on: ubuntu-latest
1717
steps:
1818
- name: Checkout main
19-
uses: actions/checkout@v3
19+
uses: actions/checkout@v4
2020

2121
- name: Deploy docs
2222
uses: mhausenblas/mkdocs-deploy-gh-pages@master

.github/workflows/qc.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ jobs:
2323
ontology_qc:
2424
# The type of runner that the job will run on
2525
runs-on: ubuntu-latest
26-
container: obolibrary/odkfull:v1.5.4
26+
container: obolibrary/odkfull:v1.6
2727
# Steps represent a sequence of tasks that will be executed as part of the job
2828
steps:
2929
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
30-
- uses: actions/checkout@v3
30+
- uses: actions/checkout@v4
3131

3232
- name: Run ontology QC checks
3333
id: check

.gitignore

Lines changed: 67 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,81 @@
1-
2-
!src/ontology/tmp/README.md
1+
# ODK-managed rules, do not modify
2+
# If you need to add your own ignore rules, you may do so below
3+
# the "End ODK-managed rules" marker at the end of this file.
34
.DS_Store
5+
semantic.cache
6+
bin/
7+
48
*.tmp
5-
*.tmp2
6-
*.tmp.json
79
*.tmp.obo
810
*.tmp.owl
11+
*.tmp.json
12+
*-relation-graph.tsv.gz
13+
.template.db
14+
15+
.github/token.txt
16+
17+
/uberon.owl
18+
/uberon.obo
19+
/uberon.json
20+
/uberon.db
21+
/uberon-base.*
22+
/uberon-basic.*
23+
/uberon-full.*
24+
/uberon-simple.*
25+
/uberon-simple-non-classified.*
26+
/mappings/
27+
/patterns/
28+
/reports/
29+
/subsets/
30+
31+
src/ontology/mirror
32+
src/ontology/mirror/*
33+
src/ontology/reports/*
34+
!src/ontology/reports/release-diff.md
35+
src/ontology/uberon.owl
36+
src/ontology/uberon.obo
37+
src/ontology/uberon.json
38+
src/ontology/uberon.db
39+
src/ontology/uberon-base.*
40+
src/ontology/uberon-basic.*
41+
src/ontology/uberon-full.*
42+
src/ontology/uberon-simple.*
43+
src/ontology/uberon-simple-non-classified.*
44+
45+
src/ontology/seed.txt
46+
src/ontology/dosdp-tools.log
47+
src/ontology/ed_definitions_merged.owl
48+
src/ontology/ontologyterms.txt
49+
src/ontology/simple_seed.txt
50+
src/ontology/patterns
51+
src/ontology/merged-uberon-edit.owl
52+
src/ontology/uberon-edit.properties
53+
54+
src/ontology/target/
55+
src/ontology/tmp/*
56+
!src/ontology/tmp/.gitkeep
57+
!src/ontology/tmp/README.md
58+
59+
src/ontology/run.sh.conf
60+
src/ontology/run.sh.env
61+
62+
src/ontology/imports/*_terms_combined.txt
63+
64+
src/patterns/data/**/*.ofn
65+
src/patterns/data/**/*.txt
66+
src/patterns/pattern_owl_seed.txt
67+
src/patterns/all_pattern_terms.txt
68+
69+
# End of ODK-managed rules
70+
71+
*.tmp2
972
aminoacid.owl
1073
basic-allcycles
1174
basic-orphans
1275
basic-orphans.tmp
1376
basic.obo.tmp1
1477
bfo-check.owl
1578
bfo-check.txt
16-
bin/
1779
bridge-check-caro.owl
1880
bridge-check-caro.txt
1981
bridge-check-caro.txt.tmp
@@ -107,38 +169,12 @@ robot_main_diff.md
107169
seed.obo
108170
seed.obo.tmp
109171
seed.owl
110-
semantic.cache
111-
src/ontology/dosdp-tools.log
112-
src/ontology/ed_definitions_merged.owl
113172
src/ontology/imports/*.obo
114173
imports/*.obo
115174
uberon-lastbuild.owl
116175
uberon-lastbuild.obo
117176
src/mappings/uberon-local.sssom.tsv
118177
src/mappings/uberon.sssom.tsv
119-
src/ontology/imports/*_terms_combined.txt
120-
src/ontology/merged-uberon-edit.owl
121-
src/ontology/mirror
122-
src/ontology/mirror/*
123-
src/ontology/ontologyterms.txt
124-
src/ontology/patterns
125-
src/ontology/reports/*
126-
src/ontology/seed.txt
127-
src/ontology/simple_seed.txt
128-
src/ontology/target/
129-
src/ontology/tmp/*
130-
src/ontology/uberon-base.*
131-
src/ontology/uberon-basic.*
132-
src/ontology/uberon-full.*
133-
src/ontology/uberon-simple-non-classified.*
134-
src/ontology/uberon-simple.*
135-
src/ontology/uberon.json
136-
src/ontology/uberon.obo
137-
src/ontology/uberon.owl
138-
src/patterns/all_pattern_terms.txt
139-
src/patterns/data/**/*.ofn
140-
src/patterns/data/**/*.txt
141-
src/patterns/pattern_owl_seed.txt
142178
taxon-constraint-check.txt
143179
tmp/
144180
trunk/
@@ -187,7 +223,6 @@ src/ontology/basic.json
187223
src/ontology/basic.obo
188224
src/ontology/basic.owl
189225
src/ontology/test_obo_serialiser.sh
190-
src/ontology/uberon-edit.properties
191226
src/ontology/.token
192227
imports/*
193228
basic.json

docs/odk-workflows/ManageAutomatedTest.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,3 @@ We can define custom checks using [SPARQL](https://www.w3.org/TR/rdf-sparql-quer
2525
```shell
2626
sh run.sh make update_repo
2727
```
28-

docs/odk-workflows/RepositoryFileStructure.md

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,20 @@ These are the current imports in UBERON
1616

1717
| Import | URL | Type |
1818
| ------ | --- | ---- |
19-
| pr | https://raw.githubusercontent.com/obophenotype/pro_obo_slim/master/pr_slim.owl | None |
20-
| cl | http://purl.obolibrary.org/obo/cl.owl | None |
21-
| go | http://purl.obolibrary.org/obo/go/go-base.owl | None |
22-
| envo | http://purl.obolibrary.org/obo/envo.owl | None |
23-
| ro | http://purl.obolibrary.org/obo/ro.owl | None |
24-
| bspo | http://purl.obolibrary.org/obo/bspo.owl | None |
25-
| chebi | https://raw.githubusercontent.com/obophenotype/chebi_obo_slim/main/chebi_slim.owl | None |
26-
| pato | http://purl.obolibrary.org/obo/pato.owl | None |
27-
| bfo | http://purl.obolibrary.org/obo/bfo.owl | None |
28-
| ncbitaxon | http://purl.obolibrary.org/obo/ncbitaxon/subsets/taxslim.owl | None |
29-
| ncbitaxondisjoints | http://purl.obolibrary.org/obo/ncbitaxon/subsets/taxslim-disjoint-over-in-taxon.owl | None |
30-
| nbo | http://purl.obolibrary.org/obo/nbo.owl | None |
19+
| pr | https://raw.githubusercontent.com/obophenotype/pro_obo_slim/master/pr_slim.owl | slme |
20+
| cl | http://purl.obolibrary.org/obo/cl.owl | slme |
21+
| go | http://purl.obolibrary.org/obo/go/go-base.owl | slme |
22+
| envo | http://purl.obolibrary.org/obo/envo.owl | slme |
23+
| ro | http://purl.obolibrary.org/obo/ro.owl | slme |
24+
| bspo | http://purl.obolibrary.org/obo/bspo.owl | slme |
25+
| chebi | https://raw.githubusercontent.com/obophenotype/chebi_obo_slim/main/chebi_slim.owl | slme |
26+
| pato | http://purl.obolibrary.org/obo/pato.owl | slme |
27+
| bfo | http://purl.obolibrary.org/obo/bfo.owl | slme |
28+
| ncbitaxon | http://purl.obolibrary.org/obo/ncbitaxon/subsets/taxslim.owl | slme |
29+
| ncbitaxondisjoints | http://purl.obolibrary.org/obo/ncbitaxon/subsets/taxslim-disjoint-over-in-taxon.owl | slme |
30+
| nbo | http://purl.obolibrary.org/obo/nbo.owl | slme |
3131
| orcidio | https://w3id.org/orcidio/orcidio.owl | custom |
3232
| omo | http://purl.obolibrary.org/obo/omo.owl | mirror |
33-
3433
## Components
3534
Components, in contrast to imports, are considered full members of the ontology. This means that any axiom in a component is also included in the ontology base - which means it is considered _native_ to the ontology. While this sounds complicated, consider this: conceptually, no component should be part of more than one ontology. If that seems to be the case, we are most likely talking about an import. Components are often not needed for ontologies, but there are some use cases:
3635

@@ -45,6 +44,6 @@ These are the components in UBERON
4544
| disjoint_union_over.owl | None |
4645
| mappings.owl | None |
4746
| in-subset.owl | None |
48-
| hra_subset.owl | None |
47+
| hra_subset.owl | https://raw.githubusercontent.com/hubmapconsortium/ccf-validation-tools/master/owl/UB_ASCTB_subset.owl |
4948
| vasculature_class.owl | None |
50-
| hra_depiction_3d_images.owl | None |
49+
| hra_depiction_3d_images.owl | https://raw.githubusercontent.com/hubmapconsortium/ccf-validation-tools/master/owl/hra_uberon_3d_images.owl |

docs/odk-workflows/components.md

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,35 +14,46 @@ components:
1414
- filename: your-component-name.owl
1515
```
1616

17-
3) Add the component to your catalog file (src/ontology/catalog-v001.xml)
17+
3) Refresh your repo by running `sh run update_repo`. This will automatically (1) create a new file in `src/ontology/components/`, (2) update the `-edit` file so that it imports `http://purl.obolibrary.org/obo/uberon/components/your-component-name.owl` (the IRI of your new component), and (3) update the XML catalog file (`src/ontology/catalog-v001.xml`) to redirect that IRI to the file in the `src/ontology/components` directory, so that the new component can be found by tools such as Protégé or ROBOT, when they load the `-edit` file.
18+
19+
If your component is to be generated by some automated process, add a goal in your custom Makefile (`src/ontology/uberon.Makefile`) and make it perform any task needed to generate the component:
1820

1921
```
20-
<uri name="http://purl.obolibrary.org/obo/uberon/components/your-component-name.owl" uri="components/your-component-name.owl"/>
22+
$(COMPONENTSDIR)/your-component-name.owl: $(SRC)
23+
<Insert here the code to produce the component>
2124
```
2225

23-
4) Add the component to the edit file (src/ontology/uberon-edit.obo)
24-
for .obo formats:
26+
If the component is to be generated from a ROBOT template, the ODK can generate the appropriate code for you. For that, when adding the component fo the ODK configuration file (step 2 above), explicitly indicate that the component should be derived from template(s) and list the source templates:
2527

2628
```
27-
import: http://purl.obolibrary.org/obo/uberon/components/your-component-name.owl
29+
components:
30+
products:
31+
- filename: your-component-name.owl
32+
use_template: true
33+
templates:
34+
- template1.tsv
35+
- template2.tsv
2836
```
2937

30-
for .owl formats:
38+
In this example, the component will be derived from the templates found in `src/templates/template1.tsv` and `src/templates/template2.tsv`. Initial empty templates will automatically be generated when the repository is refreshed (step 3).
39+
40+
Likewise, the ODK can generate the required code for the case where the component is to be derived from SSSOM mappings:
3141

3242
```
33-
Import(<http://purl.obolibrary.org/obo/uberon/components/your-component-name.owl>)
43+
components:
44+
products:
45+
- filename: your-component-name.owl
46+
use_mappings: true
47+
mappings:
48+
- my-mappings.sssom.tsv
3449
```
3550

36-
5) Refresh your repo by running `sh run.sh make update_repo` - this should create a new file in src/ontology/components.
37-
6) In your custom makefile (src/ontology/uberon.Makefile) add a goal for your custom make file. In this example, the goal is a ROBOT template.
51+
and for the case where the component is to be fetched from a remote resource:
3852

3953
```
40-
$(COMPONENTSDIR)/your-component-name.owl: $(SRC) ../templates/your-component-template.tsv
41-
$(ROBOT) template --template ../templates/your-component-template.tsv \
42-
annotate --ontology-iri $(ONTBASE)/$@ --output $(COMPONENTSDIR)/your-component-name.owl
54+
components:
55+
products:
56+
- filename: your-component-name.owl
57+
source: https://example.org/component-source.owl
4358
```
4459

45-
(If using a ROBOT template, do not forget to add your template tsv in src/templates/)
46-
47-
7) Make the file by running `sh run.sh make components/your-component-name.owl`
48-

0 commit comments

Comments
 (0)