Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add biome 'part of' 'climactic ecological succession' axioms for better inferred hierarchy #1459

Merged
merged 7 commits into from Sep 25, 2023

Conversation

turbomam
Copy link
Contributor

@turbomam turbomam marked this pull request as ready for review September 11, 2023 20:50
@turbomam turbomam marked this pull request as draft September 11, 2023 20:52
@turbomam
Copy link
Contributor Author

I haven't yet revised the axioms for terms that

  • assert themselves to be subclasses of 'biome', like 'alpine biome'
  • have an equivalence axiom that mentions 'biome' like 'ocean biome'

@turbomam turbomam marked this pull request as ready for review September 11, 2023 21:08
@turbomam
Copy link
Contributor Author

turbomam commented Sep 11, 2023

Slightly trimmed output from

runoak --input envo.owl tree --down --predicates i biome
  • [i] ENVO:00000428 ! biome
    • [i] ENVO:01001836 ! montane biome
      • [i] ENVO:01000216 ! montane shrubland biome
      • [i] ENVO:01000194 ! montane grassland biome
      • [i] ENVO:01000223 ! montane savanna biome
      • [i] ENVO:01000185 ! montane desert biome
    • [i] ENVO:01001835 ! alpine biome
      • [i] ENVO:01001505 ! alpine tundra biome
    • [i] ENVO:01001831 ! temperate biome
      • [i] ENVO:01000215 ! temperate shrubland biome
      • [i] ENVO:01000182 ! temperate desert biome
      • [i] ENVO:01000211 ! temperate coniferous forest biome
        • [i] ENVO:01000210 ! tropical coniferous forest biome
      • [i] ENVO:01000189 ! temperate savanna biome
      • [i] ENVO:01000221 ! temperate woodland biome
      • [i] ENVO:01000193 ! temperate grassland biome
      • [i] ENVO:01000202 ! temperate broadleaf forest biome
      • [i] ENVO:01000860 ! temperate marine upwelling biome
      • [i] ENVO:01000856 ! temperate marginal sea biome
      • [i] ENVO:01000212 ! temperate mixed forest biome
    • [i] ENVO:01001832 ! subtropical biome
      • [i] ENVO:01000184 ! subtropical desert biome
      • [i] ENVO:01000187 ! subtropical savanna biome
        • [i] ENVO:01000229 ! mediterranean savanna biome
      • [i] ENVO:01000213 ! subtropical shrubland biome
        • [i] ENVO:01000217 ! mediterranean shrubland biome
      • [i] ENVO:01000201 ! subtropical broadleaf forest biome
        • [i] ENVO:01000225 ! subtropical dry broadleaf forest biome
        • [i] ENVO:01000226 ! subtropical moist broadleaf forest biome
      • [i] ENVO:01000191 ! subtropical grassland biome
        • [i] ENVO:01000224 ! mediterranean grassland biome
      • [i] ENVO:01001833 ! mediterranean biome
        • [i] ENVO:01000199 ! mediterranean forest biome
        • [i] ENVO:01000229 ! mediterranean savanna biome
        • [i] ENVO:01000208 ! mediterranean woodland biome
        • [i] ENVO:01000224 ! mediterranean grassland biome
        • [i] ENVO:01000217 ! mediterranean shrubland biome
        • [i] ENVO:01000047 ! mediterranean sea biome
          • [i] ENVO:01000128 ! dilution basin mediterranean sea biome
          • [i] ENVO:01000004 ! concentration basin mediterranean sea biome
          • [i] ENVO:01000857 ! temperate mediterranean sea biome
      • [i] ENVO:01000209 ! subtropical coniferous forest biome
      • [i] ENVO:01000222 ! subtropical woodland biome
        • [i] ENVO:01000208 ! mediterranean woodland biome
    • [i] ENVO:01000179 ! desert biome
      • [i] ENVO:01000184 ! subtropical desert biome
      • [i] ENVO:01000182 ! temperate desert biome
      • [i] ENVO:01000185 ! montane desert biome
      • [i] ENVO:01000186 ! polar desert biome
      • [i] ENVO:01000183 ! tropical desert biome
    • [i] ENVO:01001834 ! subpolar biome
      • [i] ENVO:01000250 ! subpolar coniferous forest biome
    • [i] ENVO:01001837 ! subalpine biome
    • [i] ENVO:00002030 ! aquatic biome
      • [i] ENVO:00000447 ! marine biome
        • [i] ENVO:01000020 ! estuarine biome
        • [i] ENVO:01000022 ! marine salt marsh biome
        • [i] ENVO:01000023 ! marine pelagic biome
          • [i] ENVO:01000032 ! neritic pelagic zone biome
            • [i] ENVO:01000041 ! neritic sea surface microlayer biome
            • [i] ENVO:01000042 ! neritic epipelagic zone biome
            • [i] ENVO:01000043 ! neritic mesopelagic zone biome
          • [i] ENVO:01000033 ! oceanic pelagic zone biome
            • [i] ENVO:01000034 ! oceanic sea surface microlayer biome
            • [i] ENVO:01000037 ! oceanic bathypelagic zone biome
            • [i] ENVO:01000036 ! oceanic mesopelagic zone biome
            • [i] ENVO:01000035 ! oceanic epipelagic zone biome
            • [i] ENVO:01000038 ! oceanic abyssopelagic zone biome
            • [i] ENVO:01000040 ! oceanic benthopelagic zone biome
            • [i] ENVO:01000039 ! oceanic hadal pelagic zone biome
        • [i] ENVO:01000045 ! epeiric sea biome
        • [i] ENVO:01000024 ! marine benthic biome
          • [i] ENVO:01000027 ! marine abyssal zone biome
          • [i] ENVO:01000127 ! marine cold seep biome
          • [i] ENVO:01000026 ! marine bathyal zone biome
          • [i] ENVO:01000028 ! marine hadal zone biome
          • [i] ENVO:01000030 ! marine hydrothermal vent biome
            • [i] ENVO:01000051 ! marine black smoker biome
            • [i] ENVO:01000053 ! marine ultramafic hydrothermal vent biome
            • [i] ENVO:01000054 ! marine basaltic hydrothermal vent biome
            • [i] ENVO:01000052 ! marine white smoker biome
          • [i] ENVO:01000029 ! marine reef biome
            • [i] ENVO:01000050 ! marine subtidal rocky reef biome
            • [i] ENVO:01000123 ! marine sponge reef biome
            • [i] ENVO:01000049 ! marine coral reef biome
              • [i] ENVO:01000854 ! tropical marine coral reef biome
          • [i] ENVO:01000025 ! marine neritic benthic zone biome
        • [i] ENVO:01000046 ! marginal sea biome
          • [i] ENVO:01000856 ! temperate marginal sea biome
          • [i] ENVO:01001230 ! tropical marginal sea biome
        • [i] ENVO:01000048 ! ocean biome
        • [i] ENVO:01000858 ! marine upwelling biome
          • [i] ENVO:01000860 ! temperate marine upwelling biome
          • [i] ENVO:01000859 ! tropical marine upwelling biome
        • [i] ENVO:01000047 ! mediterranean sea biome
          • [i] ENVO:01000128 ! dilution basin mediterranean sea biome
          • [i] ENVO:01000004 ! concentration basin mediterranean sea biome
          • [i] ENVO:01000857 ! temperate mediterranean sea biome
      • [i] ENVO:00000873 ! freshwater biome
        • [i] ENVO:01000253 ! freshwater river biome
          • [i] ENVO:00000890 ! small river biome
          • [i] ENVO:00000887 ! large river biome
          • [i] ENVO:00000889 ! large river delta biome
          • [i] ENVO:00000888 ! large river headwater biome
        • [i] ENVO:00000893 ! xeric basin biome
        • [i] ENVO:01000252 ! freshwater lake biome
          • [i] ENVO:00000891 ! large freshwater lake biome
          • [i] ENVO:00000892 ! small freshwater lake biome
    • [i] ENVO:01000248 ! dense settlement biome
      • [i] ENVO:01000249 ! urban biome
    • [i] ENVO:01001838 ! arid biome
    • [i] ENVO:01001830 ! tropical biome
      • [i] ENVO:01000210 ! tropical coniferous forest biome
      • [i] ENVO:01000214 ! tropical shrubland biome
      • [i] ENVO:01000188 ! tropical savanna biome
      • [i] ENVO:01001798 ! tropical mixed forest biome
      • [i] ENVO:01001230 ! tropical marginal sea biome
      • [i] ENVO:01000854 ! tropical marine coral reef biome
      • [i] ENVO:01000220 ! tropical woodland biome
      • [i] ENVO:01000200 ! tropical broadleaf forest biome
        • [i] ENVO:01000227 ! tropical dry broadleaf forest biome
        • [i] ENVO:01000228 ! tropical moist broadleaf forest biome
      • [i] ENVO:01000859 ! tropical marine upwelling biome
      • [i] ENVO:01000192 ! tropical grassland biome
      • [i] ENVO:01000183 ! tropical desert biome
    • [i] ENVO:01000339 ! polar biome
      • [i] ENVO:01000186 ! polar desert biome
    • [i] ENVO:01000246 ! village biome
    • [i] ENVO:00000446 ! terrestrial biome
      • [i] ENVO:01000180 ! tundra biome
        • [i] ENVO:01001505 ! alpine tundra biome
      • [i] ENVO:01000181 ! mangrove biome
      • [i] ENVO:01000174 ! forest biome
        • [i] ENVO:01000199 ! mediterranean forest biome
        • [i] ENVO:01000196 ! coniferous forest biome
          • [i] ENVO:01000211 ! temperate coniferous forest biome
            • [i] ENVO:01000210 ! tropical coniferous forest biome
          • [i] ENVO:01000209 ! subtropical coniferous forest biome
          • [i] ENVO:01000250 ! subpolar coniferous forest biome
        • [i] ENVO:01000197 ! broadleaf forest biome
          • [i] ENVO:01000202 ! temperate broadleaf forest biome
          • [i] ENVO:01000201 ! subtropical broadleaf forest biome
            • [i] ENVO:01000225 ! subtropical dry broadleaf forest biome
            • [i] ENVO:01000226 ! subtropical moist broadleaf forest biome
          • [i] ENVO:01000200 ! tropical broadleaf forest biome
            • [i] ENVO:01000227 ! tropical dry broadleaf forest biome
            • [i] ENVO:01000228 ! tropical moist broadleaf forest biome
        • [i] ENVO:01000198 ! mixed forest biome
          • [i] ENVO:01001798 ! tropical mixed forest biome
          • [i] ENVO:01000212 ! temperate mixed forest biome
      • [i] ENVO:01000175 ! woodland biome
        • [i] ENVO:01000221 ! temperate woodland biome
        • [i] ENVO:01000178 ! savanna biome
          • [i] ENVO:01000187 ! subtropical savanna biome
            • [i] ENVO:01000229 ! mediterranean savanna biome
          • [i] ENVO:01000223 ! montane savanna biome
          • [i] ENVO:01000189 ! temperate savanna biome
          • [i] ENVO:01000188 ! tropical savanna biome
          • [i] ENVO:01000190 ! flooded savanna biome
        • [i] ENVO:01000222 ! subtropical woodland biome
          • [i] ENVO:01000208 ! mediterranean woodland biome
        • [i] ENVO:01000220 ! tropical woodland biome
      • [i] ENVO:01000219 ! anthropogenic terrestrial biome
        • [i] ENVO:01000245 ! cropland biome
        • [i] ENVO:01000247 ! rangeland biome
      • [i] ENVO:01000176 ! shrubland biome
        • [i] ENVO:01000215 ! temperate shrubland biome
        • [i] ENVO:01000213 ! subtropical shrubland biome
          • [i] ENVO:01000217 ! mediterranean shrubland biome
        • [i] ENVO:01000214 ! tropical shrubland biome
        • [i] ENVO:01000218 ! xeric shrubland biome
        • [i] ENVO:01000216 ! montane shrubland biome
        • [i] ENVO:01001369 ! tidal mangrove shrubland
      • [i] ENVO:01000177 ! grassland biome
        • [i] ENVO:01000194 ! montane grassland biome
        • [i] ENVO:01000193 ! temperate grassland biome
        • [i] ENVO:01000195 ! flooded grassland biome
        • [i] ENVO:01000191 ! subtropical grassland biome
          • [i] ENVO:01000224 ! mediterranean grassland biome
        • [i] ENVO:01000192 ! tropical grassland biome

Copy link
Member

@cmungall cmungall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Always follow the design patterns.

E.g. you have:

'subtropical grassland'
 and ('participates in' some 'climactic ecological succession')
 and ('has quality' some subtropical)

This doesn't follow the pattern here:

https://github.com/EnvironmentOntology/envo/blob/master/src/envo/patterns/biome.yaml

it should be:

'subtropical grassland'
 and ('participates in' some 'climactic ecological succession')

It may seem the quality is superfluous but harmless - but in fact by deviating from the pattern we perpetuate confusion about how to make these terms, and more importantly, they become invisible to the tagging system

@pbuttigieg
Copy link
Member

I haven't yet revised the axioms for terms that

  • assert themselves to be subclasses of 'biome', like 'alpine biome'
  • have an equivalence axiom that mentions 'biome' like 'ocean biome'

If there's a class like "alpine ecosystem" one could follow the pattern.

@pbuttigieg
Copy link
Member

pbuttigieg commented Sep 12, 2023

Careful, though: "subtropical grassland" is the ecosystem class rather than the biome class. Not all subtropical grasslands are in a climactic successional state

You can keep the condition axiom on the ecosystem class, so it's inherited by the biome class without affecting the pattern

@turbomam
Copy link
Contributor Author

turbomam commented Sep 13, 2023

Thanks @cmungall and @pbuttigieg

I have been reading DOS-DP documentation and experimenting with it in the EnvO repository.

I recall why I added the 'has quality' constraint to some of the new axioms ... without them, there are several classes that share the same parent and therefore the same <SUPERCLASS> and ('participates in' some 'climactic ecological succession') axiom, and therefore are all asserted to be equivalent classes of one another.

That doesn't pass validation. If you agree that solving #1462 in the near future, and would result in better DOS-DP adherence, could we merge this PR now and make a release?

@cmungall
Copy link
Member

Hi @turbomam

Let's try it. Try adapting the example I highlighted to conform to the pattern. If it leads to unsatisfiability or equivalence between named classes, post the explanation here. This will likely be indicative of a deeper problem (if it happens)

@turbomam
Copy link
Contributor Author

Thanks. I did try it but didn't share the results. It will cause an error, but yes I should share the results.

@turbomam
Copy link
Contributor Author

turbomam commented Sep 13, 2023

This is just from removing the 'has quality' axioms on the subclasses of 'coniferous forest biome' ENVO:01000196

robot --catalog catalog-v001.xml merge --input envo-edit-module-merged.owl \
        reason --reasoner ELK --equivalent-classes-allowed asserted-only --exclude-tautologies structural \
        relax \
        reduce -r ELK \
        annotate --ontology-iri http://purl.obolibrary.org/obo/envo/envo-full.owl --version-iri http://purl.obolibrary.org/obo/envo/releases/2023-09-13/envo-full.owl  -a owl:versionInfo 2023-09-13\
                --output envo-full.owl.tmp.owl && mv envo-full.owl.tmp.owl envo-full.owl

2023-09-13 17:29:58,705 ERROR org.obolibrary.robot.ReasonOperation - Only equivalent classes that have been asserted are allowed. Inferred equivalencies are forbidden.
2023-09-13 17:29:58,707 ERROR org.obolibrary.robot.ReasonOperation - Equivalence: http://purl.obolibrary.org/obo/ENVO_01000209 == http://purl.obolibrary.org/obo/ENVO_01000211
2023-09-13 17:29:58,707 ERROR org.obolibrary.robot.ReasonOperation - Equivalence: http://purl.obolibrary.org/obo/ENVO_01000196 == http://purl.obolibrary.org/obo/ENVO_01000250
2023-09-13 17:29:58,707 ERROR org.obolibrary.robot.ReasonOperation - Equivalence: http://purl.obolibrary.org/obo/ENVO_01000209 == http://purl.obolibrary.org/obo/ENVO_01000196
2023-09-13 17:29:58,707 ERROR org.obolibrary.robot.ReasonOperation - Equivalence: http://purl.obolibrary.org/obo/ENVO_01000209 == http://purl.obolibrary.org/obo/ENVO_01000250
2023-09-13 17:29:58,707 ERROR org.obolibrary.robot.ReasonOperation - Equivalence: http://purl.obolibrary.org/obo/ENVO_01000211 == http://purl.obolibrary.org/obo/ENVO_01000250
2023-09-13 17:29:58,708 ERROR org.obolibrary.robot.ReasonOperation - Equivalence: http://purl.obolibrary.org/obo/ENVO_01000196 == http://purl.obolibrary.org/obo/ENVO_01000211

@pbuttigieg
Copy link
Member

pbuttigieg commented Sep 14, 2023

If the issue is the various climate conditions as qualities, this may be fixed by having those as subclasses of a generic (climate condition free ) superclass

The examples you posted are already subclasses of coniferous forest biome, and that class is the only one that needs the pattern axiom, the subclasses will inherit it and can have the climate conditions as quality-based differentiae

@cmungall
Copy link
Member

cmungall commented Sep 14, 2023 via email

@turbomam
Copy link
Contributor Author

turbomam commented Sep 22, 2023

@cmungall @pbuttigieg: no more 'has quality' axioms in biome definitions, and no more asserted equivalencies.

I don't see how to mark the following request as addressed: #1459 (review)

In any case, I am requesting your re-review please

@cmungall
Copy link
Member

Ontology comparison

Left

  • Ontology IRI: http://purl.obolibrary.org/obo/envo.owl
  • Version IRI: None
  • Loaded from: file:/Users/cjm/repos/envo/src/envo/envo-edit.owl

Right

  • Ontology IRI: http://purl.obolibrary.org/obo/envo.owl
  • Version IRI: None
  • Loaded from: file:/Users/cjm/repos/envo/src/envo/mark.owl

Ontology imports

Ontology annotations

broadleaf forest biome http://purl.obolibrary.org/obo/ENVO_01000197

Removed

coniferous forest biome http://purl.obolibrary.org/obo/ENVO_01000196

Added

flooded grassland biome http://purl.obolibrary.org/obo/ENVO_01000195

Added

grassland biome http://purl.obolibrary.org/obo/ENVO_01000177

Added

mediterranean forest biome http://purl.obolibrary.org/obo/ENVO_01000199

Added

mediterranean grassland biome http://purl.obolibrary.org/obo/ENVO_01000224

Added

mixed forest biome http://purl.obolibrary.org/obo/ENVO_01000198

Added

montane grassland biome http://purl.obolibrary.org/obo/ENVO_01000194

Added

subtropical dry broadleaf forest biome http://purl.obolibrary.org/obo/ENVO_01000225

Added

subtropical grassland biome http://purl.obolibrary.org/obo/ENVO_01000191

Added

subtropical moist broadleaf forest biome http://purl.obolibrary.org/obo/ENVO_01000226

Added

temperate broadleaf forest biome http://purl.obolibrary.org/obo/ENVO_01000202

Added

temperate grassland biome http://purl.obolibrary.org/obo/ENVO_01000193

Added

temperate mixed forest biome http://purl.obolibrary.org/obo/ENVO_01000212

Added

tropical broadleaf forest biome http://purl.obolibrary.org/obo/ENVO_01000200

Added

tropical coniferous forest biome http://purl.obolibrary.org/obo/ENVO_01000210

Added

tropical dry broadleaf forest biome http://purl.obolibrary.org/obo/ENVO_01000227

Added

tropical grassland biome http://purl.obolibrary.org/obo/ENVO_01000192

Added

tropical mixed forest biome http://purl.obolibrary.org/obo/ENVO_01001798

Added

tropical moist broadleaf forest biome http://purl.obolibrary.org/obo/ENVO_01000228

Added

src/envo/envo-edit.owl Show resolved Hide resolved
Copy link
Member

@cmungall cmungall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

on reflection the inconsistency in terminology between coniferous vs needleeaf is consistent with the broader biome/forest distinction, so we are at least consistently inconsistent in this PR.

So I think best to merge and deal with this separately

@turbomam turbomam changed the title more biome axioms add biome 'part of' 'climactic ecological succession' axioms for better inferred hierarchy Sep 25, 2023
@turbomam turbomam merged commit 5b30f12 into master Sep 25, 2023
2 checks passed
@turbomam turbomam deleted the issue-1458-more-biome-axioms branch September 25, 2023 16:00
@turbomam turbomam mentioned this pull request Sep 25, 2023
32 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants