Skip to content

Add wetland biome (ENVO:03606010) via biome pattern (#1666) - #1668

Draft
turbomam wants to merge 4 commits into
masterfrom
add-wetland-biome
Draft

turbomam wants to merge 4 commits into
masterfrom
add-wetland-biome

Conversation

@turbomam

@turbomam turbomam commented Jun 18, 2026 •

Copy link
Copy Markdown
Contributor

Adds wetland biome (ENVO:03605010), a DOSDP-compliant biome on the biome design pattern: equivalent to wetland ecosystem and ('participates in' some 'climactic ecological succession'), SubClassOf wetland ecosystem. Resolves #1666. Stacked on the re-parent PR, merge that first.

  • Provides a MIxS env_broad_scale value for peat-forming wetlands.
  • Use case: the Microflora Danica "Bogs, mires and fens" habitats (Natura2000/EUNIS 7000), ~530 samples; coastal salt marshes use the existing marine salt marsh biome.
  • travis_test passes

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Adds the ENVO class “wetland biome” (ENVO:03605010) to the core ENVO edit ontology using the established biome design-pattern axiom (wetland ecosystem and participates in some climactic ecological succession), so it can classify appropriately under the broader biome hierarchy.

Changes:

  • Declares new class ENVO_03605010 in envo-edit.owl.
  • Adds label, textual definition, creator/date annotations for wetland biome.
  • Adds the design-pattern axiom (EquivalentClasses) and asserts SubClassOf wetland ecosystem.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@matentzn

Copy link
Copy Markdown
Collaborator

@turbomam heads up: with #1676 merged, ENVO:03605010 is taken again. It's the restored "NMDC environmental context value sets" annotation property, the root of the NMDC value-set hierarchy, with 03605011/12/16/20 as its sub-properties. It was in the 2025-02-05 release.

This PR declares the same IRI as the class "wetland biome", so after merging we'd have a punned IRI with two labels. Can you mint wetland biome from a free ID in your range instead? Everything from 03605010 to 03605026 is used by the value sets.

@turbomam
turbomam force-pushed the reparent-wetland-ecosystem branch from f53fac0 to c7fb716 Compare October 23, 2026 15:34
@turbomam turbomam changed the title Add wetland biome (ENVO:03605010) via biome pattern (#1666) Add wetland biome (ENVO:03606010) via biome pattern (#1666) Oct 23, 2026
@turbomam
turbomam changed the base branch from reparent-wetland-ecosystem to master October 23, 2026 15:34
@turbomam

Copy link
Copy Markdown
Contributor Author

Done, as you asked. Both branches are rebased onto master after the restore and the release, and the new class is now ENVO:03606010, the next free identifier in my range after the restored ENVO:03606009. The axioms are unchanged. I also set the base of this pull request to master so that it gets a CI run; until the re-parent pull request below merges, the diff shows its one line as well.

@matentzn matentzn left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

The ID clash is fixed, the biome follows the pattern, and both versions reason cleanly. One modelling consequence of the stacked re-parent (#1667) I'd like @pbuttigieg to sign off on. (request changes here mostly means request review)

Thanks for moving to ENVO:03606010. I checked it: it's in your range (3605000–3619999) and appears nowhere on master or anywhere in the git history apart from this commit.

Since this branch contains #1667's commit, merge #1667 first as you said.

Comment thread src/envo/envo-edit.owl
Declaration(Class(<http://purl.obolibrary.org/obo/ENVO_03620006>))
Declaration(Class(<http://purl.obolibrary.org/obo/ENVO_03620007>))
Declaration(Class(<http://purl.obolibrary.org/obo/ENVO_03620008>))
Declaration(Class(<http://purl.obolibrary.org/obo/ENVO_03606010>))

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

this declaration (and the # Class: block at L46587, which also has no blank line before it) was put in by hand after ENVO_03620008, so it's out of ID order. The next Protégé/ROBOT save will move both and leave a noisy diff in someone else's PR. A robot convert -f ofn round-trip before merging avoids that.

Comment thread src/envo/envo-edit.owl
AnnotationAssertion(Annotation(<http://www.geneontology.org/formats/oboInOwl#hasDbXref> "USGS:SDTS") <http://www.geneontology.org/formats/oboInOwl#hasRelatedSynonym> <http://purl.obolibrary.org/obo/ENVO_01001209> "muskeg")
AnnotationAssertion(rdfs:label <http://purl.obolibrary.org/obo/ENVO_01001209> "wetland ecosystem"@en)
SubClassOf(<http://purl.obolibrary.org/obo/ENVO_01001209> <http://purl.obolibrary.org/obo/ENVO_01001110>)
SubClassOf(<http://purl.obolibrary.org/obo/ENVO_01001209> <http://purl.obolibrary.org/obo/ENVO_01001790>)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

The class itself matches patterns/biome.yaml: the equivalence is wetland ecosystem and ('participates in' some 'climactic ecological succession'), and the definition is the pattern text (with "A" instead of the template's "An", which is right). CI is green.

I ran ELK on current master and on master + this PR. It's coherent, and no class loses an inferred parent. But putting wetland ecosystem under terrestrial ecosystem makes 37 classes terrestrial ecosystems. Most of them are fine (peatland, bogs, fens, mires, swamps, dambos). A few are less obviously "an ecosystem which primarily occurs on land":

  • intertidal ecosystem (ENVO:01001468, via coastal wetland ecosystem)
  • tidal mudflat, mudflat
  • saline marsh, saline wetland, coastal wetland ecosystem
  • mangrove swamp, and mangrove biome, which also becomes a terrestrial biome (and the only inferred child of wetland biome)

None of them currently sits under anything marine or aquatic, so there's no double classification and nothing breaks. The wetland ecosystem definition already says "A terrestrial ecosystem which…", so you're making the axioms match the text rather than inventing something new. WWF also counts mangroves as a terrestrial biome. I'm OK with it, but intertidal ecosystem becoming terrestrial is the kind of thing @pbuttigieg will have an opinion on.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Isnt this the same as #1667

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Isnt this the same as #1667

Yes. It shows here because this branch is stacked on the re-parent.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

They are land-based, just rather wet - wetLANDS after all. I'll take a closer look but this should be okay

@turbomam

Copy link
Copy Markdown
Contributor Author

I did some more analysis of

which would, under reasoning, make nine classes liquid astronomical body parts, which is dubious for some of them. That re-parent was mainly to make more classes eligible for NMDC's expectation that env_local_scale values are astronomical body parts, so I'm putting it on hold and looking at an NMDC-side fix first. This pull request is stacked on it, so it is on hold too.

When I come back I'll do the robot convert -f ofn round-trip @matentzn asked for.

@turbomam
turbomam marked this pull request as draft October 26, 2026 18:14
@pbuttigieg

Copy link
Copy Markdown
Member

We can deal with the Liquid ABP issue later - it is also probably incorrect to claim they are primarily composed of water

@turbomam

turbomam commented Nov 2, 2026

Copy link
Copy Markdown
Contributor Author

remove the primarily composed of axiom?

This branch has not been deployed

No deployments
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.

NTR: wetland biome (biome for peat-forming wetlands)

4 participants