diff --git a/.gitignore b/.gitignore index 67b97c07..39905dc6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,14 @@ local +*.db +*.duckdb +*.gz .idea .~*# .DS_Store sub_schema_dh/ +notebooks/environmental_context_value_sets/goldData.xlsx + /docs/ /project/docs/ /tmp/ diff --git a/notebooks/environmental_context_value_sets/README.md b/notebooks/environmental_context_value_sets/README.md deleted file mode 100644 index b3336d1e..00000000 --- a/notebooks/environmental_context_value_sets/README.md +++ /dev/null @@ -1,58 +0,0 @@ -The files in the `submission-schema` repo's `notebooks/environmental_context_value_sets` directory are -provided as a one step in adding `Extension`-specific environmental context enumerations to the NMDC submission schema. - -The `Extensions` (also called Environments, Packages, etc.) are defined in -the [MIxS standard](https://genomicsstandardsconsortium.github.io/mixs/#extensions) and provide guidance about how one -should describe samples from different environmental contexts. - -The `submission-schema` captures granular details about the environmental context of a samples with MIxS' -[env_broad_scale](https://genomicsstandardsconsortium.github.io/mixs/0000012/), [env_local_scale](https://genomicsstandardsconsortium.github.io/mixs/0000013/) -and [env_medium](https://genomicsstandardsconsortium.github.io/mixs/0000014/). (Those three fields are informally called -the MIxS environmental triad amongst NMDC staff). Those three slots must be populated with -the name and CURIes for a class in an appropriate ontology. In many cases that ontology is -the [Environmental Ontology](https://environmentontology.org/), EnvO. MIxS and EnvO provide guidance about populating -those context fields, but the guidance is only specific to what classes would reasonably go in which fields. It does not -address what subsets of classes could go in the fields on an Extension-byExtension basis. For example, it would not make -sense to say the ten env_broad_scale of a soil samples was 'ocean biome [ENVO:01000048]'. - -We assume that some exploration may have already been done with other tools, followed by human review, -but these notebooks do not yet consult voting sheets, -such as those created in the external-metadata-awareness repo, like [soil-env_medium.Makefile](https://github.com/microbiomedata/external-metadata-awareness/blob/main/Makefiles/soil-env_medium.Makefile), -which have been [shared as Google Sheets](https://docs.google.com/spreadsheets/d/1qYrUvWK6toajWpadaEJ66X05MjiZ7YAB/edit?gid=502854718#gid=502854718) at times. -They do not [inject the value sets into LinkML YAML files as enumerations](https://github.com/microbiomedata/submission-schema/pull/260) either. - -## Generating the env_broad_scale value set for soil samples: - -1. Make the `clean` target in the `environmental_context_value_sets.Makefile` in this directory -2. Familiarize yourself with `soil/discover_excludable_soils.ipynb`. It saves a report of relations between soils and - other EnvO classes as `soil/discover_excludable_soils.tsv`. That file is used later to remove some soil classes - from the `env_medium` value set for soil samples, if greater inter-study consistency could be achieved by expressing - some characteristics of the soils in the `env_broad_scale` or `env_local_scale` fields. For example, we want to avoid - submitters being inconsistent in saying that they have 'garden soil [ENVO:00002263]' samples from a ' - garden [ENVO:00000011]' local contexts vs 'soil [ENVO:00001998]' samples from a 'garden [ENVO:00000011]' local - context. **Note**: the output of this notebook has been curated and saved as - `soil/discover_excludable_soils_curated.tsv`. THe curated file includes guidance for some removal or retention that - are not substantiated but axioms in EnvO as of November 2024. AsInn fact, this file could be a good guide to adding - missing EnvO axioms. Other notebooks in this repo configured to use the curated file. -3. Run `soil/env_broad_scale/post_google_sheets_soil_env_broad_scale.ipynb` to generate - `soil/env_broad_scale/post_google_sheets_soil_env_broad_scale.tsv` -4. Familiarize yourself with the inferences about which EnvO classes can be composed together to - for [GOLD ecosystem paths](https://gold.jgi.doe.gov/ecosystem_classification), as some of them are hard-coded into - the next `env_local_scale` step. We provide two methods to obtain this - information and both have system prerequisites. The `gold-soils-by-semsql-wide.tsv` target in - `soil/gold/gold-soils.Makefile` assumes that `envo.db` and `goldterms.db` have been downloaded - from https://s3.amazonaws.com/bbop-sqlite/ into this - project's `local/` directory and that `sqlite` is available on the system path and that `click` and `pandas` are - available in a Python poetry environment. One can also recreate a file like `soil/gold/gold-soils-by-sparql.tsv` by - running `soil/gold/gold-soils-by-sparql.rq` against a SPARQL endpoint populated with the datasets in - `soil/gold/goldterms-with-support-graphs.png` and then pivoting the results. -5. Run `soil/env_local_scale/post_google_sheets_soil_env_local_scale.ipynb` to generate - the temporary report `soil/env_local_scale/post_google_sheets_soil_env_local_scale_initial.tsv` - and the final value set `soil/env_local_scale/post_google_sheets_soil_env_local_scale.tsv` -6. Run `soil/env_medium/post_google_sheets_soil_env_medium.ipynb` to generate - `soil/env_medium/post_google_sheets_soil_env_medium.tsv`. The notebook will indicate which soil classes are being - excluded based on rows in `soil/discover_excludable_soils_curated.tsv` and - `soil/env_local_scale/post_google_sheets_soil_env_local_scale.tsv`. This repo also includes - `soil/env_medium/post_google_sheets_soil_env_medium_retention_justification.tsv` which provides additional - perspective on gaps or inconsistencies in EnvO. - diff --git a/notebooks/environmental_context_value_sets/environmental_context_value_sets.Makefile b/notebooks/environmental_context_value_sets/environmental_context_value_sets.Makefile deleted file mode 100644 index 8a517dbd..00000000 --- a/notebooks/environmental_context_value_sets/environmental_context_value_sets.Makefile +++ /dev/null @@ -1,15 +0,0 @@ -clean: - rm -rf sediment/env_medium/post_google_sheets_sediment_env_medium.tsv - - rm -rf soil/gold/gold-soils-by-semsql.tsv - rm -rf soil/gold/gold-soils-by-semsql-wide.tsv - rm -rf soil/gold/gold-soils-by-sparql.tsv - rm -rf soil/discover_excludable_soils.tsv - rm -rf soil/env_broad_scale/post_google_sheets_soil_env_broad_scale.tsv - rm -rf soil/env_local_scale/post_google_sheets_soil_env_local_scale.tsv - rm -rf soil/env_local_scale/post_google_sheets_soil_env_local_scale_initial.tsv - rm -rf soil/env_medium/post_google_sheets_soil_env_medium.tsv - - rm -rf water/env_broad_scale/post_google_sheets_water_env_broad_scale.tsv - - diff --git a/notebooks/environmental_context_value_sets/sediment/env_medium/post_google_sheets_sediment_env_medium.ipynb b/notebooks/environmental_context_value_sets/sediment/env_medium/post_google_sheets_sediment_env_medium.ipynb deleted file mode 100644 index 44346262..00000000 --- a/notebooks/environmental_context_value_sets/sediment/env_medium/post_google_sheets_sediment_env_medium.ipynb +++ /dev/null @@ -1,384 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "id": "initial_id", - "metadata": { - "collapsed": true, - "ExecuteTime": { - "end_time": "2024-11-08T21:45:07.530150Z", - "start_time": "2024-11-08T21:45:03.871217Z" - } - }, - "source": [ - "from oaklib import get_adapter\n", - "from oaklib.datamodels.vocabulary import IS_A\n", - "import csv # don't really need csv if we are importing pandas\n", - "\n", - "import pandas as pd " - ], - "outputs": [], - "execution_count": 1 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:45:07.541825Z", - "start_time": "2024-11-08T21:45:07.538423Z" - } - }, - "cell_type": "code", - "source": "pd.set_option('future.no_silent_downcasting', True)", - "id": "d30a0cf4fa9eaf10", - "outputs": [], - "execution_count": 2 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:45:07.617499Z", - "start_time": "2024-11-08T21:45:07.614240Z" - } - }, - "cell_type": "code", - "source": "adapter_string = \"sqlite:obo:envo\"", - "id": "2148e2b371b9d3c1", - "outputs": [], - "execution_count": 3 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:45:07.661276Z", - "start_time": "2024-11-08T21:45:07.658130Z" - } - }, - "cell_type": "code", - "source": "target_labels = [\"sediment\"]", - "id": "2b9221b70ebed187", - "outputs": [], - "execution_count": 4 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:45:07.708369Z", - "start_time": "2024-11-08T21:45:07.704644Z" - } - }, - "cell_type": "code", - "source": [ - "exclusion_labels = [\n", - " \"chemically enriched sediment\",\n", - " \"lake sediment\", # presumably will be excluded based on contents of sediment env local scale\n", - " \"stream sediment\", # presumably will be excluded based on contents of sediment env local scale\n", - "]\n", - "\n", - "# might also want to remove mangrove biome sediment if mangrove biome is going to be one of the sediment env_broad_scale values" - ], - "id": "dc91a47fb8762a09", - "outputs": [], - "execution_count": 5 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:45:07.756451Z", - "start_time": "2024-11-08T21:45:07.752869Z" - } - }, - "cell_type": "code", - "source": "output_file = \"post_google_sheets_sediment_env_medium.tsv\"", - "id": "4737c7dfdaa5400e", - "outputs": [], - "execution_count": 6 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:45:07.806138Z", - "start_time": "2024-11-08T21:45:07.801640Z" - } - }, - "cell_type": "code", - "source": "# excludable_soils_filename = \"discover_excludable_soils_curated.tsv\"", - "id": "77be6f0893e612eb", - "outputs": [], - "execution_count": 7 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:45:07.855049Z", - "start_time": "2024-11-08T21:45:07.852147Z" - } - }, - "cell_type": "code", - "source": [ - "# excludable_soils_frame = pd.read_csv(excludable_soils_filename, sep=\"\\t\")\n", - "# \n", - "# excludable_soils_frame['relation_is_reasonable'] = excludable_soils_frame['relation_is_reasonable'].fillna(False)" - ], - "id": "e5ae95cb54367e20", - "outputs": [], - "execution_count": 8 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:45:07.903245Z", - "start_time": "2024-11-08T21:45:07.899797Z" - } - }, - "cell_type": "code", - "source": [ - "# reasonable_frame = excludable_soils_frame[\n", - "# (excludable_soils_frame['relation_is_reasonable']) |\n", - "# (excludable_soils_frame['override'] == 'exclude soil')\n", - "# ]\n" - ], - "id": "536b8ecb525febe9", - "outputs": [], - "execution_count": 9 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:45:07.951995Z", - "start_time": "2024-11-08T21:45:07.947638Z" - } - }, - "cell_type": "code", - "source": [ - "# reasonable_frame = reasonable_frame[reasonable_frame['override'] != 'keep soil']\n", - "# \n", - "# reasonable_frame = reasonable_frame.dropna(subset=['sole_reasonable_other', 'sole_soil'])" - ], - "id": "7d638550e53542f9", - "outputs": [], - "execution_count": 10 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:45:08.000900Z", - "start_time": "2024-11-08T21:45:07.997168Z" - } - }, - "cell_type": "code", - "source": "# soil_env_local_scale_filename = \"post_google_sheets_soil_env_local_scale.tsv\"", - "id": "8a0972d756eb0bbf", - "outputs": [], - "execution_count": 11 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:45:08.049424Z", - "start_time": "2024-11-08T21:45:08.046056Z" - } - }, - "cell_type": "code", - "source": "# soil_env_local_scale_frame = pd.read_csv(soil_env_local_scale_filename, sep=\"\\t\")", - "id": "89dbf4c1953b5b92", - "outputs": [], - "execution_count": 12 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:45:08.096888Z", - "start_time": "2024-11-08T21:45:08.093910Z" - } - }, - "cell_type": "code", - "source": [ - "# soils_with_local_or_override_exclusion_justification = reasonable_frame[\n", - "# (reasonable_frame['sole_reasonable_other'].isin(soil_env_local_scale_frame['label'])) |\n", - "# (reasonable_frame['override'] == 'exclude soil')\n", - "# ]" - ], - "id": "7e728b28efcebb4c", - "outputs": [], - "execution_count": 13 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:45:08.147008Z", - "start_time": "2024-11-08T21:45:08.142926Z" - } - }, - "cell_type": "code", - "source": "# soils_with_local_or_override_exclusion_justification", - "id": "2611cb2995c57f98", - "outputs": [], - "execution_count": 14 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:45:08.194252Z", - "start_time": "2024-11-08T21:45:08.191328Z" - } - }, - "cell_type": "code", - "source": "# soils_reiterating_broad_or_local = set(soils_with_local_or_override_exclusion_justification['sole_soil'].unique())\n", - "id": "bff5dcb1cee90fb", - "outputs": [], - "execution_count": 15 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:45:08.272405Z", - "start_time": "2024-11-08T21:45:08.238914Z" - } - }, - "cell_type": "code", - "source": "adapter = get_adapter(adapter_string)", - "id": "7709e378f4d117eb", - "outputs": [], - "execution_count": 16 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:45:08.291444Z", - "start_time": "2024-11-08T21:45:08.288373Z" - } - }, - "cell_type": "code", - "source": "targets = set()", - "id": "1bbc3b1ad9958a37", - "outputs": [], - "execution_count": 17 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:45:08.409089Z", - "start_time": "2024-11-08T21:45:08.336135Z" - } - }, - "cell_type": "code", - "source": [ - "# accumulate subclasses of the target classes (by label)\n", - "# \n", - "for current_label in target_labels:\n", - " for class_id in adapter.basic_search(current_label):\n", - " descendant = adapter.descendants(class_id, predicates=[IS_A])\n", - " for d in descendant:\n", - " # if adapter.label(d) not in soils_reiterating_broad_or_local:\n", - " if True:\n", - " targets.add(d)\n", - " # else:\n", - " # print(f\"Excluding {d} {adapter.label(d)} because its differentia can be expressed in terms of the broad or local scale\")\n", - " \n", - "print(len(targets))" - ], - "id": "6ecbf0cd88edec66", - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "52\n" - ] - } - ], - "execution_count": 18 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:45:08.574170Z", - "start_time": "2024-11-08T21:45:08.426022Z" - } - }, - "cell_type": "code", - "source": [ - "# deplete subclasses of the exclusion classes (by label)\n", - "# \n", - "for current_label in exclusion_labels:\n", - " for class_id in adapter.basic_search(current_label):\n", - " descendant = adapter.descendants(class_id, predicates=[IS_A])\n", - " for d in descendant:\n", - " targets.remove(d)\n", - "\n", - "print(len(targets))" - ], - "id": "77c441ce49ee868", - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "37\n" - ] - } - ], - "execution_count": 19 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:45:08.610818Z", - "start_time": "2024-11-08T21:45:08.584151Z" - } - }, - "cell_type": "code", - "source": [ - "labelled_targets = []\n", - "for t in targets:\n", - " labelled_targets.append(\n", - " {\n", - " \"id\": t,\n", - " \"label\": adapter.label(t)\n", - " }\n", - " )\n", - "\n", - "export_frame = pd.DataFrame(labelled_targets)\n", - "\n", - "export_frame.to_csv(output_file, sep=\"\\t\", index=False)\n" - ], - "id": "4301a231897de6d9", - "outputs": [], - "execution_count": 20 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:45:08.628495Z", - "start_time": "2024-11-08T21:45:08.626149Z" - } - }, - "cell_type": "code", - "source": "", - "id": "8b5ac9a2750a35d9", - "outputs": [], - "execution_count": null - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 2 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.6" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/notebooks/environmental_context_value_sets/soil/discover_excludable_soils.ipynb b/notebooks/environmental_context_value_sets/soil/discover_excludable_soils.ipynb deleted file mode 100644 index 5c8c3878..00000000 --- a/notebooks/environmental_context_value_sets/soil/discover_excludable_soils.ipynb +++ /dev/null @@ -1,1250 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "id": "initial_id", - "metadata": { - "collapsed": true, - "ExecuteTime": { - "end_time": "2024-11-11T23:04:57.178923Z", - "start_time": "2024-11-11T23:04:53.858080Z" - } - }, - "source": [ - "from oaklib import get_adapter\n", - "from oaklib.datamodels.vocabulary import IS_A\n", - "from itertools import chain\n", - "import textdistance\n", - "import pandas as pd\n", - "import textwrap\n", - "import matplotlib.pyplot as plt\n", - "import random\n" - ], - "outputs": [], - "execution_count": 1 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:04:57.186632Z", - "start_time": "2024-11-11T23:04:57.183160Z" - } - }, - "cell_type": "code", - "source": "adapter_string = \"sqlite:obo:envo\"", - "id": "9f2bef41173fd084", - "outputs": [], - "execution_count": 2 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:04:57.249566Z", - "start_time": "2024-11-11T23:04:57.246717Z" - } - }, - "cell_type": "code", - "source": "target_labels = [\"soil\"]", - "id": "6b16af8bdda12631", - "outputs": [], - "execution_count": 3 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:04:57.303100Z", - "start_time": "2024-11-11T23:04:57.294128Z" - } - }, - "cell_type": "code", - "source": "output_file = \"discover_excludable_soils.tsv\"", - "id": "8d05518530e5a1a5", - "outputs": [], - "execution_count": 4 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:04:57.351196Z", - "start_time": "2024-11-11T23:04:57.347041Z" - } - }, - "cell_type": "code", - "source": [ - "reasonable_relations = [\n", - " 'adjacent to',\n", - " 'composed primarily of',\n", - " 'has part',\n", - " 'located in',\n", - " 'part of',\n", - "]\n", - "\n", - "# this excludes relations in which one participant must be a quality, process, etc." - ], - "id": "cc4c5f1fb8a99c38", - "outputs": [], - "execution_count": 5 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:04:57.425712Z", - "start_time": "2024-11-11T23:04:57.394887Z" - } - }, - "cell_type": "code", - "source": "adapter = get_adapter(adapter_string)", - "id": "71b097db8b835fd5", - "outputs": [], - "execution_count": 6 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:04:57.507139Z", - "start_time": "2024-11-11T23:04:57.443010Z" - } - }, - "cell_type": "code", - "source": [ - "biomes = set()\n", - "\n", - "curies = adapter.basic_search(\"biome\")\n", - "for curie in curies:\n", - " descendants = adapter.descendants(curie, predicates=[IS_A])\n", - " for d in descendants:\n", - " biomes.add(d)" - ], - "id": "6d76d42bb986ddae", - "outputs": [], - "execution_count": 7 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:04:57.563798Z", - "start_time": "2024-11-11T23:04:57.516938Z" - } - }, - "cell_type": "code", - "source": [ - "environmental_materials = set()\n", - "\n", - "curies = adapter.basic_search(\"environmental material\")\n", - "for curie in curies:\n", - " descendants = adapter.descendants(curie, predicates=[IS_A])\n", - " for d in descendants:\n", - " environmental_materials.add(d)" - ], - "id": "11573010911bb8f", - "outputs": [], - "execution_count": 8 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:04:57.657078Z", - "start_time": "2024-11-11T23:04:57.573542Z" - } - }, - "cell_type": "code", - "source": [ - "material_entities = set()\n", - "\n", - "curies = adapter.basic_search(\"material entity\")\n", - "for curie in curies:\n", - " descendants = adapter.descendants(curie, predicates=[IS_A])\n", - " for d in descendants:\n", - " material_entities.add(d)" - ], - "id": "84774b759981935a", - "outputs": [], - "execution_count": 9 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:04:57.672719Z", - "start_time": "2024-11-11T23:04:57.669340Z" - } - }, - "cell_type": "code", - "source": [ - "# reasonable_others = material_entities - biomes.union(environmental_materials)\n", - "\n", - "reasonable_others = material_entities - environmental_materials # actually, let's also pull out soils whose differentia can be expressed in the env_broad_scale\n", - "\n", - "# mangrove biome soil" - ], - "id": "dde15e9453483a9d", - "outputs": [], - "execution_count": 10 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:04:57.713991Z", - "start_time": "2024-11-11T23:04:57.710600Z" - } - }, - "cell_type": "code", - "source": "targets = set()", - "id": "a66cae9ebc0cc7b8", - "outputs": [], - "execution_count": 11 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:04:57.794808Z", - "start_time": "2024-11-11T23:04:57.757196Z" - } - }, - "cell_type": "code", - "source": [ - "for current_label in target_labels:\n", - " for class_id in adapter.basic_search(current_label):\n", - " descendants = adapter.descendants(class_id, predicates=[IS_A])\n", - " for d in descendants:\n", - " targets.add(d)\n" - ], - "id": "b8e0bd61cb887a94", - "outputs": [], - "execution_count": 12 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:04:57.811393Z", - "start_time": "2024-11-11T23:04:57.808222Z" - } - }, - "cell_type": "code", - "source": "up_rels = adapter.relationships(targets)", - "id": "f13353149550e831", - "outputs": [], - "execution_count": 13 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:04:57.852672Z", - "start_time": "2024-11-11T23:04:57.849433Z" - } - }, - "cell_type": "code", - "source": "down_rels = adapter.relationships(objects=targets)", - "id": "58fcd6b036c084a4", - "outputs": [], - "execution_count": 14 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:04:57.900265Z", - "start_time": "2024-11-11T23:04:57.896622Z" - } - }, - "cell_type": "code", - "source": "rels_gen = chain(up_rels, down_rels)", - "id": "c8717815968fa5d9", - "outputs": [], - "execution_count": 15 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:04:57.959109Z", - "start_time": "2024-11-11T23:04:57.949344Z" - } - }, - "cell_type": "code", - "source": "rels_list = []", - "id": "37a5169d443d9afb", - "outputs": [], - "execution_count": 16 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:04:58.006275Z", - "start_time": "2024-11-11T23:04:58.003048Z" - } - }, - "cell_type": "code", - "source": "preds_count = {}", - "id": "e7d42016afea0ec9", - "outputs": [], - "execution_count": 17 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:04:58.052202Z", - "start_time": "2024-11-11T23:04:58.049063Z" - } - }, - "cell_type": "code", - "source": [ - "differentiated_targets = targets.copy()\n", - "\n", - "differentiated_targets.remove(\"ENVO:00001998\")" - ], - "id": "273ab0be5d55acf5", - "outputs": [], - "execution_count": 18 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:05:00.879039Z", - "start_time": "2024-11-11T23:04:58.095343Z" - } - }, - "cell_type": "code", - "source": [ - "for rel in rels_gen:\n", - " s, p, o = rel\n", - " p_lab_or_id = adapter.label(p) if adapter.label(p) is not None else p\n", - " inner_dict = {\n", - " \"s\": s,\n", - " \"s_is_soil\": s in differentiated_targets,\n", - " \"s_is_reasonable_other\": s in reasonable_others,\n", - " \"slab\": adapter.label(s),\n", - " \"p\": p,\n", - " \"plab\": adapter.label(p),\n", - " \"p_lab_or_id\": p_lab_or_id,\n", - " 'relation_is_reasonable': p_lab_or_id in reasonable_relations,\n", - " \"o\": o,\n", - " \"o_is_soil\": o in differentiated_targets,\n", - " \"o_is_reasonable_other\": o in reasonable_others,\n", - " \"olab\": adapter.label(o),\n", - " \"slab_olab_cosine\": textdistance.cosine(adapter.label(s), adapter.label(o))\n", - " }\n", - " if inner_dict['s_is_soil'] and not inner_dict['o_is_soil']:\n", - " inner_dict['sole_soil'] = inner_dict['slab']\n", - " if inner_dict['o_is_soil'] and not inner_dict['s_is_soil']:\n", - " inner_dict['sole_soil'] = inner_dict['olab']\n", - "\n", - " if inner_dict['s_is_reasonable_other'] and not inner_dict['o_is_reasonable_other']:\n", - " inner_dict['sole_reasonable_other'] = inner_dict['slab']\n", - " if inner_dict['o_is_reasonable_other'] and not inner_dict['s_is_reasonable_other']:\n", - " inner_dict['sole_reasonable_other'] = inner_dict['olab']\n", - "\n", - " if inner_dict['p_lab_or_id'] in preds_count:\n", - " preds_count[inner_dict['p_lab_or_id']] += 1\n", - " else:\n", - " preds_count[inner_dict['p_lab_or_id']] = 1\n", - "\n", - " rels_list.append(inner_dict)" - ], - "id": "e7cfa7893f8216c2", - "outputs": [], - "execution_count": 19 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:05:00.896368Z", - "start_time": "2024-11-11T23:05:00.892018Z" - } - }, - "cell_type": "code", - "source": "rels_frame = pd.DataFrame(rels_list)", - "id": "76ed80e1e97de3e9", - "outputs": [], - "execution_count": 20 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:05:01.059589Z", - "start_time": "2024-11-11T23:05:00.915780Z" - } - }, - "cell_type": "code", - "source": "rels_frame.to_csv(output_file, sep=\"\\t\", index=False)", - "id": "f6bd0f899df2e00c", - "outputs": [], - "execution_count": 21 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:05:01.088318Z", - "start_time": "2024-11-11T23:05:01.084042Z" - } - }, - "cell_type": "code", - "source": [ - "reasonable_frame = rels_frame[rels_frame['relation_is_reasonable']]\n", - "# filter out rows with null/NA values\n", - "reasonable_frame = reasonable_frame.dropna()" - ], - "id": "ff2f774ec512b720", - "outputs": [], - "execution_count": 22 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:05:01.157054Z", - "start_time": "2024-11-11T23:05:01.128463Z" - } - }, - "cell_type": "code", - "source": "reasonable_frame", - "id": "c56ab545691d7b4f", - "outputs": [ - { - "data": { - "text/plain": [ - " s s_is_soil s_is_reasonable_other slab \\\n", - "51 ENVO:00002259 True False agricultural soil \n", - "53 ENVO:00002260 True False dune soil \n", - "55 ENVO:00002261 True False forest soil \n", - "59 ENVO:00002263 True False garden soil \n", - "60 ENVO:00002263 True False garden soil \n", - "64 ENVO:00002275 True False technosol \n", - "103 ENVO:00005740 True False paddy field soil \n", - "108 ENVO:00005743 True False roadside soil \n", - "110 ENVO:00005744 True False allotment garden soil \n", - "112 ENVO:00005746 True False savanna soil \n", - "119 ENVO:00005750 True False grassland soil \n", - "126 ENVO:00005755 True False field soil \n", - "130 ENVO:00005758 True False alluvial swamp soil \n", - "136 ENVO:00005761 True False meadow soil \n", - "143 ENVO:00005764 True False pond soil \n", - "150 ENVO:00005769 True False mountain forest soil \n", - "156 ENVO:00005772 True False orchard soil \n", - "157 ENVO:00005772 True False orchard soil \n", - "159 ENVO:00005773 True False pasture soil \n", - "168 ENVO:00005777 True False steppe soil \n", - "177 ENVO:00005786 True False upland soil \n", - "180 ENVO:00005788 True False rubber plantation soil \n", - "195 ENVO:01001526 True False frozen soil \n", - "204 ENVO:01001616 True False bare soil \n", - "209 ENVO:02000138 True False mangrove biome soil \n", - "227 ENVO:00000044 False True peatland \n", - "228 ENVO:00000258 False True alluvial plain \n", - "229 ENVO:00000314 False True alluvial fan \n", - "373 ENVO:04000011 False True bare soil surface layer \n", - "\n", - " p plab p_lab_or_id \\\n", - "51 BFO:0000050 part of part of \n", - "53 BFO:0000050 part of part of \n", - "55 RO:0001025 located in located in \n", - "59 BFO:0000050 part of part of \n", - "60 RO:0001025 located in located in \n", - "64 BFO:0000050 part of part of \n", - "103 BFO:0000050 part of part of \n", - "108 RO:0001025 located in located in \n", - "110 BFO:0000050 part of part of \n", - "112 RO:0001025 located in located in \n", - "119 RO:0001025 located in located in \n", - "126 BFO:0000050 part of part of \n", - "130 BFO:0000050 part of part of \n", - "136 BFO:0000050 part of part of \n", - "143 RO:0002220 adjacent to adjacent to \n", - "150 BFO:0000050 part of part of \n", - "156 BFO:0000050 part of part of \n", - "157 RO:0001025 located in located in \n", - "159 RO:0001025 located in located in \n", - "168 RO:0001025 located in located in \n", - "177 BFO:0000050 part of part of \n", - "180 BFO:0000050 part of part of \n", - "195 BFO:0000050 part of part of \n", - "204 RO:0002220 adjacent to adjacent to \n", - "209 RO:0001025 located in located in \n", - "227 RO:0002473 composed primarily of composed primarily of \n", - "228 RO:0002473 composed primarily of composed primarily of \n", - "229 RO:0002473 composed primarily of composed primarily of \n", - "373 RO:0002473 composed primarily of composed primarily of \n", - "\n", - " relation_is_reasonable o o_is_soil o_is_reasonable_other \\\n", - "51 True ENVO:00000077 False True \n", - "53 True ENVO:00000170 False True \n", - "55 True ENVO:00000111 False True \n", - "59 True ENVO:00000011 False True \n", - "60 True ENVO:00000011 False True \n", - "64 True ENVO:01000983 False True \n", - "103 True ENVO:00000297 False True \n", - "108 True ENVO:01000447 False True \n", - "110 True ENVO:00005745 False True \n", - "112 True ENVO:00000261 False True \n", - "119 True ENVO:00000106 False True \n", - "126 True ENVO:00000114 False True \n", - "130 True ENVO:00000233 False True \n", - "136 True ENVO:00000108 False True \n", - "143 True ENVO:00000033 False True \n", - "150 True ENVO:00000081 False True \n", - "156 True ENVO:00000115 False True \n", - "157 True ENVO:00000115 False True \n", - "159 True ENVO:00000266 False True \n", - "168 True ENVO:00000262 False True \n", - "177 True ENVO:00000176 False True \n", - "180 True ENVO:00000164 False True \n", - "195 True ENVO:01001524 False True \n", - "204 True ENVO:01000540 False True \n", - "209 True ENVO:01000181 False True \n", - "227 True ENVO:00005774 True False \n", - "228 True ENVO:00002871 True False \n", - "229 True ENVO:00002871 True False \n", - "373 True ENVO:01001616 True False \n", - "\n", - " olab slab_olab_cosine sole_reasonable_other \\\n", - "51 agricultural ecosystem 0.775632 agricultural ecosystem \n", - "53 dune 0.666667 dune \n", - "55 forested area 0.585369 forested area \n", - "59 garden 0.738549 garden \n", - "60 garden 0.738549 garden \n", - "64 technosphere 0.673575 technosphere \n", - "103 paddy field 0.829156 paddy field \n", - "108 roadside 0.784465 roadside \n", - "110 allotment garden 0.872872 allotment garden \n", - "112 savanna 0.763763 savanna \n", - "119 grassland area 0.714286 grassland area \n", - "126 agricultural field 0.596285 agricultural field \n", - "130 swamp ecosystem 0.473879 swamp ecosystem \n", - "136 meadow ecosystem 0.678401 meadow ecosystem \n", - "143 pond 0.666667 pond \n", - "150 mountain 0.632456 mountain \n", - "156 orchard 0.763763 orchard \n", - "157 orchard 0.763763 orchard \n", - "159 pasture 0.763763 pasture \n", - "168 steppe 0.738549 steppe \n", - "177 elevated landform 0.511891 elevated landform \n", - "180 rubber plantation 0.879049 rubber plantation \n", - "195 frozen land 0.727273 frozen land \n", - "204 troposphere 0.402015 troposphere \n", - "209 mangrove biome 0.858395 mangrove biome \n", - "227 peat soil 0.589256 peatland \n", - "228 alluvial soil 0.815374 alluvial plain \n", - "229 alluvial soil 0.720577 alluvial fan \n", - "373 bare soil 0.625543 bare soil surface layer \n", - "\n", - " sole_soil \n", - "51 agricultural soil \n", - "53 dune soil \n", - "55 forest soil \n", - "59 garden soil \n", - "60 garden soil \n", - "64 technosol \n", - "103 paddy field soil \n", - "108 roadside soil \n", - "110 allotment garden soil \n", - "112 savanna soil \n", - "119 grassland soil \n", - "126 field soil \n", - "130 alluvial swamp soil \n", - "136 meadow soil \n", - "143 pond soil \n", - "150 mountain forest soil \n", - "156 orchard soil \n", - "157 orchard soil \n", - "159 pasture soil \n", - "168 steppe soil \n", - "177 upland soil \n", - "180 rubber plantation soil \n", - "195 frozen soil \n", - "204 bare soil \n", - "209 mangrove biome soil \n", - "227 peat soil \n", - "228 alluvial soil \n", - "229 alluvial soil \n", - "373 bare soil " - ], - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
ss_is_soils_is_reasonable_otherslabpplabp_lab_or_idrelation_is_reasonableoo_is_soilo_is_reasonable_otherolabslab_olab_cosinesole_reasonable_othersole_soil
51ENVO:00002259TrueFalseagricultural soilBFO:0000050part ofpart ofTrueENVO:00000077FalseTrueagricultural ecosystem0.775632agricultural ecosystemagricultural soil
53ENVO:00002260TrueFalsedune soilBFO:0000050part ofpart ofTrueENVO:00000170FalseTruedune0.666667dunedune soil
55ENVO:00002261TrueFalseforest soilRO:0001025located inlocated inTrueENVO:00000111FalseTrueforested area0.585369forested areaforest soil
59ENVO:00002263TrueFalsegarden soilBFO:0000050part ofpart ofTrueENVO:00000011FalseTruegarden0.738549gardengarden soil
60ENVO:00002263TrueFalsegarden soilRO:0001025located inlocated inTrueENVO:00000011FalseTruegarden0.738549gardengarden soil
64ENVO:00002275TrueFalsetechnosolBFO:0000050part ofpart ofTrueENVO:01000983FalseTruetechnosphere0.673575technospheretechnosol
103ENVO:00005740TrueFalsepaddy field soilBFO:0000050part ofpart ofTrueENVO:00000297FalseTruepaddy field0.829156paddy fieldpaddy field soil
108ENVO:00005743TrueFalseroadside soilRO:0001025located inlocated inTrueENVO:01000447FalseTrueroadside0.784465roadsideroadside soil
110ENVO:00005744TrueFalseallotment garden soilBFO:0000050part ofpart ofTrueENVO:00005745FalseTrueallotment garden0.872872allotment gardenallotment garden soil
112ENVO:00005746TrueFalsesavanna soilRO:0001025located inlocated inTrueENVO:00000261FalseTruesavanna0.763763savannasavanna soil
119ENVO:00005750TrueFalsegrassland soilRO:0001025located inlocated inTrueENVO:00000106FalseTruegrassland area0.714286grassland areagrassland soil
126ENVO:00005755TrueFalsefield soilBFO:0000050part ofpart ofTrueENVO:00000114FalseTrueagricultural field0.596285agricultural fieldfield soil
130ENVO:00005758TrueFalsealluvial swamp soilBFO:0000050part ofpart ofTrueENVO:00000233FalseTrueswamp ecosystem0.473879swamp ecosystemalluvial swamp soil
136ENVO:00005761TrueFalsemeadow soilBFO:0000050part ofpart ofTrueENVO:00000108FalseTruemeadow ecosystem0.678401meadow ecosystemmeadow soil
143ENVO:00005764TrueFalsepond soilRO:0002220adjacent toadjacent toTrueENVO:00000033FalseTruepond0.666667pondpond soil
150ENVO:00005769TrueFalsemountain forest soilBFO:0000050part ofpart ofTrueENVO:00000081FalseTruemountain0.632456mountainmountain forest soil
156ENVO:00005772TrueFalseorchard soilBFO:0000050part ofpart ofTrueENVO:00000115FalseTrueorchard0.763763orchardorchard soil
157ENVO:00005772TrueFalseorchard soilRO:0001025located inlocated inTrueENVO:00000115FalseTrueorchard0.763763orchardorchard soil
159ENVO:00005773TrueFalsepasture soilRO:0001025located inlocated inTrueENVO:00000266FalseTruepasture0.763763pasturepasture soil
168ENVO:00005777TrueFalsesteppe soilRO:0001025located inlocated inTrueENVO:00000262FalseTruesteppe0.738549steppesteppe soil
177ENVO:00005786TrueFalseupland soilBFO:0000050part ofpart ofTrueENVO:00000176FalseTrueelevated landform0.511891elevated landformupland soil
180ENVO:00005788TrueFalserubber plantation soilBFO:0000050part ofpart ofTrueENVO:00000164FalseTruerubber plantation0.879049rubber plantationrubber plantation soil
195ENVO:01001526TrueFalsefrozen soilBFO:0000050part ofpart ofTrueENVO:01001524FalseTruefrozen land0.727273frozen landfrozen soil
204ENVO:01001616TrueFalsebare soilRO:0002220adjacent toadjacent toTrueENVO:01000540FalseTruetroposphere0.402015tropospherebare soil
209ENVO:02000138TrueFalsemangrove biome soilRO:0001025located inlocated inTrueENVO:01000181FalseTruemangrove biome0.858395mangrove biomemangrove biome soil
227ENVO:00000044FalseTruepeatlandRO:0002473composed primarily ofcomposed primarily ofTrueENVO:00005774TrueFalsepeat soil0.589256peatlandpeat soil
228ENVO:00000258FalseTruealluvial plainRO:0002473composed primarily ofcomposed primarily ofTrueENVO:00002871TrueFalsealluvial soil0.815374alluvial plainalluvial soil
229ENVO:00000314FalseTruealluvial fanRO:0002473composed primarily ofcomposed primarily ofTrueENVO:00002871TrueFalsealluvial soil0.720577alluvial fanalluvial soil
373ENVO:04000011FalseTruebare soil surface layerRO:0002473composed primarily ofcomposed primarily ofTrueENVO:01001616TrueFalsebare soil0.625543bare soil surface layerbare soil
\n", - "
" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "execution_count": 23 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:05:01.609628Z", - "start_time": "2024-11-11T23:05:01.246581Z" - } - }, - "cell_type": "code", - "source": [ - "\n", - "reasonable_lod = reasonable_frame.to_dict(orient='records')\n", - "\n", - "# Extract unique groups from 'p_lab_or_id' and map each one to an x-axis position\n", - "groups = {item['p_lab_or_id'] for item in reasonable_lod}\n", - "group_positions = {group: idx + 1 for idx, group in\n", - " enumerate(groups)} # Assign positions for each unique 'p_lab_or_id' group\n", - "\n", - "\n", - "# Helper function to wrap labels\n", - "def wrap_label(label, width=15):\n", - " return \"\\n\".join(textwrap.wrap(label, width))\n", - "\n", - "\n", - "# Define a set of colors to choose from (optional)\n", - "colors = ['#FF5733', '#33FF57', '#3357FF', '#FF33A1', '#FF8F33', '#33FFF2', '#E1FF33']\n", - "\n", - "# Adjust the figure size and font size\n", - "plt.figure(figsize=(15, 10))\n", - "\n", - "# Plot each label with more random jitter and random color\n", - "for item in reasonable_lod:\n", - " x = group_positions[item['p_lab_or_id']]\n", - " y = item['slab_olab_cosine']\n", - " label = f\"{item['slab']} ({item['olab']})\"\n", - " wrapped_label = wrap_label(label, width=50)\n", - "\n", - " # Add increased random jitter to the label position\n", - " # x_jitter = random.uniform(-0.3, 0.3) # Larger random jitter in x-axis\n", - " y_jitter = random.uniform(-0.2, 0.0) # Larger random jitter in y-axis\n", - "\n", - " # Select a random color for the label\n", - " color = random.choice(colors) # Alternatively, use color = (random.random(), random.random(), random.random())\n", - "\n", - " # # Plot the label with random color\n", - " # plt.text(x + x_jitter, y + y_jitter, wrapped_label, ha='center', va='bottom', fontsize=8, color=color)\n", - " plt.text(x, y + y_jitter , wrapped_label, ha='right', va='bottom', fontsize=14, color=color)\n", - "\n", - "# Increase x-tick label size and rotate\n", - "plt.xticks(ticks=list(group_positions.values()), labels=list(group_positions.keys()), rotation=45, ha='right',\n", - " fontsize=12)\n", - "\n", - "# Configure other plot aesthetics\n", - "plt.xlabel(\"Predicate\", fontsize=12)\n", - "plt.ylabel(\"subject/object label cosine similarity\", fontsize=12)\n", - "plt.title(\"Soil Relationships (Excluding 'rdfs:subClassOf')\", fontsize=14)\n", - "\n", - "plt.tight_layout() # Adjust layout to prevent clipping\n", - "plt.show()" - ], - "id": "ecc4cd8784643118", - "outputs": [ - { - "data": { - "text/plain": [ - "
" - ], - "image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAPdCAYAAABlRyFLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd3RU1d7G8e+k9wCh9957B2kiClIEFBVBxMJFLzbEcsUGXsXufe0NFSyAiCjSEekdqdKR3iEB0nty3j92ZpLJzISEBIP6fNZihZw5ZZ99ivicPb9jsyzLQkREREREREREREREXHgVdwNERERERERERERERK5WCtFFRERERERERERERDxQiC4iIiIiIiIiIiIi4oFCdBERERERERERERERDxSii4iIiIiIiIiIiIh4oBBdRERERERERERERMQDhegiIiIiIiIiIiIiIh4oRBcRERERERERERER8UAhuoiIiIiIiIiIiIiIBwrRRURE5G+tW7du2Gw2p2nLly/HZrMxfvz44mmUG9WrV6d69ep/+W1criNHjmCz2bj77rvzvYy7Y1uctm7dire3N1OnTi3uprh1pY+/p2N4tR2nopbX/WTatGm0bNmS0NBQbDYbo0eP/tPbV1A2m41u3bpd8e1czfejwijIMX/uuecIDQ3l7Nmzf14DRURE5LIoRBcREZFilZCQwCuvvELLli0JCQnB39+fypUr07lzZ8aOHcvBgweLu4mMHz8em83m9CcoKIjGjRvz7LPPEhsbW9xNBODuu+/GZrNx5MiR4m7KP9KYMWOoX78+gwcPdpqe+9xx90f+PJMnT8Zms7F8+fIrup1169YxdOhQYmNj+fe//824cePo1avXFd1mcUpPT2fSpEn07t2b8uXL4+fnR3h4OG3atOG5557j6NGjxd3EAvnpp5+46aabqFChAn5+fpQpU4YePXrw5ZdfkpGR4XaZvI559erVXR5OPP7443h5eTFu3LgrvTsiIiJSSD7F3QARERH554qLi6NTp078/vvv1K5dmzvvvJOIiAiioqLYuHEjr732GrVq1aJWrVqXvY2vv/6axMTEImnvLbfcQuPGjQE4e/Ys8+fP55VXXmHu3Lls3LgRf3//ItnOlbJkyZLibkKRKspjW1hLly5l+fLlfPHFF3h5uY5TiYiI4KGHHiqGlhW/q+k4/ZnmzZuHZVl8/fXXdOzYsbibc0UdPXqU/v37s337dsqVK8f1119PlSpVSEhIYMuWLbz22mu89dZb7Ny5k9q1axd3c/OUkJDAkCFDmD17NiVLlqRPnz5UqVKFyMhI5s+fz3333cfEiROZPXs2ZcqUcVq2oMe8ZMmSjBgxgnfffZexY8dSrVq1K7VbIiIiUkgK0UVERKTYvPPOO/z++++MGDGCzz77zGVE7uHDh0lJSSnUNqpWrVqo5XMaNGiQ0yjj5ORk2rdvz/bt25k6dSr33HNPkW3rSijMw4irUVEe28L6+OOPCQwMZNCgQW4/L1269FVVPujPdDUdpz/TqVOnAKhYsWIxt+TKiouLo2fPnuzbt48nn3ySl156yeWB4oEDBxgzZgzx8fHF1Mr8u/vuu5k9ezZ9+vTh22+/pUSJEo7PkpOTefjhh/n8888ZMGAAK1aswMcn+3+pL+eY33nnnfzvf//j888/56WXXiqy/RAREZGipXIuIiIiUmzWrVsHwIMPPui2pEWNGjWoX7++y/SdO3dy2223UbZsWfz9/alRowajR4/m/PnzLvNeyXrMAQEBDB06FIDNmze7fH748GFGjBhB1apV8ff3p0KFCtx99935Lmtw6tQpxo0bR/v27R37Wr16dUaNGsW5c+ec5q1evTpfffUVYPrNXiYkZ/kATzWIExISGDduHPXr1ycgIIBSpUrRp08f1qxZ4zKvvbTN8uXLmTp1Ks2bNycwMJAKFSrw6KOPkpSU5LLMzJkz6dq1K2XLliUgIICKFSvSo0cPZs6c6Xa/Dxw4wMCBAylZsiTBwcH06NGD7du3u8zn7tjaS3VMnjyZn3/+mbZt2xIUFESZMmW499573dYe3rJlC4MGDXIcpzJlytCmTRsmTJjgtn25Xbx4kZ9//pmePXsSFhaWr2U8+e6777DZbPTu3RvLsvL1WVxcHC+++CJNmzYlKCiI8PBwWrRowfPPP09aWlqe28urBFDOY51TRkYGr7/+OrVr1yYgIIDatWvz6quvkpmZ6XYblzpOv/zyCx07diQoKIiIiAiGDx/u9loG+PTTT2nUqBEBAQFUqVKFp556iuTk5ELX8c5Zz33Pnj0MHDiQiIgIp75JSkri6aefpkqVKgQEBNC4cWMmTpzosi57jfRJkyYBztejfV2FPecyMzP5/PPPadu2LaVKlSIwMJDKlSvTr18/p+OVs589tdPTw50TJ05wxx13ULp0aYKCgrjmmmv49ddfXeZ766232LdvH3feeSdvvPGG22/k1K5dm9mzZ9OwYcM896sg9zyAmJgYXnjhBRo2bEhISAhhYWHUrl2b4cOHO91nk5OTefvtt2nWrBnh4eEEBwdTvXp1brvtNqd7y6+//soPP/xAnTp1mDFjhlOADuae/9lnn9GpUyfWrl3L119/7dSXeR1zT1q0aEHt2rXdHiMRERG5emgkuoiIiBSbiIgIAPbv30/z5s3ztczq1avp2bMnqampDBo0iOrVq7Nu3Treffdd5s6dy/r16ylduvQVbLV7OUcjAmzYsIGePXuSkJBA3759qVOnDkeOHGHKlCksWLCAdevWUbNmzTzXuXLlSt5++22uu+462rVrh6+vL1u3buXjjz9m0aJFbNmyhfDwcABGjx7N5MmT2b59O48++qgj/LnUi/uSk5Pp3r07GzdupGXLlowePZqzZ88yffp0Fi1axLRp07j11ltdlvvggw9YuHAh/fv3p3v37ixcuJD33nuPqKgopkyZ4pjv448/ZtSoUVSoUMERTJ45c4aNGzfy008/ccsttzit98iRI7Rv355GjRpx7733cvDgQX7++WeuvfZa9uzZQ7ly5fLcH7uZM2eyaNEiBg0aRI8ePVi/fj2TJk1i1apVbNy4kZIlSwKwbds2OnbsiLe3N/3796datWpER0eze/duPvvsM5599tlLbmvlypWkpaXRvn37fLUtL4MHD2bhwoV89dVXvPvuu46XEh45coQHHniAcuXKOYJRgHPnztG1a1f27t1L8+bN+fe//01mZiZ79+7l9ddf5/HHH3cJAgtr5MiRfPnll9SoUYMHH3yQ5ORk/ve//7F27doCr2v27NnMmzePfv360bFjR1auXMnXX3/NwYMHWb16tdO8L7zwAi+99BLlypXjX//6F76+vnz//ffs3bu3qHaNAwcO0L59e5o0acLdd9/N+fPn8fPzIzMzk5tuuolff/2VJk2aMGTIEM6fP89jjz3Gtdde67SO6tWrM27cOGbNmuVyPZYoUaJA59zkyZO55557GD58uFPIOnbsWN544w1q1arFkCFDCA0N5eTJk6xevZpff/210C8GvXjxItdccw1lypRhxIgRREZGMn36dHr16sUPP/zAgAEDHPN++eWXgDk+l+Ln55fn5wW551mWRc+ePdmwYQPXXHMNvXr1wsvLi6NHjzJ79myGDRvmKI8yfPhwvv/+e5o2bco999yDv78/x48fZ9myZfz22280a9YMwBGCP/744wQGBrpto81m49lnn+XGG2/kyy+/5N57773kMb+UDh068M0337B//37q1q17yflFRESkGFgiIiIixeTnn3+2ACs0NNR6/PHHrUWLFllRUVEe58/IyLBq1aplAdbChQudPnvyySctwLr33nudpnft2tXK/U+eZcuWWYA1bty4fLVz3LhxFmBNmzbNaXpSUpLVrFkzC7BmzJjhmJ6ammpVr17dCg0NtbZs2eK0zKpVqyxvb2+rb9++TtOrVatmVatWzWna2bNnrbi4OJf2fPXVVxZgvfzyy07Thw8fbgHW4cOH3e6Hu228+OKLFmANHTrUyszMdEzfsmWL5efnZ5UoUcKKjY116Yvw8HBr7969jumJiYlW3bp1LS8vL+vkyZOO6S1btrT8/Pyss2fPurQn57E+fPiwBViA9dprrznN99xzz1mA9eqrrzpNd3dsJ02a5FhP7nPk6aeftgDroYceckwbM2aMBVizZs3Ks315sZ97ixcvdvs5YEVERFjjxo1z+yf3eRUXF2fVrl3b8vf3t7Zu3Wqlp6dbHTt2tGw2m8s+3XLLLRZgPfPMMy7bPXPmjJWWlub43d3xz+ucsR/rZcuWOabZr51mzZpZ8fHxjuknTpywSpcubQHW8OHDndaT13Hy8fGxVq9e7Zienp5udevWzQKsdevWOabv27fP8vb2tipVquR0LsXGxloNGza0AKtr164u+5BfOc+/F154weVze3t79eplpaenO6b//vvvlp+fn9v7iae+Lcg5Z99u7j4tVaqUVbFiRSshIcFlHefPn3dZftKkSS7zeboP2vthyJAhTveE7du3W35+flaZMmWsxMREy7Is68iRIxZgVa5c2WX9l1LYe97vv/9uAdaAAQNc5k9OTnasJzo62rLZbFarVq2cjp1lmfPt4sWLjt+rV69uAdYff/yRZ9sTExMtHx8fy8/Pz2mdl7oHe/Luu+9agPXll18WaDkRERH586ici4iIiBSbm266ibfffhvLsnj77bfp2bMnpUuXpnbt2jz00EP88ccfTvOvWbOGgwcPcuONN9KzZ0+nz1544QVKlSrF1KlTSU1NvSLt/eGHHxg/fjzjx49n1KhR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t1nQe96RI0c4cuSIy/Tc/RgZGcnOnTtd5rt48SIpKSlO/X399ddz8803s3//fm677TaX0fopKSn8+9//ZuXKlXTs2JG77rrL4/4UxIYNG/Dx8XGMhBcREZGrj09xN0BERET+uRYsWMADDzxA7dq1ueaaa6hYsSIJCQls3bqVVatW4eXlxUcffYS/vz9gShNMnjyZnj170rt3b2699VaqVavGunXrWL58ObVq1XJ5+eKfYfz48dx000288MILLFu2DH9/f3744QduvPFGunbtSvfu3WnSpAk2m42jR4+yatUqIiIi2Lt3r8d1enl5MWrUKN5++22aNWtGv379iI2NZcGCBVSrVo2KFSu6LNO9e3feeustRo4cyS233EJwcDDVqlVzBIDuPPXUU8ybN49vvvmGPXv2cN1113Hu3DmmT59Oeno6EydOJDQ09LL7ZsCAAYSFhdG+fXuqVatGWloaixcvZvfu3QwaNMjtywuLQt++fenXrx+DBg2ievXqrF+/nmXLllGrVi3++9//OuZ7/fXXWbZsGV26dKFGjRoEBASwZcsWlixZQs2aNRk4cOAlt9W0aVNq1qyZ5wjiqKgoxo8f7/HzBx54gPLlyxMVFcXw4cMJDQ1l6tSpjvrgb731FitWrGDcuHFcd911jm87fPTRR+zcuZMJEyYwf/58unfvjmVZ7N+/n19++YWzZ8/m+cLT/v37U6tWLSZPnszx48dp0aIFe/bsYenSpfTu3Zv58+c7zX/ttddyzz33MGnSJJo0acLAgQNJSUlh+vTptG/fnrlz516yvy5HvXr1ePrpp3nllVdo0qQJt912Gz4+Pvz44480adKEnTt3uryQtigNHz6cqVOnsnDhQlq0aMGNN97IhQsXmDZtGjfccEOB9rsg59xPP/3EPffcw/Dhwx0POpKSkrjmmmuoW7curVq1omrVqsTHxzN37lzOnDnDE0884bhn2kepT506lVatWtGrVy/OnTvHTz/9RK9evZg5c6bbNjZt2pTVq1fTpk0bevToQWRkpOOe8NlnnzneAwDmnRaLFi2if//+vPrqq0yaNIkbbriBypUrk5iYyNatW1mzZg0+Pj689dZbHvuloPe8bdu2cfPNN9O2bVsaNmxI+fLlOXnyJLNmzcLLy8tRpuXkyZO0aNGCZs2a0bRpUypVqsT58+f5+eefSUtL44knnnBa71dffUVycjJz5syhZs2a9OnThypVqhAZGcn8+fM5efIk7dq146effnJcn4URHx/P+vXruf76612+fSUiIiJXEUtERESkmOzdu9d64403rOuvv96qUaOGFRAQYAUEBFi1atWyhg8fbm3atMntcr///rs1aNAgq3Tp0pavr69VrVo169FHH7UiIyNd5u3atauV+588y5YtswBr3Lhx+WrnuHHjLMCaNm2ax3lat25tAdaSJUsc006cOGE9+uijVp06dSx/f38rLCzMatCggTVixAin+SzLsqpVq2ZVq1bNaVpqaqo1YcIEx/JVq1a1Hn/8cSsuLs7t/JZlWW+88YZVp04dy9fX1wKsrl275rkNy7Ks+Ph46/nnn7fq1q1r+fn5WSVKlLBuvPFGa9WqVR77YtmyZS6fTZo0yQKsSZMmOaZ99NFH1k033WRVq1bNCggIsCIiIqy2bdtaH3/8sZWamuqY7/DhwxZgDR8+3GW9lmW57ItluT+2Odswa9Ysq02bNlZgYKAVERFh3X333dbp06ed5l+4cKF11113WfXq1bNCQ0OtkJAQq2HDhtYzzzzj9nzy5PXXX7cAa8OGDW7bfqk/W7dutSzLsvr27WsB1rfffuuynh07dlgBAQFWzZo1rdjYWMf0mJgY6/nnn7fq169v+fv7W+Hh4Vbz5s2tF154wamPPR3/w4cPWwMGDLBCQ0Ot4OBg67rrrrN+++03j8c6PT3devXVV62aNWtafn5+Vs2aNa1XXnnFOnDggNtjeKnjlFte1+dHH31kNWjQwPLz87MqV65sPfHEE9bx48ctwOrfv7/L/Pl1qfPPsiwrISHBeuqpp6xKlSpZ/v7+VsOGDa3PPvvMY3uHDx9uAdbhw4edphfknLP3U852paamWq+//rp1ww03WJUrV7b8/PyscuXKWV26dLGmTp1qZWZmOq0jMTHReuSRR6xy5cpZ/v7+VtOmTa0pU6Z4bLf9Wjt+/Lh1++23W6VKlbICAgKsDh06WL/88ovH/klNTbW+/PJLq1evXla5cuUsX19fKzQ01GrZsqX1zDPPWMeOHXOav7D3vOPHj1tPP/201b59e6ts2bKWn5+fVbVqVevmm2+21q1b55jv4sWL1vjx460uXbpYFSpUsPz8/KyKFStavXr1shYsWOB2XzIzM60ZM2ZYffr0cexLRESE1b17d+vzzz+30tLS3C7n6ZjnZfLkyRZgzZo1K9/LiIiIyJ/PZlm5vl8rIiIiIvIXNXnyZMdIaXt94z/DhQsXqFmzJrfeeisTJ07807YrpnTP9ddfz1NPPcXrr79e3M0RKZDOnTtz9uxZ9uzZUyQvKRUREZErQzXRRUREREQKqVSpUowdO5avvvrK7QsZpfAiIyNdXpobHR3N2LFjAQpVu1+kOCxZsoTVq1fz+uuvK0AXERG5yqkmuoiIiIhIEXj00UdJSUnh2LFjV6zW+z/ZlClTeOutt+jevTsVK1bk9OnTLFy4kHPnznH33XfToUOH4m6iSIHExMTw1ltv5evdCyIiIlK8FKKLiIiIiBSBgIAAXnjhheJuxt9Wx44dadWqFb/++isXLlzA29ubBg0a8PzzzzNq1Kjibp5Igd18883F3QQRERHJp6uqJvrKlSt588032bx5M6dPn+ann3665Ncyly9fzpgxY9i1axdVqlThueee+1PrX4qIiIiIiIiIiIjI39dVVRM9ISGBZs2a8eGHH+Zr/sOHD9OnTx+uvfZatm3bxujRoxkxYgSLFi26wi0VERERERERERERkX+Cq2okek42m+2SI9H/85//MG/ePHbu3OmYNnjwYKKjo1m4cKHbZVJSUkhJSXH8npmZyYULF4iIiMBmsxVZ+0VERERERERERETk6mVZFnFxcVSsWBEvL8/jzf/SNdHXrVtHjx49nKb17NmT0aNHe1zm1Vdf5cUXX7zCLRMRERERERERERGRv4Ljx49TuXJlj5//pUP0M2fOUK5cOadp5cqVIzY2lqSkJAIDA12WGTt2LGPGjHH8HhMTQ9WqVTl+/DhhYWFXvM0iIiIiIiIiIiIiUvxiY2OpUqUKoaGhec73lw7RL4e/vz/+/v4u08PCwhSii4iIiIiIiIiIiPzDXKrM91X1YtGCKl++PGfPnnWadvbsWcLCwtyOQhcRERERERERERERKYi/dIjeoUMHlixZ4jRt8eLFdOjQoZhaJCIiIiIiIiIiIiJ/J1dViB4fH8+2bdvYtm0bAIcPH2bbtm0cO3YMMPXM77rrLsf8DzzwAIcOHeKpp55i7969fPTRR3z//fc89thjxdF8EREREREREREREfmbuapC9E2bNtGiRQtatGgBwJgxY2jRogUvvPACAKdPn3YE6gA1atRg3rx5LF68mGbNmvH222/z+eef07Nnz2Jpv4iIiIiIiIiIiIj8vdgsy7KKuxHFKTY2lvDwcGJiYvRiUREREREREREREZF/iPxmw1fVSHQRERERERERERERkauJQnQREREREREREREREQ8UoouIiIiIiIiIiIiIeKAQXURERERERERERETEA4XoIiIiIiIiIiIiIiIeKEQXEREREREREREREfFAIbqIiIiIiIiIiIiIiAcK0UVEREREREREREREPFCILiIiIiIiIiIiIiLigUJ0EREREREREREREREPFKKLiIiIiIiIiIiIiHigEF1ERERERERERERExAOF6CIiIiIiIiIiIiIiHihEFxERERERERERERHxQCG6iIiIiIiIiIiIiIgHCtFFRERERERERERERDxQiC4iIiIiIiIiIiIi4oFCdBERERERERERERERDxSii4iIiIiIiIiIiIh4oBBdRERERERERERERMQDhegiIiIiIiIiIiIiIh4oRBcRERERERERERER8UAhuoiIiIiIiIiIiIiIBwrRRUREREREREREREQ8UIguIiIiIiIiIiIiIuKBQnQREREREREREREREQ8UoouIiIiIiIiIiIiIeKAQXURERERERERERETEA4XoIiIiIiIiIiIiIiIeKEQXEREREREREREREfFAIbqIiIiIiIiIiIiIiAcK0UVEREREREREREREPFCILiIiIiIiIiIiIiLigUJ0EREREREREREREREPFKKLiIiIiIiIiIiIiHigEF1ERERERERERERExAOF6CIiIiIiIiIiIiIiHihEFxERERERERERERHxQCG6iIiIiIiIiIiIiIgHCtFFRERERERERERERDxQiC4iIiIiIiIiIiIi4oFCdBERERERERERERERDxSii4iIiIiIiIiIiIh4oBBdRERERERERERERMQDhegiIiIiIiIiIiIiIh4oRBcRERERERERERER8UAhuoiIiIiIiIiIiIiIBwrRRUREREREREREREQ8UIguIiIiIiIiIiIiIuKBQnQREREREREREREREQ8UoouIiIiIiIiIiIiIeKAQXURERERERERERETEA4XoIiIiIiIiIiIiIiIeKEQXEREREREREREREfFAIbqIiIiIiIiIiIiIiAcK0UVEREREREREREREPFCILiIiIiIiIiIiIiLigUJ0EREREREREREREREPFKKLiIiIiIiIiIiIiHigEF1ERERERERERERExAOF6CIiIiIiIiIiIiIiHihEFxERERERERERERHxQCG6iIiIiIiIiIiIiIgHCtFFRERERERERERERDxQiC4iIiIiIiIiIiIi4oFCdBERERERERERERERDxSii4iIiIiIiIiIiIh4oBBdRERERERERERERMQDhegiIiIiIiIiIiIiIh4oRBcRERERERERERER8UAhuoiIiIiIiIiIiIiIBwrRRUREREREREREREQ8UIguIiIiIiIiIiIiIuKBQnQREREREREREREREQ8UoouIiIiIiIiIiIiIeKAQXURERERERERERETEA4XoIiIiIiIiIiIiIiIeKEQXEREREREREREREfFAIbqIiIiIiIiIiIiIiAcK0UVEREREREREREREPFCILiIiIiIiIiIiIiLigUJ0EREREREREREREREPFKKLiIiIiIiIiIiIiHigEF1ERERERERERERExAOF6CIiIiIiIiIiIiIiHihEFxERERERERERERHxQCG6iIiIiIiIiIiIiIgHCtFFRERERERERERERDxQiC4iIiIiIiIiIiIi4oFCdBERERERERERuSrMYTmtGcwclud7mX48RD8eunKN+ps5xTlaM5jxfOQ0fTwf0ZrBnOJcgdb3Nl9xHf8igaSibKZcYQU93p7Om7+SEYxjOM9e1rIK0UVERERERERERKTAjnGaGfzCMPoSTGBxN0ckTyMZxC4Osoi1BV7W5wq0R0RERERERERE5E/xMc8VdxP+UspSih94mxCCCr2uz/kRH3y4lRuKoGVyNSvK86a4tKUJ9anBp8zgBjpgw5bvZTUSXURERERERERE/rIqU57KlC/uZvxl+OBDdSpRmpKFWk80cfzKeq6ljUah/wMU1XlT3G6kE8c4zW/sLNByGokuIiIiIiIiIv8Im9jFA7zEv7iF9jTlI6azh0P44UsP2jOaYQTgx2q28AU/8QfHCCKAPnThQQbjg7djXfEk8gOLWcs2jnGGaGIpQRhtacxIbnEJdT9lBhOZySc8TxQX+Zo5HOUUIQRzPe15iCEE4Oe0TDoZfMMcZrGUSC5SllL051qupwMDeJS+dGE8oxzz2+uCT+V1PmI6K9lEFNE8x0j60Q2AlWxmCvPYy2HSSacqFehDVwbTy7F/p4nkJh6hFQ35hOdd+jGddHrybwLwZQ4f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BE3KZM/r7w2fXA9f7TL7NXWPCRhbloN7G0PzKxQMDqhjvsmw4FDBQ/SIQPjkBvNwYv1p8D4DrcvD5BtNYOopRO9e1dTg/3KHeaAQ4GOuiwdbZo90zinUD97pDu9shll/QHKGKf8xspl5uJWTnze8dx38fADmHTT3gLQMcy7XDIeb65rR90WlcWm4r4n55sl3e835260qPNLSPBS4lNvqmRH00/eafQvxMw+PHmppHsQV1qWul/HXmPvF0mOmDeWDzcOduxu7v/bzupY9KRkAX/U259mK4+Y+Y/9mxb+aFk35lVPxpvzT4AbmWhIRkb8Em2VZl/FduL+P2NhYwsPDiYmJISws7NILiIiIiIhIwY1cZILKTXcVd0vkr+z51WYk9Zxbrsxo97+jTWfggV9MCHx/8+JujXy01Xwr4of++Xt4ISIiV1R+s2HVRBcREREREZG/hlHNTR3u6XuLuyUiBRebYs7dQXUVoIuI/MWonIuIiIiIiIj8NVQIMWU9zhfhCzdF/iyn4mFIg/yVrxIRkauKQnQRERERERH567i+enG3QOTy1I8wf0RE5C9HNdFVE11ERERERERERETkH0c10UVERERERERERERECkkhuoiIiIiIiIiIiIiIBwrRRUREREREREREREQ8UIguIiIiIiIiIiIiIuKBQnQREREREREREREREQ8UoouIiIiIiIiIiIiIeKAQXURERERERERERETEA4XoIiIiIiIiIiIiIiIeKEQXEREREREREREREfFAIbqIiIiIiIiIiIiIiAcK0UVEREREREREREREPFCILiIiIiIiIiIiIiLigUJ0EREREREREREREREPFKKLiIiIiIiIiIiIiHigEF1ERERERERERERExAOF6CIiIiIiIiIiIiIiHihEFxERERERERERERHx4KoL0T/88EOqV69OQEAA7dq1Y+PGjXnO/84771CvXj0CAwOpUqUKjz32GMnJyX9Sa0VERERERERERETk7+yqCtGnT5/OmDFjGDduHFu2bKFZs2b07NmTc+fOuZ1/6tSpPP3004wbN449e/bwxRdfMH36dJ555pk/ueUiIiIiIiIiIiIi8ndksyzLKu5G2LVr1442bdrwwQcfAJCZmUmVKlV4+OGHefrpp13mf+ihh9izZw9LlixxTHv88cfZsGEDq1evdruNlJQUUlJSHL/HxsZSpUoVYmJiCAsLK+I9EhEREREREREREZGrUWxsLOHh4ZfMhq+akeipqals3ryZHj16OKZ5eXnRo0cP1q1b53aZjh07snnzZkfJl0OHDjF//nx69+7tcTuvvvoq4eHhjj9VqlQp2h0RERERERERERERkb8Nn+JugF1UVBQZGRmUK1fOaXq5cuXYu3ev22WGDBlCVFQUnTp1wrIs0tPTeeCBB/Is5zJ27FjGjBnj+N0+El1EREREREREREREJLerZiT65Vi+fDmvvPIKH330EVu2bOHHH39k3rx5vPTSSx6X8ff3JywszOmPiIiIiIiIiIiIiIg7V81I9NKlS+Pt7c3Zs2edpp89e5by5cu7Xeb5559n2LBhjBgxAoAmTZqQkJDAyJEjefbZZ/Hy+ks/IxARERERERERERGRYnbVpMx+fn60atXK6SWhmZmZLFmyhA4dOrhdJjEx0SUo9/b2BuAqel+qiIiIiIiIiIiIiPxFXTUj0QHGjBnD8OHDad26NW3btuWdd94hISGBe+65B4C77rqLSpUq8eqrrwLQr18//ve//9GiRQvatWvHgQMHeP755+nXr58jTBcRERERERERERERuVxXVYh+++23ExkZyQsvvMCZM2do3rw5CxcudLxs9NixY04jz5977jlsNhvPPfccJ0+epEyZMvTr148JEyYU1y6IiIiIiIiIiIiIyN+IzfqH1z2JjY0lPDycmJgYvWRURERERERERERE5B8iv9nwVVMTXURERERERERERETkaqMQXURERERERERERETEA4XoIiIiIiIiIiIiIiIeKEQXEREREREREREREfFAIbqIiIiIiIiIiIiIiAcK0UVEREREREREREREPFCILiIiIiIiIiIiIiLigUJ0EREREREREREREREPFKKLiIiIiIiIiIiIiHigEF1ERERERERERERExAOF6CIiIiIiIvKXdJaRHKN1cTfDraulbcdozVlGOk2L5lOO0ZpkNhVoXbFM5RjtSedUUTbxsp2kHyfpV9zNcMtd26L5iON0IYPzxdQqERG5XArRRURERERERCRPmcQSyxeEcBM+VCzu5vwlhXEnYCOGT4u7KSIiUkA+xd0AEREREREREbkyKvADNgIKvZ5YppJJDKHcVQSt+mfyIowQBhDHd4RxDz5UKO4miYhIPmkkuoiIiIiIiMjflC/V8aF8odZh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Qw8xatQoXn/9dRISEgDIzMxk/fr19OnTh9mzZ/Pwww/na0dFRERERERERERERE43h9PpdIbyxv/85z8MHjwYp9NJZmYmYWFhOJ1OwsLCeOWVV3jyySfzu6+nRGJiIrGxsSQkJBATE1PQ3RERERERERERERGR0yDY2HDIQXSArVu38uOPP7J+/XoyMzOpUaMGN9xwA9WrVw+1ydNOQXQRERERERERERGR889pCaKfCxREFxERERERERERETn/BBsbjsjLTpYvX8748ePZvHkzANWqVeOqq66iUaNGeWlWREREREREREREROSMEFImekpKCnfffTdfffVVVh10sMlFHQ4HvXv35pNPPiEqKirfO5zflIkuIiIiIiIiIiIicv4JNjYcFkrjTz75JF9++SX//ve/WbVqFcnJyaSkpLBq1Sruuecevv76a5544omQOy8iIiIiIiIiIiIiciYIKRM9Li6Orl278sUXX/hd36dPH37//Xf279+f5w6easpEFxERERERERERETn/nNJM9LS0NC666KKA69u0aUN6enooTYuIiIiIiIiIiIiInDFCCqJ37tyZiRMnBlw/YcIEOnXqFHKnRERERERERERERETOBBHBbHTw4EGvf7/88svcfPPN3HDDDdx3333UrFkTgHXr1jFs2DC2bNnC6NGj87+3IiIiIiIiIiIiIiKnUVA10cPCwnA4HF7L3G8LtDwsLOysKOmimugiIiIiIiIiIiIi559gY8NBZaI///zzPsFyEREREREREREREZFzXVCZ6OcyZaKLiIiIiIiIiIiInH+CjQ2HNLGoiIiIiIiIiIiIiMj5IKhyLoH89ddfLFq0iISEBDIzM73WORwOnnvuuTx1TkRERERERERERESkIIVUzuXgwYN07dqVefPm4XQ6cTgcXhONupdlZGTke4fzm8q5iIiIiIiIiIiIiJx/Tmk5l8cff5xly5bx7bffsnHjRpxOJxMnTmTt2rXcc889NGnShJ07d4bceRERERERERERERGRM0FIQfTx48dz991307NnT4oXL24NhYVRs2ZNhg0bRtWqVXnooYfys58iIiIiIiIiIiIiIqddSEH0w4cP06BBAwCKFSsGQFJSUtb6Tp06MXHixHzonoiIiIiIiIiIiIhIwQkpiF6+fHl2794NQHR0NPHx8SxdujRr/Y4dO3A4HPnTQxER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dCAuLo5evXrx1VdfsW/fvlPZVxERERERERERERGR0yrkiUUBNm/ezNixYxk/fjzTpk0jNTWVFi1a0LVrV7p06ULz5s3zs6+nhCYWFRERERERERERETn/BBsbzlMQ3dPx48eZPHkyv//+O+PHj2fLli2ULVuWd955h549e+bHLk4JBdFFREREREREREREzj/BxoaDnlj0ZAoXLpw1+SjAypUrGTduHOHh4fm1CxERERERERERERGR0yqkIHr16tUZMmQI1157rd/1Y8eOZeDAgWzcuDFPnRMRERERERERERERKUhBTyzqafPmzSQlJQVcn5SUxJYtW0LulIiIiIiIiIiIiIjImSCkIDqAw+EIuG7+/PmUKFEi1KZFRERERERERERERM4IQQfR3333XapXr0716tVxOBw89NBDWf/2/LrgggsYMmQIXbp0OZX9FhEREREROW0+4nta0IsFrCjormS5hvu5hvsLtA872UsLejGYD7yWD+YDWtCLnezNVXv/xxdcwZ0c5XjIfRrDNFrQizFMC7mNc0lu7pMFrKAFvfiI709xr4IX6F5K4hhvMYJreYDW9KYFvVjD5oLpZJCe4326cT8ppBZ0V0REJJeCrokeHx9PgwYNACvnUqFCBSpUqOC1jcPhoGjRojRv3px77703f3sqIiIiIiIi56yt7OJ7/uAebqYohQu6O6fUYD5gLDP4jfcoT3xBd+es9B7f8hN/0pZmXM2lhBHGBZQo6G6d0ABu4GYeYyS/czvXFXR3REQkF4IOot9yyy3ccsstAFx22WU8++yzXHHFFaesYyIiIiIiInJmi6cUP/B/FKNIntv6hJ+IIIKb6JQPPZNz3SwWUZlyvMMTBd2VoFWhPO1owQh+pSedKUyhgu6SiIgEKaSa6FOnTlUAXURERERE5DwXQQRVqUAcJfPUzmGO8CdzuIyW53wWuuSPfRwi7gzPPPenC5eSxDEm8ndBd0VERHIh6Ex0T6NGjWLChAmMGDHC7/p+/fpx9dVXc/PNN+elbyIiIiIiIic1hmm8yIe8wD1cQwevdQtYwT28zJ304G5uylregl40ox4vcz/v8g1z+YdkUqhDVe7mJlrTKKh9/8pUprOAdWzhAAkUIor61OB2rqMFDQL2pS3NeJ9RLGcdDhy0pCGP0MdvaY9pLOAzfmID2yhKEdrRnIHcmqtzlEkmvzGN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9VYOHDhAeno6d999N/3798/PfoqIiIiIiIiIiIiInHYOp9PpDPXNs2bN4ocffmDdunVkZmZSo0YNbr75Ztq1a5effTylgp2BVURERERERERERETOHcHGhvMURD8XKIguIiIiIiIiIiIicv4JNjYcdhr7JCIiIiIiIiIiIiJyVgmqJnq1atUICwtj9erVREZGUq1aNRwOx8kbj4ggLi6Ojh07MmjQIIoUKZLnDouIiIiIiIiIiIiInC5BBdHbt2+Pw+EgLCzM698nk5GRwa5du3j99dfZtm0bn3/+ed56KyIiIiIiIiIiIiJyGp2WmugvvfQSQ4cOZd++fad6V7mmmugiIiIiIiIiIiIi559gY8NBZaLnVffu3TnP5y8VERERERERERERkbNQyEH0lJQUhg8fzvjx49m8eTMAVatWpUuXLgwYMIBChQplbduoUSMaNWqU586KiIiIiIiIiIiIiJxOYaG8afv27TRp0oSBAweydOlSSpcuTenSpVm6dCkDBw6kSZMmbN++Pb/7KiIiIiIiIiIiIiJyWoUURL/vvvvYsmUL3333HTt27GD69OlMnz6dHTt2MHr0aLZu3cp9992X330VERERERERERERETmtQirnMnnyZB5++GFuvPFGn3U33XQTixYtYujQoXnunIiIiIiIiIiIiIhIQQopE7148eLEx8cHXF+2bFmKFy8ecqdERERERERERERERM4EIQXR+/Xrx4gRIzh27JjPuqSkJD7//HP69++f586JiIiIiIiIiIiIiBSkoMq5/PTTT17/btq0KePGjaNu3br861//ombNmgCsW7eOL7/8klKlSnHhhRfmf29FRERERERERERERE4jh9PpdJ5so7CwMBwOB+5NPb8P2LDDQUZGRv708hRKTEwkNjaWhIQEYmJiCro7IiIiIiIiIiIiInIaBBsbDioTferUqfnWMRERERERERERERGRs0VQQfT27duf6n6IiIiIiIiIiIiIiJxxQppYVERERERERERERETkfBBUJnpOl19++Um3cTgcTJ48OZTmRURERERERERERETOCCEF0TMzM3E4HF7LMjIy2LJlC9u2baNmzZpUqFAhXzooIiIiIiIiIiIiIlJQQgqiT5s2LeC6sWPHctddd/H222+H2icRERERERERERERkTNCvtdE79atG7fddhsPPfRQfjctIiIiIiIiIiIiInJanZKJRWvUqMH8+fNPRdMiIiIiIiIiIiIiIqdNvgfR09PT+e6774iLi8vvpkVERERERERERERETquQaqLfcccdfpcfPnyYOXPmsHv3btVEFxEREREREREREZGzXkhB9ClTpuBwOLyWORwOSpYsyaWXXsqAAQPo1KlTvnRQRERERERERERERKSghBRE37x5cz53Q0RERERERERERETkzHNKJhYVERERERERERERETkXhBREX7JkCSNHjvRaNnHiRNq1a0fr1q15991386VzIiIiIiIiIiIiIiIFKaQg+hNPPMHo0aOz/r1p0ya6d+/Opk2bAHjkkUf4+OOP86eHIiIiIiIiIiIiIiIFJKQg+tKlS7n00kuz/v3ll18SHh7O4sWLmTt3LjfeeCMffvhhvnVSRERERERERERERKQghBRET0hI4IILLsj69/jx47nyyiuJi4sD4Morr2T9+vX500MRERERERERERERkQISUhC9XLlyrFq1CoBdu3axcOFCOnXqlLU+KSmJsDDNWSoiIiIiIiIiIiIiZ7eIUN503XXXMXToUJKTk5k7dy7R0dF07949a/3SpUupXr16vnVSRERERERERERERKQghBREf+WVV9i3bx9fffUVJUqUYMSIEZQpUwaAxMREfvjhB+6777587aiIiIiIiIiIiIiIyOnmcDqdzvxsMDMzkyNHjlCkSBEiIyPzs+lTIjExkdjYWBISEoiJiSno7oiIiIiIiIiIiIjIaRBsbDikTPQTCQsLIzY2Nr+bFRERERERERERERE57TT7p4iIiIiIiIiIiIhIAAqii4iIiIiIiIiIiIgEoCC6iIiIiIiIiIiIiEgACqKLiIiIiIiIiIiIiASgILqIiIiIiIiIiIiISAAKoouIiIiIiIiIiIiIBKAguoiIiIiIiIiIiIhIAAqii4iIiIiIiIiIiIgEoCC6iIiIiIiIiIiIiEgACqKLiIiIiIiIiIiIiASgILqIiIiIiIiIiIiISAAKoouIiIiIiIiIiIiIBKAguoiIiIiIiIiIiIhIAAqii4iIiIiIiIiIiIgEoCC6iIiIiIiIiIiIiEgACqKLiIiIiIiIiIiIiASgILqIiIiIiIiIiIiISAAKoouIiIiIiIiIiIiIBKAguoiIiIiIiIiIiIhIAAqii4iIiIiIiIiIiIgEoCC6iIiIiIiI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BwAAAAAAAADABkJ0AAAAAAAAAABsIEQHAAAAAAAAAMAGQnQAAAAAAAAAAGwgRAcAAAAAAAAAwAZCdAAAAAAAAAAAbCBEBwAAAAAAAADABkJ0AAAAAAAAAABsIEQHAAAAAAAAAMAGQnQAAAAAAAAAAGwgRAcAAAAAAAAAwAZCdAAAAAAAAAAAbCBEBwAAAAAAAADABkJ0AAAAAAAAAABsIEQHAAAAAAAAAMAGQnQAAAAAAAAAAGwgRAcAAAAAAAAAwAZCdAAAAAAAAAAAbCBEBwAAAAAAAADABkJ0AAAAAAAAAABsIEQHAAAAAAAAAMAGQnQAAAAAAAAAAGwgRAcAAAAAAAAAwAZCdAAAAAAAAAAAbCBEBwAAAAAAAADABkJ0AAAAAAAAAABsIEQHAAAAAAAAAMAGQnQAAAAAAAAAAGwgRAcAAAAAAAAAwAZCdAAAAAAAAAAAbCBEBwAAAAAAAADABkJ0AAAAAAAAAABsIEQHAAAAAAAAAMAGQnQAAAAAAAAAAGwgRAcAAAAAAAAAwAZCdAAAAAAAAAAAbCBEBwAAAAAAAADABkJ0AAAAAAAAAABsIEQHAAAAAAAAAMAGQnQAAAAAAAAAAGwgRAcAAAAAAAAAwAZCdAAAAAAAAAAAbCBEBwAAAAAAAADABkJ0AAAAAAAAAABsIEQHAAAAAAAAAMAGQnQAAAAAAAAAAGwgRAcAAAAAAAAAwAZCdAAAAAAAAAAAbCBEBwAAAAAAAADABkJ0AAAAAAAAAABsIEQHAAAAAAAAAMAGQnQAAAAAAAAAAGwgRAcAAAAAAAAAwAZCdAAAAAAAAAAAbCBEBwAAAAAAAADABkJ0AAAAAAAAAABsIEQHAAAAAAAAAMAGQnQAAAAAAAAAAGwgRAcAAAAAAAAAwAZCdAAAAAAAAAAAbCBEBwAAAAAAAADABkJ0AAAAAAAAAABsIEQHAAAAAAAAAMAGQnQAAAAAAAAAAGwgRAcAAAAAAAAAwAZCdAAAAAAAAAAAbCBEBwAAAAAAAADABkJ0AAAAAAAAAABsIEQHAAAAAAAAAMAGQnQAAAAAAAAAAGwgRAcAAAAAAAAAwAZCdAAAAAAAAAAAbCBEBwAAAAAAAADABkJ0AAAAAAAAAABsIEQHAAAAAAAAAMAGQnQAAAAAAAAAAGwgRAcAAAAAAAAAwAZCdAAAAAAAAAAAbCBEBwAA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" - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "execution_count": 24 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:05:01.669339Z", - "start_time": "2024-11-11T23:05:01.667092Z" - } - }, - "cell_type": "code", - "source": "", - "id": "14801c96f3dced35", - "outputs": [], - "execution_count": null - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:05:01.702596Z", - "start_time": "2024-11-11T23:05:01.700273Z" - } - }, - "cell_type": "code", - "source": "", - "id": "9392b9b75b6bb0fe", - "outputs": [], - "execution_count": null - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 2 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.6" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/notebooks/environmental_context_value_sets/soil/env_broad_scale/post_google_sheets_soil_env_broad_scale.ipynb b/notebooks/environmental_context_value_sets/soil/env_broad_scale/post_google_sheets_soil_env_broad_scale.ipynb index 2243d2e6..d51d2d9f 100644 --- a/notebooks/environmental_context_value_sets/soil/env_broad_scale/post_google_sheets_soil_env_broad_scale.ipynb +++ b/notebooks/environmental_context_value_sets/soil/env_broad_scale/post_google_sheets_soil_env_broad_scale.ipynb @@ -6,8 +6,8 @@ "metadata": { "collapsed": true, "ExecuteTime": { - "end_time": "2024-11-11T23:05:19.527616Z", - "start_time": "2024-11-11T23:05:16.786619Z" + "end_time": "2024-12-17T18:47:02.471209Z", + "start_time": "2024-12-17T18:46:57.308263Z" } }, "source": [ @@ -18,11 +18,17 @@ "outputs": [], "execution_count": 1 }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "The environmental triad squad voted on potential classes for the soil env_broad_scale value set and came to the conclusion that all terrestrial biomes should be included, without exception.", + "id": "ec993cf1bbd2fccc" + }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-11T23:05:19.534461Z", - "start_time": "2024-11-11T23:05:19.531379Z" + "end_time": "2024-12-17T18:47:02.476656Z", + "start_time": "2024-12-17T18:47:02.473341Z" } }, "cell_type": "code", @@ -34,8 +40,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2024-11-11T23:05:19.596598Z", - "start_time": "2024-11-11T23:05:19.593392Z" + "end_time": "2024-12-17T18:47:02.480794Z", + "start_time": "2024-12-17T18:47:02.478064Z" } }, "cell_type": "code", @@ -47,8 +53,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2024-11-11T23:05:19.639347Z", - "start_time": "2024-11-11T23:05:19.636426Z" + "end_time": "2024-12-17T18:47:02.485919Z", + "start_time": "2024-12-17T18:47:02.483403Z" } }, "cell_type": "code", @@ -60,8 +66,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2024-11-11T23:05:19.685332Z", - "start_time": "2024-11-11T23:05:19.682151Z" + "end_time": "2024-12-17T18:47:02.489844Z", + "start_time": "2024-12-17T18:47:02.487318Z" } }, "cell_type": "code", @@ -73,8 +79,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2024-11-11T23:05:19.761160Z", - "start_time": "2024-11-11T23:05:19.730109Z" + "end_time": "2024-12-17T18:47:02.532066Z", + "start_time": "2024-12-17T18:47:02.491356Z" } }, "cell_type": "code", @@ -86,8 +92,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2024-11-11T23:05:19.779780Z", - "start_time": "2024-11-11T23:05:19.776929Z" + "end_time": "2024-12-17T18:47:02.536340Z", + "start_time": "2024-12-17T18:47:02.533701Z" } }, "cell_type": "code", @@ -99,8 +105,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2024-11-11T23:05:19.887020Z", - "start_time": "2024-11-11T23:05:19.823079Z" + "end_time": "2024-12-17T18:47:02.718984Z", + "start_time": "2024-12-17T18:47:02.537862Z" } }, "cell_type": "code", @@ -130,8 +136,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2024-11-11T23:05:19.900852Z", - "start_time": "2024-11-11T23:05:19.896398Z" + "end_time": "2024-12-17T18:47:02.725056Z", + "start_time": "2024-12-17T18:47:02.720703Z" } }, "cell_type": "code", @@ -161,8 +167,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2024-11-11T23:05:19.965593Z", - "start_time": "2024-11-11T23:05:19.941550Z" + "end_time": "2024-12-17T18:47:02.771079Z", + "start_time": "2024-12-17T18:47:02.733426Z" } }, "cell_type": "code", @@ -183,8 +189,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2024-11-11T23:05:19.992809Z", - "start_time": "2024-11-11T23:05:19.988932Z" + "end_time": "2024-12-17T18:47:02.799Z", + "start_time": "2024-12-17T18:47:02.790977Z" } }, "cell_type": "code", @@ -196,8 +202,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2024-11-11T23:05:20.042507Z", - "start_time": "2024-11-11T23:05:20.037299Z" + "end_time": "2024-12-17T18:47:03.455504Z", + "start_time": "2024-12-17T18:47:03.446774Z" } }, "cell_type": "code", @@ -207,17 +213,12 @@ "execution_count": 12 }, { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:05:20.086613Z", - "start_time": "2024-11-11T23:05:20.084242Z" - } - }, + "metadata": {}, "cell_type": "code", - "source": "", - "id": "7df6bc0f2ce3bc0a", "outputs": [], - "execution_count": null + "execution_count": null, + "source": "", + "id": "aef150b0e647393f" } ], "metadata": { diff --git a/notebooks/environmental_context_value_sets/soil/env_broad_scale/post_google_sheets_soil_env_broad_scale.tsv b/notebooks/environmental_context_value_sets/soil/env_broad_scale/post_google_sheets_soil_env_broad_scale.tsv index 90f5d1b1..740ba40b 100644 --- a/notebooks/environmental_context_value_sets/soil/env_broad_scale/post_google_sheets_soil_env_broad_scale.tsv +++ b/notebooks/environmental_context_value_sets/soil/env_broad_scale/post_google_sheets_soil_env_broad_scale.tsv @@ -1,53 +1,53 @@ id label ENVO:01000195 flooded grassland biome -ENVO:01000250 subpolar coniferous forest biome -ENVO:01000218 xeric shrubland biome -ENVO:01000175 woodland biome -ENVO:01000174 forest biome -ENVO:01000216 montane shrubland biome -ENVO:01000198 mixed forest biome -ENVO:01000228 tropical moist broadleaf forest biome -ENVO:01001798 tropical mixed forest biome -ENVO:01000211 temperate coniferous forest biome -ENVO:01000210 tropical coniferous forest biome -ENVO:01000213 subtropical shrubland biome ENVO:01000196 coniferous forest biome -ENVO:01000229 mediterranean savanna biome -ENVO:01000219 anthropogenic terrestrial biome -ENVO:01000245 cropland biome -ENVO:01000193 temperate grassland biome -ENVO:01001369 tidal mangrove shrubland +ENVO:01000176 shrubland biome ENVO:01000226 subtropical moist broadleaf forest biome -ENVO:01000209 subtropical coniferous forest biome -ENVO:01000177 grassland biome -ENVO:01001505 alpine tundra biome -ENVO:01000208 mediterranean woodland biome -ENVO:01000221 temperate woodland biome -ENVO:01000223 montane savanna biome -ENVO:01000214 tropical shrubland biome -ENVO:01000227 tropical dry broadleaf forest biome +ENVO:01000202 temperate broadleaf forest biome +ENVO:01000211 temperate coniferous forest biome ENVO:01000217 mediterranean shrubland biome -ENVO:01000222 subtropical woodland biome -ENVO:01000220 tropical woodland biome -ENVO:01000176 shrubland biome +ENVO:01000188 tropical savanna biome +ENVO:01000181 mangrove biome +ENVO:01000250 subpolar coniferous forest biome +ENVO:00000446 terrestrial biome +ENVO:01000208 mediterranean woodland biome +ENVO:01000215 temperate shrubland biome +ENVO:01000209 subtropical coniferous forest biome +ENVO:01000212 temperate mixed forest biome +ENVO:01000210 tropical coniferous forest biome ENVO:01000192 tropical grassland biome +ENVO:01001505 alpine tundra biome +ENVO:01000213 subtropical shrubland biome +ENVO:01000177 grassland biome +ENVO:01000180 tundra biome ENVO:01000194 montane grassland biome -ENVO:01000187 subtropical savanna biome +ENVO:01000201 subtropical broadleaf forest biome ENVO:01000200 tropical broadleaf forest biome -ENVO:01000224 mediterranean grassland biome -ENVO:01000181 mangrove biome -ENVO:01000188 tropical savanna biome +ENVO:01000178 savanna biome +ENVO:01000175 woodland biome +ENVO:01000223 montane savanna biome +ENVO:01000216 montane shrubland biome +ENVO:01000218 xeric shrubland biome +ENVO:01000174 forest biome ENVO:01000247 rangeland biome +ENVO:01000220 tropical woodland biome +ENVO:01000193 temperate grassland biome +ENVO:01000221 temperate woodland biome +ENVO:01000227 tropical dry broadleaf forest biome +ENVO:01001369 tidal mangrove shrubland +ENVO:01000214 tropical shrubland biome +ENVO:01000199 mediterranean forest biome +ENVO:01000229 mediterranean savanna biome +ENVO:01000245 cropland biome +ENVO:01000198 mixed forest biome ENVO:01000225 subtropical dry broadleaf forest biome +ENVO:01001798 tropical mixed forest biome +ENVO:01000224 mediterranean grassland biome +ENVO:01000191 subtropical grassland biome +ENVO:01000219 anthropogenic terrestrial biome +ENVO:01000222 subtropical woodland biome +ENVO:01000228 tropical moist broadleaf forest biome ENVO:01000189 temperate savanna biome -ENVO:01000202 temperate broadleaf forest biome -ENVO:01000212 temperate mixed forest biome -ENVO:01000199 mediterranean forest biome -ENVO:01000197 broadleaf forest biome -ENVO:01000180 tundra biome ENVO:01000190 flooded savanna biome -ENVO:01000178 savanna biome -ENVO:01000201 subtropical broadleaf forest biome -ENVO:01000191 subtropical grassland biome -ENVO:00000446 terrestrial biome -ENVO:01000215 temperate shrubland biome +ENVO:01000197 broadleaf forest biome +ENVO:01000187 subtropical savanna biome diff --git a/notebooks/environmental_context_value_sets/soil/env_local_scale/.gitignore b/notebooks/environmental_context_value_sets/soil/env_local_scale/.gitignore new file mode 100644 index 00000000..d01f5cc3 --- /dev/null +++ b/notebooks/environmental_context_value_sets/soil/env_local_scale/.gitignore @@ -0,0 +1 @@ +env-context-voting-sheets-29d0d970ca1d.json diff --git a/notebooks/environmental_context_value_sets/soil/env_local_scale/post_google_sheets_soil_env_local_scale.ipynb b/notebooks/environmental_context_value_sets/soil/env_local_scale/post_google_sheets_soil_env_local_scale.ipynb index 5437cf63..81ce06b9 100644 --- a/notebooks/environmental_context_value_sets/soil/env_local_scale/post_google_sheets_soil_env_local_scale.ipynb +++ b/notebooks/environmental_context_value_sets/soil/env_local_scale/post_google_sheets_soil_env_local_scale.ipynb @@ -1,951 +1,2417 @@ { "cells": [ { - "cell_type": "code", - "id": "initial_id", "metadata": { - "collapsed": true, "ExecuteTime": { - "end_time": "2024-11-08T21:18:01.979181Z", - "start_time": "2024-11-08T21:17:57.858645Z" + "end_time": "2024-12-17T19:30:49.993185Z", + "start_time": "2024-12-17T19:30:45.146376Z" } }, + "cell_type": "code", "source": [ - "from oaklib import get_adapter\n", - "from oaklib.datamodels.vocabulary import IS_A, PART_OF\n", + "import gspread\n", + "from google.oauth2.service_account import Credentials\n", + "\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "\n", + "import numpy as np\n", + "\n", + "from linkml_runtime.utils.schemaview import SchemaView\n", + "import re\n", "\n", - "import csv\n", - "import pandas as pd" + "import pprint\n", + "\n", + "from oaklib import get_adapter\n", + "from oaklib.datamodels.vocabulary import IS_A" ], + "id": "7c0c89547933adc0", "outputs": [], "execution_count": 1 }, + { + "metadata": {}, + "cell_type": "markdown", + "source": [ + "The environmental triad squad did thorough voting on the classes to include in the soil env_local_scale value set\n", + "\n", + "https://docs.google.com/spreadsheets/d/1epul_bXtEOlmIZYNRhngulI3-HaHhe_tU_BPUia5isQ/edit?gid=154155133#gid=154155133\n", + "\n", + "After that, MAM wrote a notebook that tried to generalize the insights from those votes.\n", + "\n", + "https://github.com/microbiomedata/submission-schema/blob/v11.2.0/notebooks/environmental_context_value_sets/soil/env_local_scale/post_google_sheets_soil_env_local_scale.ipynb\n", + "\n", + "The output of that notebook deviated significantly from the votes, so this new notebook has been written to generate output that is more aligned with the votes.\n", + "\n", + "Each person's vote for a class can be -1 (don't include it in the value set), 0 (or blank, meaning I don't have a strong opinion) or +1 (include it in the value set). The votes from all of the squad members are aggregated with two metrics: the sum of the votes and the inter annotator score. The IAA values gave usuful perspectives to the voting process, but CJM has suggested that the value set shouldn't be constrained by them any longer. So we have concluded that any class whose vote sum is 1 or greater should be included in the value set.\n", + "\n", + "These approved classes include some subclasses of EnvO's 'environmental zone' class, ENVO:01000408.\n", + "\n", + "See https://www.ebi.ac.uk/ols4/ontologies/envo/classes/http%253A%252F%252Fpurl.obolibrary.org%252Fobo%252FENVO_01000408?lang=en\n", + "\n", + "Most (but not all) of the environmental zones have labels that begin with 'area of...'. In general, we are including them because they share an inSubset value of 'nlcd2011', indicating that they represent land cover types specified by the USGS. \n", + "\n", + "See https://www.usgs.gov/centers/eros/science/national-land-cover-database\n", + "\n", + "MAM and CJM have raised issues with EnvO regarding two aspects of that modelling, but we still include these NLCD-inspired environmental zones while that is sorted out.\n", + "- https://github.com/EnvironmentOntology/envo/issues/1583\n", + "- https://github.com/EnvironmentOntology/envo/issues/1527" + ], + "id": "92eca3c392b22e57" + }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:01.987933Z", - "start_time": "2024-11-08T21:18:01.984270Z" + "end_time": "2024-12-17T19:30:50.001792Z", + "start_time": "2024-12-17T19:30:49.995161Z" } }, "cell_type": "code", - "source": "adapter_string = 'sqlite:obo:envo'", - "id": "2148e2b371b9d3c1", + "source": [ + "# Set your thresholds\n", + "vote_sum_threshold = 1 # Example threshold\n", + "IAA_score_threshold = 0.0 # Example threshold" + ], + "id": "c24195692682a4a0", "outputs": [], "execution_count": 2 }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:02.079740Z", - "start_time": "2024-11-08T21:18:02.075921Z" + "end_time": "2024-12-17T19:30:50.006439Z", + "start_time": "2024-12-17T19:30:50.003445Z" } }, "cell_type": "code", - "source": [ - "acceptable_prefixes = {\n", - " 'ENVO'\n", - "}" - ], - "id": "477f6f26578a06e0", + "source": "output_file = \"post_google_sheets_soil_env_local_scale.tsv\"", + "id": "6250de3178a3ec3b", "outputs": [], "execution_count": 3 }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:02.122038Z", - "start_time": "2024-11-08T21:18:02.117678Z" + "end_time": "2024-12-17T19:30:50.011926Z", + "start_time": "2024-12-17T19:30:50.009143Z" } }, "cell_type": "code", - "source": [ - "target_labels = [\n", - " 'material entity',\n", - "]\n" - ], - "id": "2b9221b70ebed187", + "source": "schema_with_mam_biased_sels_url = \"https://raw.githubusercontent.com/microbiomedata/submission-schema/refs/tags/v11.2.0/src/nmdc_submission_schema/schema/nmdc_submission_schema.yaml\"", + "id": "221edd748039ae5b", "outputs": [], "execution_count": 4 }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:02.169577Z", - "start_time": "2024-11-08T21:18:02.166684Z" + "end_time": "2024-12-17T19:30:50.016089Z", + "start_time": "2024-12-17T19:30:50.013504Z" } }, "cell_type": "code", - "source": [ - "exclusions_by_label_over_is_a = [\n", - " 'astronomical body'\n", - "]" - ], - "id": "516cd149ddc657d6", + "source": "sels_enum_name = \"EnvLocalScaleSoilEnum\"", + "id": "879dacea4e6874bc", "outputs": [], "execution_count": 5 }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "Get voting sheet directly from Google Sheets. Requires a credentials file, which must be requested from MAM.", + "id": "805032586378fa54" + }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:02.219499Z", - "start_time": "2024-11-08T21:18:02.215780Z" + "end_time": "2024-12-17T19:30:50.020182Z", + "start_time": "2024-12-17T19:30:50.017558Z" } }, "cell_type": "code", "source": [ - "exclude_by_superstring_over_is_a = [\n", - " 'UNEP-WCMC',\n", - " 'agricult',\n", - " 'anthropogenic',\n", - " 'astronomical',\n", - " 'biosphere',\n", - " 'coast',\n", - " 'construct',\n", - " 'facility',\n", - " 'feature',\n", - " 'from',\n", - " 'geographic',\n", - " 'geologic',\n", - " 'landform',\n", - " 'marine',\n", - " 'ocean',\n", - " 'pingo',\n", - " 'raised',\n", - " 'salt',\n", - " 'sea',\n", - " 'system',\n", - " 'volcanic',\n", - "]" - ], - "id": "3f2188382ffdff63", + "# 1. Replace with the path to your downloaded JSON key file\n", + "SERVICE_ACCOUNT_FILE = 'env-context-voting-sheets-29d0d970ca1d.json' \n" + ], + "id": "c03d705397a4ceb7", "outputs": [], "execution_count": 6 }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:02.269709Z", - "start_time": "2024-11-08T21:18:02.264460Z" + "end_time": "2024-12-17T19:30:50.024377Z", + "start_time": "2024-12-17T19:30:50.021672Z" } }, "cell_type": "code", "source": [ - "exclude_by_label_over_is_a_and_parts = [\n", - " 'anatomical entity environment',\n", - " 'anatomical entity',\n", - " 'animal habitation',\n", - " 'archipelago',\n", - " 'biome',\n", - " 'body of liquid',\n", - " 'building',\n", - " 'channel of a watercourse',\n", - " 'chemical entity',\n", - " 'container of an intermittent water body',\n", - " 'cryoform',\n", - " 'educational facility',\n", - " 'environmental material',\n", - " 'environmental system', # includes ecosystems\n", - " 'environmental zone',\n", - " 'fiat part of an astronomical object',\n", - " 'fluid astronomical body part', # todo gets rid of plume but also lakes, stream etc.\n", - " 'hatchery',\n", - " 'healthcare facility',\n", - " 'high-elevation mountain',\n", - " 'hospital unit facility',\n", - " 'intrusion',\n", - " 'karst',\n", - " 'layer',\n", - " 'manufactured product',\n", - " 'marine environmental zone',\n", - " 'marine layer',\n", - " 'mass of compounded environmental materials', # todo eliminates glacier\n", - " 'mass of environmental material',\n", - " 'mass of fluid',\n", - " 'meteor', # includes clouds!\n", - " 'mid-elevation mountain',\n", - " 'mineral deposit',\n", - " 'object aggregate', # esp for rain\n", - " 'organ',\n", - " 'particle',\n", - " 'pedosphere',\n", - " 'penplain',\n", - " 'piece of plastic',\n", - " 'polder',\n", - " 'pole',\n", - " 'political entity',\n", - " 'protoplanetary disk',\n", - " 'salt mass',\n", - " 'sandur',\n", - " 'seamount',\n", - " 'see cliff',\n", - " 'star', # todo for photosphere, which should have been removed by mass of environmental material\n", - " 'thermokarst',\n", - " 'volcanic feature',\n", - " 'whole plant',\n", - "]\n", - "\n", - "# todo lost rhizosphere (an environmental system) ... steppe (part of part of a biome) ...\n", - "\n", - "# todo are we really saying that we aren't interested in soil near a lake? \n" - ], - "id": "dc91a47fb8762a09", + "# Consolidated_soil-env-local-scale-evidence-table\n", + "SPREADSHEET_ID = \"1epul_bXtEOlmIZYNRhngulI3-HaHhe_tU_BPUia5isQ\"\n" + ], + "id": "f3e8d59114dba657", "outputs": [], "execution_count": 7 }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:02.320853Z", - "start_time": "2024-11-08T21:18:02.315048Z" + "end_time": "2024-12-17T19:30:50.028854Z", + "start_time": "2024-12-17T19:30:50.025916Z" } }, "cell_type": "code", - "source": [ - "keep_base_only = [\n", - " 'artificial',\n", - " 'basin'\n", - " 'beach',\n", - " 'bridge',\n", - " 'campground',\n", - " 'cave',\n", - " 'channel',\n", - " 'cliff',\n", - " 'cone',\n", - " 'conveyor',\n", - " 'crater',\n", - " 'cut',\n", - " 'dam',\n", - " 'dune',\n", - " 'fault',\n", - " 'field',\n", - " 'flood',\n", - " 'garden',\n", - " 'hill',\n", - " 'landfill',\n", - " 'market',\n", - " 'mine',\n", - " 'moraine',\n", - " 'mountain',\n", - " 'natural',\n", - " 'network',\n", - " 'oil',\n", - " 'park',\n", - " 'pipeline',\n", - " 'pit',\n", - " 'plain',\n", - " 'plane',\n", - " 'planetary',\n", - " 'pond',\n", - " 'pond',\n", - " 'prison',\n", - " 'private',\n", - " 'public',\n", - " 'pyroclastic',\n", - " 'range',\n", - " 'reactor',\n", - " 'refinery',\n", - " 'ridge'\n", - " 'rift',\n", - " 'road',\n", - " 'rock',\n", - " 'site',\n", - " 'slope',\n", - " 'tailings',\n", - " 'terrace',\n", - " 'transport',\n", - " 'tunnel',\n", - " 'valley',\n", - " 'volcano',\n", - " 'water',\n", - " 'zone',\n", - "]\n" - ], - "id": "aa150cf6ca815771", + "source": "sheet_name = 'soil-env-local-scale-evidence-t' ", + "id": "3d94133909257bc", "outputs": [], "execution_count": 8 }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:02.369295Z", - "start_time": "2024-11-08T21:18:02.365098Z" + "end_time": "2024-12-17T19:30:50.033960Z", + "start_time": "2024-12-17T19:30:50.030707Z" } }, "cell_type": "code", "source": [ - "force_back_in = [\n", - " # 'allotment garden',\n", - " # 'alluvial fan',\n", - " # 'alluvial plain',\n", - " # 'bare soil surface layer',\n", - " # 'elevated landform',\n", - " # 'paddy field',\n", - " # 'rubber plantation',\n", - " # 'swamp ecosystem',\n", - " # 'technosphere',\n", - " # 'troposhere',\n", - " 'agricultural ecosystem',\n", - " 'agricultural field',\n", - " 'dune',\n", - " 'farm',\n", - " 'forested area',\n", - " 'frozen land',\n", - " 'garden',\n", - " 'grassland area',\n", - " 'meadow ecosystem',\n", - " 'mountain',\n", - " 'orchard',\n", - " 'pasture',\n", - " 'peatland',\n", - " 'pond',\n", - " 'roadside',\n", - " 'savanna',\n", - " 'steppe',\n", - "]\n", - "\n", - "# for the sake of 'soils whose differentia can be expressed in the broad or local scale slots\n", - "\n", - "# run this after discover_excludable_soils.ipynb\n", - "# and before post_google_sheets_soil_env_medium.ipynb\n", - "\n", - "# see discover_excludable_soils.tsv with relation_is_reasonable filtered to true\n", - "# then remove blanks from sole_reasonable_other and sole_soil" - ], - "id": "63cbec0253b11d10", + "# Set up credentials\n", + "SCOPES = [\n", + " 'https://www.googleapis.com/auth/spreadsheets',\n", + " 'https://www.googleapis.com/auth/drive'\n", + "]\n" + ], + "id": "186af1435dabf25b", "outputs": [], "execution_count": 9 }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:02.419384Z", - "start_time": "2024-11-08T21:18:02.414942Z" + "end_time": "2024-12-17T19:30:50.041329Z", + "start_time": "2024-12-17T19:30:50.038678Z" } }, "cell_type": "code", - "source": [ - "force_back_in.extend([\n", - " 'active permafrost layer',\n", - " 'fen',\n", - " 'fjord',\n", - " 'glacier',\n", - " 'marsh',\n", - " 'peatland',\n", - " 'prairie',\n", - " 'rhizosphere',\n", - " 'river',\n", - " 'spring',\n", - " 'stream',\n", - " 'woodland area',\n", - "])\n", - "\n", - "# because they had 2+ upvotes" - ], - "id": "c92f84a59fa1b709", + "source": "envo_adapter_string = \"sqlite:obo:envo\"", + "id": "4711e70e218bd242", "outputs": [], "execution_count": 10 }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:02.467232Z", - "start_time": "2024-11-08T21:18:02.462864Z" + "end_time": "2024-12-17T19:30:50.045736Z", + "start_time": "2024-12-17T19:30:50.042815Z" } }, "cell_type": "code", - "source": [ - "force_back_in.extend([\n", - " 'arable land',\n", - " 'biochar',\n", - " 'flood plain',\n", - " 'forest ecosystem',\n", - " 'meadow ecosystem',\n", - " 'mine drainage',\n", - " 'oil spill',\n", - " 'pasture',\n", - " 'permafrost',\n", - " 'ranch',\n", - " 'thermokarst',\n", - " 'wetland ecosystem', \n", - "])\n", - "\n", - "# from gold terms soil exploration" - ], - "id": "101ce9770c85fab4", + "source": "ABP = 'ENVO:01000813'", + "id": "dc6f2937e0e2735d", "outputs": [], "execution_count": 11 }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:02.515265Z", - "start_time": "2024-11-08T21:18:02.511688Z" + "end_time": "2024-12-17T19:30:50.049492Z", + "start_time": "2024-12-17T19:30:50.047075Z" } }, "cell_type": "code", - "source": [ - "force_out = [\n", - " 'cut',\n", - " 'field',\n", - " 'flattened elevation',\n", - " 'market',\n", - " 'mount',\n", - " 'peak',\n", - " 'trough',\n", - " 'yard',\n", - "]\n", - "\n", - "# due to 3+ down votes" - ], - "id": "1a7e79eab8215a9c", + "source": "## code starts here", + "id": "a03e341021b73929", "outputs": [], "execution_count": 12 }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:02.568087Z", - "start_time": "2024-11-08T21:18:02.562454Z" + "end_time": "2024-12-17T19:30:50.057150Z", + "start_time": "2024-12-17T19:30:50.050937Z" } }, "cell_type": "code", "source": [ - "force_out.extend([\n", - " 'airport',\n", - " 'bike path',\n", - " 'biota',\n", - " 'bowling alley',\n", - " 'clinic',\n", - " 'endorheic basin',\n", - " 'esker'\n", - " 'fairground',\n", - " 'fomoite',\n", - " 'footbridge',\n", - " 'fossil worm burrow',\n", - " 'fountain',\n", - " 'galaxy',\n", - " 'globular star cluster',\n", - " 'handrail',\n", - " 'hangar',\n", - " 'human nursery',\n", - " 'interfluve',\n", - " 'kame',\n", - " 'kipuka',\n", - " 'limestone pavement',\n", - " 'maar',\n", - " 'machair',\n", - " 'manufactured plastisphere',\n", - " 'microfracture',\n", - " 'midden',\n", - " 'military training area',\n", - " 'moatan',\n", - " 'mofetta',\n", - " 'nebula',\n", - " 'nunatak',\n", - " 'outwash fan',\n", - " 'overflow structure',\n", - " 'patio',\n", - " 'paved parking lot',\n", - " 'petting zoo',\n", - " 'place of worship',\n", - " 'plastisphere',\n", - " 'polder',\n", - " 'processing line',\n", - " 'pseudocrater',\n", - " 'railway',\n", - " 'ria',\n", - " 'rill',\n", - " 'sandy beach',\n", - " 'shear fracture',\n", - " 'shingle beach',\n", - " 'shipwreck',\n", - " 'solfatara',\n", - " 'spur',\n", - " 'spur',\n", - " 'strand crack',\n", - " 'stratovolcano',\n", - " 'structural basin',\n", - " 'technosphere',\n", - " 'track',\n", - " 'tube well',\n", - " 'tuya',\n", - " 'unexploded-ordnance dump',\n", - "])\n", - "\n", - "# MAM judgement" - ], - "id": "95875c9016c5b9a9", + "def compare_curie_dicts(input_dict):\n", + " \"\"\"\n", + " Compares two dictionaries of curies and labels and reports differences \n", + " and common elements.\n", + "\n", + " Args:\n", + " input_dict: A dictionary with two keys representing the group labels and \n", + " the values being dictionaries of curie: label pairs.\n", + "\n", + " Returns:\n", + " A dictionary with three keys:\n", + " - 'first_only': A dictionary of curie: label pairs present only in \n", + " the first group.\n", + " - 'second_only': A dictionary of curie: label pairs present only in \n", + " the second group.\n", + " - 'shared': A dictionary of curie: label pairs present in both groups.\n", + " \"\"\"\n", + "\n", + " group1_label, group1_data = list(input_dict.items())[0]\n", + " group2_label, group2_data = list(input_dict.items())[1]\n", + "\n", + " first_only_curies = set(group1_data.keys()) - set(group2_data.keys())\n", + " second_only_curies = set(group2_data.keys()) - set(group1_data.keys())\n", + " shared_curies = set(group1_data.keys()) & set(group2_data.keys())\n", + "\n", + " first_only = {curie: group1_data[curie] for curie in first_only_curies}\n", + " second_only = {curie: group2_data[curie] for curie in second_only_curies}\n", + " shared = {curie: group1_data[curie] for curie in shared_curies}\n", + "\n", + " return {\n", + " f'{group1_label} only': first_only,\n", + " f'{group2_label} only': second_only,\n", + " 'shared': shared\n", + " }" + ], + "id": "fdc53e122d28c515", "outputs": [], "execution_count": 13 }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:02.615495Z", - "start_time": "2024-11-08T21:18:02.612617Z" + "end_time": "2024-12-17T19:30:50.065012Z", + "start_time": "2024-12-17T19:30:50.058980Z" } }, "cell_type": "code", - "source": "# model_with_local_scale_file = 'post_google_sheets_soil_env_medium_relations_no_subclasses_useful_classes_curated.tsv'", - "id": "ba10b9b104295ac9", + "source": [ + "def tabulate_core_ancestor_counts(\n", + " curies,\n", + " adapter,\n", + " predicates=[IS_A],\n", + " omit_max_count=True,\n", + " min_count_threshold=2,\n", + "):\n", + " \"\"\"\n", + " Tabulates the number of times each ancestor curie appears for a list of \n", + " input curies, with options to exclude maximum counts and a minimum count \n", + " threshold.\n", + "\n", + " Args:\n", + " curies: A list of curies to get ancestors for.\n", + " adapter: The adapter object to use for fetching ancestors (e.g., an \n", + " instance of OntoBiotopeAdapter).\n", + " predicates: A list of predicates to use for traversing the ancestor \n", + " hierarchy (default: [IS_A]).\n", + " omit_max_count: Whether to omit rows with the maximum count \n", + " (default: True).\n", + " min_count_threshold: The minimum count threshold for excluding rows \n", + " (default: 2).\n", + "\n", + " Returns:\n", + " A pandas DataFrame with three columns:\n", + " - 'ancestor_curie': The ancestor curie.\n", + " - 'ancestor_curie_label': The label of the ancestor curie.\n", + " - 'ancestor_curie_count': The number of times this ancestor appears.\n", + " \"\"\"\n", + "\n", + " ancestor_counts = {}\n", + " for curie in curies:\n", + " ancestors = adapter.ancestors(curie, predicates=predicates)\n", + " for ancestor_curie in ancestors:\n", + " if ancestor_curie not in ancestor_counts:\n", + " ancestor_counts[ancestor_curie] = {\n", + " 'ancestor_curie_label': adapter.label(ancestor_curie),\n", + " 'ancestor_curie_count': 0\n", + " }\n", + " ancestor_counts[ancestor_curie]['ancestor_curie_count'] += 1\n", + "\n", + " df = pd.DataFrame(ancestor_counts).transpose().reset_index()\n", + "\n", + " # Apply filtering\n", + " if omit_max_count:\n", + " max_count = df['ancestor_curie_count'].max()\n", + " df = df[df['ancestor_curie_count'] != max_count]\n", + "\n", + " df = df[df['ancestor_curie_count'] >= min_count_threshold]\n", + " \n", + " df = df.sort_values(by='ancestor_curie_count', ascending=False)\n", + "\n", + " return df" + ], + "id": "d7febcc529713253", "outputs": [], "execution_count": 14 }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:02.664107Z", - "start_time": "2024-11-08T21:18:02.660914Z" + "end_time": "2024-12-17T19:30:50.071045Z", + "start_time": "2024-12-17T19:30:50.066626Z" } }, "cell_type": "code", - "source": "output_file = 'post_google_sheets_soil_env_local_scale.tsv'", - "id": "1d2b4fc51e047786", + "source": [ + "\n", + "def check_descendants(curies, root_curie, adapter):\n", + " \"\"\"\n", + " Determines whether a list of curies are descendants of a given root curie.\n", + "\n", + " Args:\n", + " curies: A list of curies to check.\n", + " root_curie: The curie of the root class.\n", + " adapter: The adapter object to use for fetching ancestors and labels.\n", + "\n", + " Returns:\n", + " A pandas DataFrame with three columns:\n", + " - 'curie': The input curie.\n", + " - 'label': The label of the input curie.\n", + " - 'is_{root_label_in_snake_case}': Boolean indicating whether the \n", + " curie is a descendant of the root.\n", + " \"\"\"\n", + "\n", + " root_label_snake_case = adapter.label(root_curie).lower().replace(\" \", \"_\")\n", + " is_descendant_column = f'is_{root_label_snake_case}'\n", + "\n", + " results = []\n", + " for curie in curies:\n", + " ancestors = adapter.ancestors(curie)\n", + " is_descendant = root_curie in ancestors\n", + " results.append({\n", + " 'curie': curie,\n", + " 'label': adapter.label(curie),\n", + " is_descendant_column: is_descendant\n", + " })\n", + "\n", + " return pd.DataFrame(results)" + ], + "id": "a357338edca3ddcc", "outputs": [], "execution_count": 15 }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:02.745439Z", - "start_time": "2024-11-08T21:18:02.708325Z" + "end_time": "2024-12-17T19:30:50.111894Z", + "start_time": "2024-12-17T19:30:50.072576Z" } }, "cell_type": "code", - "source": "adapter = get_adapter(adapter_string)", - "id": "7709e378f4d117eb", + "source": "envo_adapter = get_adapter(envo_adapter_string)", + "id": "4f8b6fa589871b7e", "outputs": [], "execution_count": 16 }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:02.761184Z", - "start_time": "2024-11-08T21:18:02.757936Z" + "end_time": "2024-12-17T19:30:50.118447Z", + "start_time": "2024-12-17T19:30:50.113682Z" } }, "cell_type": "code", - "source": "targets = set()", - "id": "1bbc3b1ad9958a37", + "source": "creds = Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)", + "id": "31b015ceea314eff", "outputs": [], "execution_count": 17 }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:03.093065Z", - "start_time": "2024-11-08T21:18:02.801699Z" + "end_time": "2024-12-17T19:30:50.124435Z", + "start_time": "2024-12-17T19:30:50.120026Z" + } + }, + "cell_type": "code", + "source": "gc = gspread.authorize(creds)", + "id": "b5126af16d10a20a", + "outputs": [], + "execution_count": 18 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T19:30:50.875658Z", + "start_time": "2024-12-17T19:30:50.125942Z" } }, "cell_type": "code", "source": [ - "# accumulate subclasses of the target classes (by label)\n", - "# \n", - "for current_label in target_labels:\n", - " for class_id in adapter.basic_search(current_label):\n", - " descendant = adapter.descendants(class_id, predicates=[IS_A])\n", - " for d in descendant:\n", - " targets.add(d)\n", - "\n", - "print(len(targets))" + "# Open the spreadsheet\n", + "spreadsheet = gc.open_by_key(SPREADSHEET_ID) " + ], + "id": "e031c1fd1b45c685", + "outputs": [], + "execution_count": 19 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T19:30:51.121991Z", + "start_time": "2024-12-17T19:30:50.877541Z" + } + }, + "cell_type": "code", + "source": "sheet = spreadsheet.worksheet(sheet_name)", + "id": "1482919438c3c56e", + "outputs": [], + "execution_count": 20 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T19:30:51.511519Z", + "start_time": "2024-12-17T19:30:51.123780Z" + } + }, + "cell_type": "code", + "source": [ + "# Get data as a list of lists\n", + "data = sheet.get_all_values()" ], - "id": "5315b4280bb53a5c", + "id": "f0ca2ba213b9a728", + "outputs": [], + "execution_count": 21 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T19:30:51.521455Z", + "start_time": "2024-12-17T19:30:51.513446Z" + } + }, + "cell_type": "code", + "source": [ + "# Convert to DataFrame\n", + "df = pd.DataFrame(data[1:], columns=data[0]) " + ], + "id": "dae1c7cb972e5288", + "outputs": [], + "execution_count": 22 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T19:30:51.558019Z", + "start_time": "2024-12-17T19:30:51.525082Z" + } + }, + "cell_type": "code", + "source": "df", + "id": "c992aecaa0059f8b", "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "5132\n" - ] + "data": { + "text/plain": [ + " unique_id label all_evidence is_process \\\n", + "0 CHEBI:24632 hydrocarbon 0.003288752467 FALSE \n", + "1 CHEBI:24866 salt 0.0001096250822 FALSE \n", + "2 CHEBI:25555 nitrogen atom 0.0006577504933 FALSE \n", + "3 CHEBI:26833 sulfur atom 0.0001096250822 FALSE \n", + "4 CHEBI:33287 fertilizer 0.03672440254 FALSE \n", + "... ... ... ... ... \n", + "1224 ENVO:00000567 calanque \n", + "1225 ENVO:03500004 bike path \n", + "1226 ENVO:03501248 overpass \n", + "1227 ENVO:00000561 military training area \n", + "1228 ENVO:00000075 bridge \n", + "\n", + " is_quality is_chemical_entity is_biome is_aquatic_biome \\\n", + "0 FALSE TRUE FALSE FALSE \n", + "1 FALSE TRUE FALSE FALSE \n", + "2 FALSE TRUE FALSE FALSE \n", + "3 FALSE TRUE FALSE FALSE \n", + "4 FALSE FALSE FALSE FALSE \n", + "... ... ... ... ... \n", + "1224 \n", + "1225 \n", + "1226 \n", + "1227 \n", + "1228 \n", + "\n", + " is_terrestrial_biome is_environmental_material ... MLS_vote \\\n", + "0 FALSE FALSE ... 0 \n", + "1 FALSE FALSE ... 0 \n", + "2 FALSE FALSE ... 0 \n", + "3 FALSE FALSE ... 0 \n", + "4 FALSE FALSE ... -1 \n", + "... ... ... ... ... \n", + "1224 ... \n", + "1225 ... \n", + "1226 ... \n", + "1227 ... \n", + "1228 ... \n", + "\n", + " MLS_comments NMW_vote NMW_comment SM_vote SM_comment \\\n", + "0 0 \n", + "1 0 \n", + "2 0 \n", + "3 0 \n", + "4 \n", + "... ... ... ... ... ... \n", + "1224 \n", + "1225 \n", + "1226 \n", + "1227 \n", + "1228 \n", + "\n", + " Yes = 1 No = -1 Maybe = 0 IAA_score vote_sum was_subjected_to_voting \n", + "0 0 1 0 \n", + "1 0 1 0 \n", + "2 0 1 0 \n", + "3 0 1 0 \n", + "4 -3 0.4 -3 \n", + "... ... ... ... ... \n", + "1224 0.4 -2 FALSE \n", + "1225 0.4 -2 FALSE \n", + "1226 0.4 -2 FALSE \n", + "1227 0.4 -2 FALSE \n", + "1228 0.4 -2 FALSE \n", + "\n", + "[1229 rows x 39 columns]" + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
unique_idlabelall_evidenceis_processis_qualityis_chemical_entityis_biomeis_aquatic_biomeis_terrestrial_biomeis_environmental_material...MLS_voteMLS_commentsNMW_voteNMW_commentSM_voteSM_commentYes = 1 No = -1 Maybe = 0IAA_scorevote_sumwas_subjected_to_voting
0CHEBI:24632hydrocarbon0.003288752467FALSEFALSETRUEFALSEFALSEFALSEFALSE...00010
1CHEBI:24866salt0.0001096250822FALSEFALSETRUEFALSEFALSEFALSEFALSE...00010
2CHEBI:25555nitrogen atom0.0006577504933FALSEFALSETRUEFALSEFALSEFALSEFALSE...00010
3CHEBI:26833sulfur atom0.0001096250822FALSEFALSETRUEFALSEFALSEFALSEFALSE...00010
4CHEBI:33287fertilizer0.03672440254FALSEFALSEFALSEFALSEFALSEFALSEFALSE...-1-30.4-3
..................................................................
1224ENVO:00000567calanque...0.4-2FALSE
1225ENVO:03500004bike path...0.4-2FALSE
1226ENVO:03501248overpass...0.4-2FALSE
1227ENVO:00000561military training area...0.4-2FALSE
1228ENVO:00000075bridge...0.4-2FALSE
\n", + "

1229 rows × 39 columns

\n", + "
" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" } ], - "execution_count": 18 + "execution_count": 23 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T19:30:51.565096Z", + "start_time": "2024-12-17T19:30:51.559845Z" + } + }, + "cell_type": "code", + "source": "df.columns", + "id": "6f65055c62ac12ba", + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['unique_id', 'label', 'all_evidence', 'is_process', 'is_quality',\n", + " 'is_chemical_entity', 'is_biome', 'is_aquatic_biome',\n", + " 'is_terrestrial_biome', 'is_environmental_material', 'is_soil',\n", + " 'is_enriched_soil', 'obsolete', 'non_host_oak_queries_count',\n", + " 'historical_permissible_values_count', 'NMDC_soil_count',\n", + " 'NCBI_mims_soil_trusting_CURIe_count',\n", + " 'NCBI_mims_soil_trusting_labels_count', 'GOLD_env_terr_soil_count',\n", + " 'non_host_oak_queries_frequency',\n", + " 'historical_permissible_values_frequency', 'NMDC_soil_frequency',\n", + " 'NCBI_mims_soil_trusting_CURIe_frequency',\n", + " 'NCBI_mims_soil_trusting_labels_frequency',\n", + " 'GOLD_env_terr_soil_frequency', 'CJM_Vote', 'CJM_Comments', 'MAM vote',\n", + " 'MAM comments', 'MLS_vote', 'MLS_comments', 'NMW_vote', 'NMW_comment',\n", + " 'SM_vote', 'SM_comment', 'Yes = 1 No = -1 Maybe = 0', 'IAA_score',\n", + " 'vote_sum', 'was_subjected_to_voting'],\n", + " dtype='object')" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 24 }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:05.340276Z", - "start_time": "2024-11-08T21:18:03.117467Z" + "end_time": "2024-12-17T19:30:51.574161Z", + "start_time": "2024-12-17T19:30:51.566619Z" } }, "cell_type": "code", "source": [ - "# write the targets\n", - "#\n", - "with open('post_google_sheets_soil_env_local_scale_initial.tsv', 'w') as f:\n", - " for t in targets:\n", - " f.write(t + '\\t' + adapter.label(t) + '\\n')" + "# Convert 'vote_sum' to numeric\n", + "df['vote_sum'] = pd.to_numeric(df['vote_sum'], errors='coerce')\n", + "\n", + "# Convert 'IAA_score' to numeric\n", + "df['IAA_score'] = pd.to_numeric(df['IAA_score'], errors='coerce') \n" ], - "id": "81f451e5546cbeb2", + "id": "e0ba6cb94792c984", "outputs": [], - "execution_count": 19 + "execution_count": 25 }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:10.259513Z", - "start_time": "2024-11-08T21:18:05.345633Z" + "end_time": "2024-12-17T19:30:51.582326Z", + "start_time": "2024-12-17T19:30:51.576228Z" } }, "cell_type": "code", "source": [ - "# deplete subclasses of the exclusion classes (by label)\n", - "# \n", - "\n", - "depletion_log = []\n", - "\n", - "for current_label in exclude_by_label_over_is_a_and_parts:\n", - " for class_id in adapter.basic_search(current_label):\n", - " descendant = adapter.descendants(class_id,\n", - " predicates=[IS_A, PART_OF]) # todo be careful with part of assumptions!\n", - " for d in descendant:\n", - " if d in targets:\n", - " depletion_line = {\n", - " 'removed': adapter.label(d),\n", - " 'reason': current_label\n", - " }\n", - " # print(log_line)\n", - " depletion_log.append(depletion_line)\n", - " targets.remove(d)\n", - "\n", - "for current_label in exclusions_by_label_over_is_a:\n", - " for class_id in adapter.basic_search(current_label):\n", - " descendant = adapter.descendants(class_id, predicates=[IS_A]) # todo be careful with part of assumptions!\n", - " for d in descendant:\n", - " if d in targets:\n", - " depletion_line = {\n", - " 'removed': adapter.label(d),\n", - " 'reason': current_label\n", - " }\n", - " # print(log_line)\n", - " depletion_log.append(depletion_line)\n", - " targets.remove(d)\n", - "\n", - "# for current_label in keep_base_only:\n", - "targets_dupe = targets.copy()\n", - "for t in targets_dupe:\n", - " label = adapter.label(t)\n", - " label_words = label.split(' ')\n", - " for kbo in keep_base_only:\n", - " if kbo in label_words and len(label_words) > 1:\n", - " depletion_line = {\n", - " 'removed': label,\n", - " 'reason': f\"{t}'s label {label} contains but is not limited to {kbo}\"\n", - " }\n", - " depletion_log.append(depletion_line)\n", - " if t in targets:\n", - " targets.remove(t)\n", - "\n", - "print(len(targets))" - ], - "id": "77c441ce49ee868", + "# Add jitter to 'vote_sum' and 'IAA_score'\n", + "df['vote_sum_jittered'] = df['vote_sum'] + np.random.normal(0, 0.1, size=len(df))\n", + "df['IAA_score_jittered'] = df['IAA_score'] + np.random.normal(0, 0.01, size=len(df))\n" + ], + "id": "8efc2dffcf2aa1b9", + "outputs": [], + "execution_count": 26 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T19:30:51.808730Z", + "start_time": "2024-12-17T19:30:51.584288Z" + } + }, + "cell_type": "code", + "source": [ + "# Scatter plot with jittered values\n", + "plt.figure(figsize=(8, 6))\n", + "plt.scatter(df['vote_sum_jittered'], df['IAA_score_jittered'], alpha=0.5)\n", + "plt.xlabel('Vote Sum (Jittered)')\n", + "plt.ylabel('IAA Score (Jittered)')\n", + "plt.title('Scatter Plot of Vote Sum vs. IAA Score with Jitter')\n", + "plt.grid(True)\n", + "plt.show()" + ], + "id": "839fbdb2afd784f4", "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "505\n" - ] + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAArMAAAIjCAYAAAAQgZNYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/GU6VOAAAACXBIWXMAAA9hAAAPYQGoP6dpAAChFUlEQVR4nOzdeXxcZd3//9c5Z/ZM1ibpErq3UDZZCi0FyqIFRAQFlVXBuiuI2q+3isr+Q/T2VlFulFsQRATEWxRuBVlEkK3sFCgtSze6pE3SZpvMfs65fn9MMzZN2iYlaTLt+/l49AFz5szMlTPbe67zua7LMsYYRERERERKkD3cDRARERER2VkKsyIiIiJSshRmRURERKRkKcyKiIiISMlSmBURERGRkqUwKyIiIiIlS2FWREREREqWwqyIiIiIlCyFWREREREpWQqzIruhVatWYVkWv/3tb4e7KT08+OCDHHzwwUQiESzLor29fbibJLJHOO644zjuuOP6ve8BBxwwqI9vWRZXXHHFoN6nSDeFWSkpr7/+Oh//+MeZOHEikUiEhoYGTjjhBK6//vohe8w777yT6667rtf2xsZGrrjiChYtWjRkj721xx9/HMuyiv+CwSBTpkzh/PPPZ8WKFYPyGM888wxXXHHFoAfNTZs2ceaZZxKNRrnhhhu4/fbbKSsr67XfaaedRiwWI5FIbPO+zjvvPEKhEJs2berXYw/lc9XS0sLXvvY1ZsyYQTQapb6+nlmzZvHtb3+brq6uQX+8UnLFFVdgWRYbN27s8/ozzzwTy7L49re/3a/7mzVrFpZl8atf/WpA7dBz1NtQvicmTZrEhz/84e3us73PmR/84Afce++9g94u2Y0ZkRLx9NNPm1AoZKZNm2auvvpqc9NNN5nLLrvMnHjiiWbq1KlD9rinnHKKmThxYq/tL7zwggHMrbfeOmSPvbXHHnvMAObiiy82t99+u7nlllvMRRddZEKhkKmpqTHr1q0zxhizcuXKnW7bj3/8YwOYlStXDmrb//73vxvAPPLII9vd7w9/+IMBzG233dbn9clk0pSVlZlTTz213489VM/Vpk2bzIQJE0xVVZVZsGCB+fWvf22uvfZac84555jy8vJBP4al5vLLLzeAaWlp6XVdR0eHiUQiZtKkSWb8+PHG9/3t3tfbb79tADNp0iRz1FFH9bsNeo4KstmsyWazxcvbe08ce+yxZv/999/px5o4caI55ZRTemxLp9Mmn88XL2/vc6asrMxccMEFO/34sucJDFOGFhmwa665hsrKSl544QWqqqp6XNfc3Dw8jRoCyWSyzx7LLc2dO5ePf/zjAMyfP5+9996biy++mNtuu41LLrlkVzRzwLqfo62fu62ddtpplJeXc+edd3L++ef3uv6+++4jmUxy3nnnDUUzB+Q3v/kNq1ev5umnn+bII4/scV1nZyehUGiYWjby3XPPPXiexy233ML73/9+nnjiCY499tht7v/73/+e+vp6fvKTn/Dxj3+cVatWMWnSpB0+zkh6jvrz3h4qw/1ajEQiw/r4mUyGUCiEbeuE9G5puNO0SH/ts88+5rjjjuv3/rfffrs5/PDDTTQaNVVVVWbu3LnmoYceKl5/7733mg996ENm7NixJhQKmSlTppirrrrKuK5b3OfYY481QI9/EydOLPaQbv1vy16OZ5991px00kmmoqLCRKNRc8wxx5innnqqRxu7e67eeOMNc84555iqqipz8MEHb/Nv6n7c//3f/+2xffHixQYwn//8540x2+6ZffTRR83RRx9tYrGYqaysNKeddppZsmRJr/Zs/W9HvVd//OMfzaGHHmoikYgZNWqUOe+888zatWu3exy31/NywQUXmEAgYJqamnpd9+EPf9iUl5ebVCpljDFm+fLl5uMf/7iprq420WjUzJ492/ztb3/rdcze63PVly9+8YvGcRzjed4O9504cWKff/Oxxx5rjj322F7tvfvuu80VV1xhxo0bZ+LxuPnYxz5m2tvbTSaTMV/72tdMXV2dKSsrM5/+9KdNJpPZ7mNfeOGFpqyszCSTyV7XnX322Wb06NHF1/0LL7xgTjzxRDNq1Khiz+n8+fN3+Pf1ZXs9sx/4wAfMhz70IWOMMfvuu2/xtbst06ZNM1/5yldMNps1VVVV5pprrulXGwbyHBlTeC2cfPLJpqqqysRiMXPggQea6667rsc+O3ofGbPj9/btt99efM9UV1ebs846y6xevXq7bXv11VcNYO67777ithdffNEA5pBDDumx7wc/+EEza9as4uUtX2c7ek9098y+8cYb5rjjjjPRaNSMGzfO/OhHP+rXMeyrZxYwl19+eY9j09fnTF/bt3zfrF271syfP9/U19ebUChk9ttvP/Ob3/ymx2N1/3133XWX+d73vmfGjRtnLMsybW1t/Wq/lB71zErJmDhxIgsXLmTx4sU7HJxw5ZVXcsUVV3DkkUdy1VVXEQqFeO655/jnP//JiSeeCMBvf/tb4vE4CxYsIB6P889//pPLLruMzs5OfvzjHwPwve99j46ODtauXcvPfvYzAOLxOPvuuy9XXXUVl112GV/4wheYO3cuQLHn55///Ccnn3wyM2fO5PLLL8e2bW699Vbe//738+STTzJr1qwe7f3EJz7B9OnT+cEPfoAxZsDHZvny5QCMGjVqm/v84x//4OSTT2bKlClcccUVpNNprr/+eo466ihefvllJk2axBlnnMHbb7/NXXfdxc9+9jNqa2sBqKur2+b9/va3v2X+/PkcfvjhXHvttTQ1NfHzn/+cp59+mldeeYWqqiq+973vsc8++/DrX/+aq666ismTJzN16tRt3ud5553Hbbfdxh//+Ecuuuii4vbW1lYeeughzjnnHKLRKE1NTRx55JGkUikuvvhiRo0axW233cZpp53Gn/70J04//fRBf662NHHiRDzP4/bbb+eCCy7Y5n4749prryUajfKd73yHZcuWcf311xMMBrFtm7a2Nq644gqeffZZfvvb3zJ58mQuu+yybd7XWWedxQ033MD999/PJz7xieL2VCrFX//6Vz796U/jOA7Nzc2ceOKJ1NXV8Z3vfIeqqipWrVrFn//850H92xobG3nssce47bbbADjnnHP42c9+xn//93/32YP43HPPsWzZMm699VZCoRBnnHEGd9xxB9/97nd3+FgDeY4eeeQRPvzhDzN27Fi+9rWvMWbMGJYuXcrf/vY3vva1rwH9ex9tqa/39jXXXMOll17KmWeeyec+9zlaWlq4/vrrOeaYY4rvmb4ccMABVFVV8cQTT3DaaacB8OSTT2LbNq+++iqdnZ1UVFTg+z7PPPMMX/jCF/q8nx29JwDa2tr44Ac/yBlnnMGZZ57Jn/70J7797W9z4IEHcvLJJ+/wuG/P9j5nbr/9dj73uc8xa9asYvu7Pyuampo44ogjsCyLiy66iLq6Ov7+97/z2c9+ls7OTr7+9a/3eJyrr76aUCjEN7/5TbLZ7LD3TssQGu40LdJfDz/8sHEcxziOY+bMmWO+9a1vmYceesjkcrke+73zzjvGtm1z+umn9+qN2bIur7tnb0tf/OIXTSwW69HTNdCaWd/3zfTp081JJ53U6/EmT55sTjjhhOK27h6Kc845p1/HoLvH4ZZbbjEtLS2msbHR3H///WbSpEnGsizzwgsvGGP67pk9+OCDTX19vdm0aVNx26uvvmps2zbnn39+cdtAamZzuZypr683BxxwgEmn08Xtf/vb3wxgLrvssuK2W2+91QDFNm6P67pm7NixZs6cOT2233jjjQYo9rB//etfN4B58skni/skEgkzefJkM2nSpOLzPxjPVV82bNhg6urqDGBmzJhhvvSlL5k777zTtLe399p3oD2zBxxwQI/X9jnnnGMsyzInn3xyj9vPmTOnz9fn1n9nQ0OD+djHPtZj+x//+EcDmCeeeMIYY8xf/vKXfj9H/bGtntn/+q//MtFo1HR2dhpj/l0P+5e//KXP+7nooot61NU+/PDDBjCvvPLKDtvQ3+fIdV0zefJkM3HixF49eFu+Nvr7PtrWe3vVqlXGcZxePcuvv/66CQQCO+xxPuWUU3r0uJ5xxhnmjDPOMI7jmL///e/GGGNefvnlXj24W7/OdlQzC5jf/e53xW3ZbNaMGTOm12uoLzvqmTVm52pmP/vZz5qxY8eajRs39th+9tlnm8rKyuJnevd7aMqUKX1+zsvuR8UjUjJOOOEEFi5cyGmnncarr77Kf/7nf3LSSSfR0NDA//3f/xX3u/fee/F9n8suu6xXfZRlWcX/j0ajxf9PJBJs3LiRuXPnkkqlePPNN3e6nYsWLeKdd97h3HPPZdOmTWzcuJGNGzeSTCb5wAc+wBNPPIHv+z1u86UvfWlAj/GZz3yGuro6xo0bxymnnEIymeS2227jsMMO63P/9evXs2jRIj796U9TU1NT3P6+972PE044gQceeGDgfyjw4osv0tzczFe+8pUeNXGnnHIKM2bM4P7779+p+3Uch7PPPpuFCxeyatWq4vY777yT0aNH84EPfACABx54gFmzZnH00UcX94nH43zhC19g1apVLFmyZLuPszPP1ZZGjx7Nq6++ype+9CXa2tq48cYbOffcc6mvr+fqq6/eqV72bueffz7BYLB4efbs2Rhj+MxnPtNjv9mzZ7NmzRpc193mfVmWxSc+8QkeeOCBHqP37777bhoaGorHr7tH8G9/+xv5fH6n274jd9xxB6eccgrl5eUATJ8+nZkzZ3LHHXf02td1Xe6++27OOuus4vv3/e9/P/X19X3uv7X+PkevvPIKK1eu5Otf/3qvntHux92Z99HW7+0///nP+L7PmWeeWXy9bdy4kTFjxjB9+nQee+yx7f49c+fO5eWXXyaZTALw1FNP8aEPfYiDDz6YJ598Eij01lqW1eN9MVDxeJxPfvKTxcuhUIhZs2YN2qwpA2WM4Z577uHUU0/FGNPj2J100kl0dHTw8ssv97jNBRdc0ONzXnZfCrNSUg4//HD+/Oc/09bWxvPPP88ll1xCIpHg4x//eDG4LF++HNu22W+//bZ7X2+88Qann346lZWVVFRUUFdXV/zw7ujo2Ok2vvPOO0Dhg7Surq7Hv5tvvplsNtvr/idPnjygx7jssst45JFH+Oc//8lrr71GY2Mjn/rUp7a5/7vvvgvAPvvs0+u6fffdtxjgBmp79ztjxozi9Tuje4DXnXfeCcDatWt58sknOfvss3Ecp/j42/qbtmzftuzMc7W1sWPH8qtf/Yr169fz1ltv8Ytf/IK6ujouu+wyfvOb3wzsj97ChAkTelyurKwEYPz48b22+76/w3aeddZZpNPp4g+/rq4uHnjgAT7xiU8Uw9qxxx7Lxz72Ma688kpqa2v5yEc+wq233ko2m93pv2NrS5cu5ZVXXuGoo45i2bJlxX/HHXccf/vb3+js7Oyx/8MPP0xLSwuzZs0q7rty5UqOP/547rrrru3+2OjWn+eou1RneyVMO/M+2vq9/c4772CMYfr06b1ec0uXLt3hYNa5c+fiui4LFy7krbfeorm5mblz53LMMcf0CLP77bdfj8A9UHvttVePH/8A1dXVtLW17fR9vhctLS20t7fz61//utdxmz9/PtB7IPBAP1eldKlmVkpSKBTi8MMP5/DDD2fvvfdm/vz5/O///i+XX355v27f3t7OscceS0VFBVdddRVTp04lEonw8ssv8+1vf7tfX5Db0n3bH//4xxx88MF97hOPx3tcHmjvwYEHHsi8efN2qn2lYubMmcyYMYO77rqL7373u9x1110YYwZ1FoOdea62xbIs9t57b/bee29OOeUUpk+fzh133MHnPve54vV98TyvGM631Ne27W3fUS/wEUccwaRJk/jjH//Iueeey1//+lfS6TRnnXVWj7/hT3/6E88++yx//etfeeihh/jMZz7DT37yE5599tl+H4vt+f3vfw/AN77xDb7xjW/0uv6ee+4phhOg2Pt65pln9nl///rXvzj++OP79dg7eo6Gwtbvbd/3sSyLv//9730+lzs6xocddhiRSIQnnniCCRMmUF9fz957783cuXP55S9/STab5cknn+T0009/T+3e2dfZUOl+r37yk5/cZu3z+973vh6X1Su751CYlZLXfWp9/fr1QGGwgO/7LFmyZJsB5fHHH2fTpk38+c9/5phjjiluX7lyZa99txVCtrW9e7BCRUXFiAmcEydOBOCtt97qdd2bb75JbW1tccqgbf1dO7rf97///T2ue+utt4rX76zzzjuPSy+9lNdee40777yT6dOnc/jhh/d4/G39TVu2b1c/V1OmTKG6urr4moRCr1ZfE8S/++67TJkyZdAee3vOPPNMfv7zn9PZ2cndd9/NpEmTOOKII3rtd8QRR3DEEUdwzTXXcOedd3Leeefxhz/84T2HPmMMd955J8cffzxf+cpXel1/9dVXc8cddxTDbDKZ5L777uOss84qTkW3pYsvvpg77rij32F2S1s/R92vhcWLF2/ztTCQ99G2TJ06FWMMkydPZu+99x5wu7tP9z/55JNMmDChOHhr7ty5ZLNZ7rjjDpqamnp8rvVlIO/zobC9x+/rurq6OsrLy/E8b8R8rsrIoTIDKRmPPfZYn70C3XVq3af+PvrRj2LbNldddVWvHtbu23f3Omx5f7lcjl/+8pe97r+srKzPU7jdX1pbB5SZM2cydepU/uu//qvP1YVaWlq2+TcOlbFjx3LwwQdz22239Wjv4sWLefjhh/nQhz5U3Latv6svhx12GPX19dx44409TkX//e9/Z+nSpZxyyinvqd3dvbCXXXYZixYt6tUr+6EPfYjnn3+ehQsXFrclk0l+/etfM2nSpGKpyVA9V88991yf5RnPP/88mzZt6nE6eurUqTz77LPkcrnitr/97W+sWbNmu48xmM466yyy2Sy33XYbDz74YK/ezra2tl7vse4fhFs+v8uXLy+elh+Ip59+mlWrVjF//nw+/vGP9/p31lln8dhjj9HY2AjAX/7yF5LJJBdeeGGf+3/4wx/mnnvu2W4ZRH+fo0MPPZTJkydz3XXX9XqddB+TgbyPtuWMM87AcRyuvPLKXsfaGNOvVe3mzp3Lc889x2OPPVYMs7W1tey777786Ec/Ku6zPQN5nw+F7T1+WVlZr+2O4/Cxj32Me+65h8WLF/e6zXB8rsrIoZ5ZKRlf/epXSaVSnH766cyYMYNcLsczzzxT7GHq7s2ZNm0a3/ve97j66quZO3cuZ5xxBuFwmBdeeIFx48Zx7bXXcuSRR1JdXc0FF1zAxRdfjGVZ3H777X2G5ZkzZ3L33XezYMECDj/8cOLxOKeeeipTp06lqqqKG2+8kfLycsrKypg9ezaTJ0/m5ptv5uSTT2b//fdn/vz5NDQ0sG7dOh577DEqKir461//uqsPHz/+8Y85+eSTmTNnDp/97GeLUwpVVlb2WDN95syZQGFasrPPPptgMMipp57aZ49TMBjkRz/6EfPnz+fYY4/lnHPOKU7NNWnSpD5PIw/E5MmTOfLII7nvvvsAeoXZ73znO9x1112cfPLJXHzxxdTU1HDbbbexcuVK7rnnnuIAwKF6rm6//XbuuOMOTj/9dGbOnEkoFGLp0qXccsstRCKRHlNHfe5zn+NPf/oTH/zgBznzzDNZvnw5v//977c7RdlgO/TQQ4vvj2w226PEAOC2227jl7/8JaeffjpTp04lkUhw0003UVFR0SOodQ/A23JwXn/ccccdOI6zzR85p512Gt/73vf4wx/+wIIFC7jjjjsYNWpUr8UOttz/pptu4v777+eMM87oc5/+Pke2bfOrX/2KU089lYMPPpj58+czduxY3nzzTd544w0eeughoP/vo22ZOnUq/9//9/9xySWXsGrVKj760Y9SXl7OypUr+ctf/sIXvvAFvvnNb273PubOncs111zDmjVreoTWY445hv/5n/9h0qRJ7LXXXjtsx7beE7vC9j5nZs6cyT/+8Q9++tOfMm7cOCZPnszs2bP54Q9/yGOPPcbs2bP5/Oc/z3777Udraysvv/wy//jHP2htbd0lbZcRaBfPniCy0/7+97+bz3zmM2bGjBkmHo8Xl7b96le/2ufk+rfccos55JBDTDgcNtXV1ebYY4/tsZTq008/bY444ojihODdU30B5rHHHivu19XVZc4991xTVVVVXDSh23333Wf2228/EwgEek1z88orr5gzzjjDjBo1yoTDYTNx4kRz5plnmkcffbS4z/Ymle/LthZN2Nq2Fk34xz/+YY466igTjUZNRUWFOfXUU3tN9m6MMVdffbVpaGgwtm33a5quu+++u3isa2pqei2aYMzApuba0g033GCAHtMRbal70YSqqioTiUTMrFmzeiya0O29Pld9ee2118x//Md/mEMPPdTU1NSYQCBgxo4daz7xiU+Yl19+udf+P/nJT0xDQ4MJh8PmqKOOMi+++OI2p+ba+jne1vEb6Gvoe9/7ngHMtGnTel338ssvm3POOcdMmDDBhMNhU19fbz784Q+bF198scd+EydO3OF0YFu3LZfLmVGjRpm5c+du9zaTJ082hxxyiGlqajKBQMB86lOf2ua+qVTKxGIxc/rpp29zn4E+R0899ZQ54YQTTHl5uSkrKzPve9/7zPXXX99jn/68j3b0vNxzzz3m6KOPNmVlZaasrMzMmDHDXHjhheatt97a3uExxhjT2dlpHMcx5eXlPRZ5+f3vf2+APo/Z1q8zY7b9ntjWcrYXXHBBv573CRMmmNNOO63HNraamsuYbX/OvPnmm+aYY44x0Wi016IJTU1N5sILLzTjx483wWDQjBkzxnzgAx8wv/71r4v79PdzUnYfljHDVM0tIiIiu52amhpOOeUUbr/99uFuiuwhVDMrIiIig2L58uW0tbXtcGpEkcGkmlkRERF5T1asWMEDDzzAr371K0KhEGefffZwN0n2IOqZFRERkffkiSeeYMGCBYRCIe677z4tWCC7lGpmRURERKRkqWdWREREREqWwqyIiIiIlKw9bgCY7/s0NjZSXl4+7Mv5iYiIiEhvxhgSiQTjxo0rLoCzLXtcmG1sbGT8+PHD3QwRERER2YE1a9bscEW7PS7MlpeXA4WDU1FRMcyt2b58Ps/DDz/MiSeeSDAYHO7m7HZ0fIeWju/Q0vEdWjq+Q0vHd2jtDse3s7OT8ePHF3Pb9uxxYba7tKCioqIkwmwsFqOioqJkX4wjmY7v0NLxHVo6vkNLx3do6fgOrd3p+PanJFQDwERERESkZCnMioiIiEjJUpgVERERkZKlMCsiIiIiJUthVkRERERKlsKsiIiIiJQshVkRERERKVkKsyIiIiJSshRmRURERKRkKcyKiIiISMlSmBURERGRkqUwKyIiIiIlS2FWREREREpWYLgbICKyJ/F9w7r2NMmcS1koQENVFNu2dup+AN5uSlARi/S6n8F6HBGRkU5hVkRkF1nWnOChxU0sb+ki43pEAg5T6+KcdMBoptWX99i3rzAKsK49zZL1HTz5ZhOHB+Cnj7yJYwcZVxVj3n71HDm1lhUbu3hw8QZeX9dBKucSCwU4sKGSDx4wptfjiIiUOoVZEZFdYFlzglufXkVrMsfYygixUJRUzmVxYweNHWnmHzWpGDTf3pDgTy+tYXlLF56B6miQ6lgILFi6vpMljZ1YxuPwQ2Hx2gR5Y2GtbucfS5vYZ0ycrqxHazKHbwxgAIuVLUne3JDg6/OmK9CKyG5FYVZEZIi5rs8fX1jDu5uSTKuLEw8HsCyL8kiQeDjAO81dPPxGE1Nq4zz2VjO/ePQdWhJZQo6FbVmstiCRcXF9QzqbJ+9DebBw3105F9cH34c2A2vb0wDEghajKyIEHIe869GZc3lmWQbfGK77xMEEArbKEERkt6AwKyIyhJY1J/jjC2v5++INODZs7MpREwsxpb6MoG2T83zi4QBvNyX408tr+OVjy9jUlSUadEjlDOmcS9brfb9pr1Az6/qGrNc7hKbyhpWb0lgU+ma7PbR4Ayc3/otxNWUEbQsfQ3U0xLT68j7LHURERjqFWRGRIdJdWvDupiSObTEqHsLzDWvbUixv6SIUsLGsQn1sV9bloTc2kM77ACSy/qC0wWx12TOwfFOa5ZvSlIVs6sojJMpcNnblepU7iIiUAoVZEZEh4PuGhxY30ZrMMbW2jPXtGZJZFwwksi5dWRfHsgg5Fqmch7t16twFMnmfznQe3xgqIoXw3F3uoJIDESkVCrMiIkNgXXua5S1dRIM2bzV10ZHJk8555D0fzzfYFhirUCYwHEEWwBiK7UnnPcJ5l3eaEqxrTzO+JjY8jRIRGSCFWRGRIZDMuWzsyrIpmSOb96iNh2nuzJDOe2yeIhbjG/KDU02wU7ofOpP3qYgEaUvmsC2L5S1dGhAmIiVDYVZEZAiEAzaNm0sL6stDhAI2XSGHtlQeG/BNoWd0uGXyHhawqStLMueRyLrc9dxq3ljXqQFhIlISFGZFRAbZsuYEd7+whuZEBtfzSeVdjG/wjKF75teRIu+Dl/XIeT6WZVEXDzO2MtLn/LciIiORPdwNEBHZnXTPYLB0fSfxSIBQwCad80jlfbLuMNYUbIcPZF2D6xlSOZe3NiQIByze3ZTkf19ciztC2y0iAuqZFREZNFvOYDCtLk5LIkvO9bHw8H3DSI6ElgUVkQA2sGR9J4sbDeWRIO9uSmGM4czDx6uHVkRGpGHtmX3iiSc49dRTGTduHJZlce+99+7wNo8//jiHHnoo4XCYadOm8dvf/nbI2yki0h/dMxiMrYxQEQ1SFgqQyrpYFjgj/DyYb6A9nWdNW5pU3iOd90hkcnjGsGR9J7c+vYplzYnhbqaISC/D+vGaTCY56KCDuOGGG/q1/8qVKznllFM4/vjjWbRoEV//+tf53Oc+x0MPPTTELRUR2bFkziXjesRCheVqx1ZH8HxD3jV4I6lQdhs8U6ihtTEEHZt03ieRdqmNh2hN5nj4jSZ8vwT+EBHZowxrmcHJJ5/MySef3O/9b7zxRiZPnsxPfvITAPbdd1+eeuopfvazn3HSSScNVTNFRPqlLBQgEnBI5VzKI0GiAQfHtnB9MyJmLuivnAchy2BhYVvQ3JllnzHlLGvu0hy0IjLilFTN7MKFC5k3b16PbSeddBJf//rXt3mbbDZLNpstXu7s7AQgn8+Tz+eHpJ2Dpbt9I72dpUrHd2jtice3vizAtNooS9Z3Uh4qI5fP41g+AXvwk2x4832Gh+C+ATCGiAPjKqIk0jmM7+O6eTpTGfLlwaF5zBFkT3z97ko6vkNrdzi+A2l7SYXZDRs2MHr06B7bRo8eTWdnJ+l0mmg02us21157LVdeeWWv7Q8//DCxWGn0LjzyyCPD3YTdmo7v0NrTjm8D0FAOZGBKHD4wc2gf7+rDhnpYWefm/7ZDHJa91MiyIX7EkWRPe/3uajq+Q6uUj28qler3viUVZnfGJZdcwoIFC4qXOzs7GT9+PCeeeCIVFRXD2LIdy+fzPPLII5xwwgkEg7t/T8iupuM7tPbk47usqYv/fOhNVm7sIpX16Mi6g/4YYdtw9WE+l75ok/WHZqWuykiACTUxMnmf0ZVhDptYw2eOmrxHrAy2J79+dwUd36G1Oxzf7jPp/VFSYXbMmDE0NTX12NbU1ERFRUWfvbIA4XCYcDjca3swGCyZJ7iU2lqKdHyH1p54fOOxMFVlEQ6viLIxkeWpZRuHbNnarG+R9YYmXCbzhvWdOcrCQcZUxjnhgHGEw6EheayRak98/e5KOr5Dq5SP70DaPcIni+lpzpw5PProoz22PfLII8yZM2eYWiQi0lsy55L1fEZXRBlXHaMyGqQU+zLTOR9j4Ojptcw/WiuBicjINKxhtquri0WLFrFo0SKgMPXWokWLWL16NVAoETj//POL+3/pS19ixYoVfOtb3+LNN9/kl7/8JX/84x/5xje+MRzNFxHp05azGoQcm/JIkEigdOKsbUEkaBELOXx27hS+f8p+CrIiMmINa5h98cUXOeSQQzjkkEMAWLBgAYcccgiXXXYZAOvXry8GW4DJkydz//3388gjj3DQQQfxk5/8hJtvvlnTconIiNJQFWVqXZz1HRniYYfqshCOY1MWHPmB1gbGVISpL4/QUB1lzrRRe0SNrIiUrmGtmT3uuOMw25l8sa/VvY477jheeeWVIWyViMh7Y9sWJx0wmsaONMtakkyojvLuxiRd3khe0BYcC2JBG8e2iYYCjK+OUh4uzXo7EdlzlFTNrIhIqZhWX878oyYxtiLC281JDOD5I/dD17bAAgwWdfEQ9fEwh06opqGq78G1IiIjRUnNZiAiUmoyrk9deYh9RsdxfZ/nVrTSksyNmBXBugsIokEHz/cZUxGhrjxCbXmYE/cfrRIDERnxFGZFRIaA7xseWtxEWyrHQXtVYVkWnek8NWUhQo5FY2cWf5gDbcAuhNic5+Mbg21ZjK6KcND4Kk7cf7QGfYlISVCYFREZAuva0yxv6WJsZQTLKvRu5jwf1xhq4hHa0nnSOZ/hqKK1gYBt4TgWvoF4yKEiGuKg8VUsOGFv9qqOqUdWREqGwqyIyBBI5lwyrkcs9O+a05BjE7BtbAvi4QCZfI6yoE0yt4sjrQXhoE08HCAUtBldHmF6fTnzj57EhFFlu7YtIiLvkcKsiMgQ2HKu2fJIYUaA8kiAmliI5kSGqliI9rRL3vOxAcsC34CheyDW4LG2+m/AgkjQoSIaZHxNjEMnVKusQERKlsKsiMgQ6J5rdnFjB/FwAMuysCyLqfVldGZytHTl2Ks6QlsyT3sqX6yfDQcsHMvC8w2+MfgGPFOYbaA/g8Ycq7B/t6AN0ZBDNOhgWRYB2+L9+9RxykHjKI8EKY8EaaiKqqxAREqWwqyIyBDYcq7Zd5oLtbPRkEPQsakuC+PYNnXlYcZVurzR2EUqnydo21hAMGBTHglQHQ3RlXPJ5H1mjC6jsSNLWypPzvVx8AAPm0Jg3W9MObZj05zI0prMkcn7BB2r8LjBAOm8i2/goPFVnH/UZPXCishuQ2FWRGSIdM81+9DiJpa3dNHUmSEccJgzZRTz9h1NNOSQzLk0dWa456V1bOrKUBkt9Jb6xpDIuOxXFiYcsFnfmeGQCTGWtyRpTWbxfRfIUhZ0iEXDHDqphmjIoSWRZXlzkvZ0DgxkPZ9ENk9lNMScKTWcM3uCgqyI7FYUZkVEhtC0+nKmHBdnXXuaZM6lLBTodVp/xpgKGqqixdDblXUJBxzet1dhiiyAW59exaZkjhlj4rh+GalMDujiyOm11FbEaE/laU5kCQcc5u03mnn71RMJOKzYmARgcm0Z4zVLgYjshhRmRUSGmG1bjK+JbXefHYXeLXt4s65HLFDYfuHx05g+pmqbt9PsBCKyu1OYFREZIbYXercOuxEbXl24hil18X6FZRGR3ZXCrIhIidgytObzeV4d5vaIiIwE9nA3QERERERkZynMioiIiEjJUpgVERERkZKlMCsiIiIiJUthVkRERERKlsKsiIiIiJQshVkRERERKVkKsyIiIiJSshRmRURERKRkKcyKiIiISMlSmBURERGRkqUwKyIiIiIlS2FWREREREqWwqyIiIiIlCyFWREREREpWQqzIiIiIlKyFGZFREREpGQpzIqIiIhIyVKYFREREZGSpTArIiIiIiVLYVZERERESpbCrIiIiIiULIVZERERESlZCrMiIiIiUrIUZkVERESkZCnMioiIiEjJUpgVERERkZKlMCsiIiIiJUthVkRERERKlsKsiIiIiJQshVkRERERKVkKsyIiIiJSshRmRURERKRkKcyKiIiISMlSmBURERGRkqUwKyIiIiIlS2FWREREREqWwqyIiIiIlCyFWREREREpWQqzIiIiIlKyFGZFREREpGQpzIqIiIhIyVKYFREREZGSpTArIiIiIiVLYVZERERESpbCrIiIiIiULIVZERERESlZCrMiIiIiUrIUZkVERESkZCnMioiIiEjJUpgVERERkZKlMCsiIiIiJUthVkRERERKlsKsiIiIiJQshVkRERERKVkKsyIiIiJSshRmRURERKRkKcyKiIiISMlSmBURERGRkqUwKyIiIiIlS2FWREREREqWwqyIiIiIlCyFWREREREpWQqzIiIiIlKyFGZFREREpGQpzIqIiIhIyVKYFREREZGSpTArIiIiIiVLYVZERERESpbCrIiIiIiULIVZERERESlZCrMiIiIiUrIUZkVERESkZCnMioiIiEjJUpgVERERkZI17GH2hhtuYNKkSUQiEWbPns3zzz+/3f2vu+469tlnH6LRKOPHj+cb3/gGmUxmF7VWREREREaSYQ2zd999NwsWLODyyy/n5Zdf5qCDDuKkk06iubm5z/3vvPNOvvOd73D55ZezdOlSfvOb33D33Xfz3e9+dxe3XERERERGgmENsz/96U/5/Oc/z/z589lvv/248cYbicVi3HLLLX3u/8wzz3DUUUdx7rnnMmnSJE488UTOOeecHfbmioiIiMjuKTBcD5zL5XjppZe45JJLitts22bevHksXLiwz9sceeSR/P73v+f5559n1qxZrFixggceeIBPfepT23ycbDZLNpstXu7s7AQgn8+Tz+cH6a8ZGt3tG+ntLFU6vkNLx3do6fgOLR3foaXjO7R2h+M7kLZbxhgzhG3ZpsbGRhoaGnjmmWeYM2dOcfu3vvUt/vWvf/Hcc8/1ebtf/OIXfPOb38QYg+u6fOlLX+JXv/rVNh/niiuu4Morr+y1/c477yQWi733P0REREREBlUqleLcc8+lo6ODioqK7e47bD2zO+Pxxx/nBz/4Ab/85S+ZPXs2y5Yt42tf+xpXX301l156aZ+3ueSSS1iwYEHxcmdnJ+PHj+fEE0/c4cEZbvl8nkceeYQTTjiBYDA43M3Z7ej4Di0d36Gl4zu0dHyHlo7v0Nodjm/3mfT+GLYwW1tbi+M4NDU19dje1NTEmDFj+rzNpZdeyqc+9Sk+97nPAXDggQeSTCb5whe+wPe+9z1su3cJcDgcJhwO99oeDAZL5gkupbaWIh3foaXjO7R0fIeWju/Q0vEdWqV8fAfS7mEbABYKhZg5cyaPPvpocZvv+zz66KM9yg62lEqlegVWx3EAGKZqCREREREZRsNaZrBgwQIuuOACDjvsMGbNmsV1111HMplk/vz5AJx//vk0NDRw7bXXAnDqqafy05/+lEMOOaRYZnDppZdy6qmnFkOtiIiIiOw5hjXMnnXWWbS0tHDZZZexYcMGDj74YB588EFGjx4NwOrVq3v0xH7/+9/Hsiy+//3vs27dOurq6jj11FO55pprhutPEBEREZFhNOwDwC666CIuuuiiPq97/PHHe1wOBAJcfvnlXH755bugZSIiIiIy0g37crYiIiIiIjtLYVZERERESpbCrIiIiIiULIVZERERESlZCrMiIiIiUrIUZkVERESkZCnMioiIiEjJUpgVERERkZKlMCsiIiIiJUthVkRERERKlsKsiIiIiJQshVkRERERKVkKsyIiIiJSshRmRURERKRkKcyKiIiISMlSmBURERGRkqUwKyIiIiIlS2FWREREREqWwqyIiIiIlCyFWREREREpWQqzIiIiIlKyFGZFREREpGQpzIqIiIhIyVKYFREREZGSpTArIiIiIiVLYVZERERESpbCrIiIiIiULIVZERERESlZgYHsvHTpUv7whz/w5JNP8u6775JKpairq+OQQw7hpJNO4mMf+xjhcHio2ioiIiIi0kO/emZffvll5s2bxyGHHMJTTz3F7Nmz+frXv87VV1/NJz/5SYwxfO9732PcuHH86Ec/IpvNDnW7RURERET61zP7sY99jP/4j//gT3/6E1VVVdvcb+HChfz85z/nJz/5Cd/97ncHq40iIiIiIn3qV5h9++23CQaDO9xvzpw5zJkzh3w+/54bJiIiIiKyI/0qM+hPkH0v+4uIiIiI7Ix+9cz+4he/6PcdXnzxxTvdGBERERGRgehXmP3Zz37W43JLSwupVKpYP9ve3k4sFqO+vl5hVkRERER2mX6VGaxcubL475prruHggw9m6dKltLa20traytKlSzn00EO5+uqrh7q9IiIiIiJFA1404dJLL+X6669nn332KW7bZ599+NnPfsb3v//9QW2ciIiIiMj2DDjMrl+/Htd1e233PI+mpqZBaZSIiIiISH8MOMx+4AMf4Itf/CIvv/xycdtLL73El7/8ZebNmzeojRMRERER2Z4Bh9lbbrmFMWPGcNhhhxEOhwmHw8yaNYvRo0dz8803D0UbRURERET61K/ZDLZUV1fHAw88wNtvv82bb74JwIwZM9h7770HvXEiIiIiItsz4DDbbdKkSRhjmDp1KoHATt+NiIiIiMhOG3CZQSqV4rOf/SyxWIz999+f1atXA/DVr36VH/7wh4PeQBERERGRbRlwmL3kkkt49dVXefzxx4lEIsXt8+bN4+677x7UxomIiIiIbM+A6wPuvfde7r77bo444ggsyypu33///Vm+fPmgNk5EREREZHsG3DPb0tJCfX19r+3JZLJHuBURERERGWoDDrOHHXYY999/f/Fyd4C9+eabmTNnzuC1TERERERkBwZcZvCDH/yAk08+mSVLluC6Lj//+c9ZsmQJzzzzDP/617+Goo0iIiIiIn0acM/s0Ucfzauvvorruhx44IE8/PDD1NfXs3DhQmbOnDkUbRQRERER6dOAembz+Txf/OIXufTSS7npppuGqk0iIiIiIv0yoJ7ZYDDIPffcM1RtEREREREZkAGXGXz0ox/l3nvvHYKmiIiIiIgMzIAHgE2fPp2rrrqKp59+mpkzZ1JWVtbj+osvvnjQGiciIiIisj0DDrO/+c1vqKqq4qWXXuKll17qcZ1lWQqzIiIiIrLLDDjMrly5cijaISIiIiIyYAOume2Wy+V46623cF13MNsjIiIiItJvAw6zqVSKz372s8RiMfbff39Wr14NwFe/+lV++MMfDnoDRURERES2ZcBh9pJLLuHVV1/l8ccfJxKJFLfPmzePu+++e1AbJyIiIiKyPQOumb333nu5++67OeKII7Asq7h9//33Z/ny5YPaOBERERGR7Rlwz2xLSwv19fW9tieTyR7hVkRERERkqA04zB522GHcf//9xcvdAfbmm29mzpw5g9cyEREREZEdGHCZwQ9+8ANOPvlklixZguu6/PznP2fJkiU888wz/Otf/xqKNoqIiIiI9GnAPbNHH300ixYtwnVdDjzwQB5++GHq6+tZuHAhM2fOHIo2ioiIiIj0acA9swBTp07lpptuGuy2iIiIiIgMyIB7Zh3Hobm5udf2TZs24TjOoDRKRERERKQ/BhxmjTF9bs9ms4RCoffcIBERERGR/up3mcEvfvELoDB7wc0330w8Hi9e53keTzzxBDNmzBj8FoqIiIiIbEO/w+zPfvYzoNAze+ONN/YoKQiFQkyaNIkbb7xx8FsoIiIiIrIN/Q6zK1euBOD444/nz3/+M9XV1UPWKBERERGR/hhwzezxxx9POBzutT2dTnPVVVcNSqNERERERPpjwGH2yiuvpKurq9f2VCrFlVdeOSiNEhERERHpj52azaB7Cdstvfrqq9TU1AxKo0RERERE+qPfNbPV1dVYloVlWey99949Aq3neXR1dfGlL31pSBopIiIiItKXfofZ6667DmMMn/nMZ7jyyiuprKwsXtc9m8GcOXOGpJEiIiLDwfcNa1pTJHMuZaEADVVRbLv32UkRGT79DrMXXHABAJMnT+bII48kGAwOWaNERERGgt88tZJlG9NkXI9IwGFqXZyTDhjNtPry4W6aiGzWrzDb2dlJRUUFAIcccgjpdJp0Ot3nvt37iYiIlKoVLYWBzkvWd1JfGSMWipLKuSxu7KCxI838oyYp0IqMEP0Ks9XV1axfv576+nqqqqr6HADW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RKRPA+6ZhcIiCT/4wQ8Guy0iIiIiIgPS757ZjRs38u677/bY9sYbbzB//nzOPPNM7rzzzkFvnIiIiIjI9vQ7zH71q1/lF7/4RfFyc3Mzc+fO5YUXXiCbzfLpT3+a22+/fUgaKSIiIiLSl36H2WeffZbTTjutePl3v/sdNTU1LFq0iPvuu48f/OAH3HDDDUPSSBERERGRvvQ7zG7YsKHHUrX//Oc/OeOMMwgECmW3p512Gu+8886gN1BEREREZFv6HWYrKipob28vXn7++eeZPXt28bJlWWSz2UFtnIiIiIjI9vQ7zB5xxBH84he/wPd9/vSnP5FIJHj/+99fvP7tt99m/PjxQ9JIEREREZG+9HtqrquvvpoPfOAD/P73v8d1Xb773e9SXV1dvP4Pf/gDxx577JA0UkRERESkL/0Os+973/tYunQpTz/9NGPGjOlRYgBw9tlns99++w16A0VEREREtmVAiybU1tbykY98pM/rTjnllEFpkIiIiIhIfw14OVsRERERkZFCYVZERERESpbCrIiIiIiUrEENs62trYN5dyIiIiIi2zUoYfbhhx/mzDPPpKGhYTDuTkRERESkX3Y6zL777rtcfvnlTJo0iU984hPYts3vfve7wWybiIiIiMh2DWhqrlwux5///Gduvvlmnn76aebNm8fatWt55ZVXOPDAA4eqjSIiIiIifep3z+xXv/pVxo0bx89//nNOP/101q5dy1//+lcsy8JxnKFso4iIiIhIn/rdM/urX/2Kb3/723znO9+hvLx8KNskIiIiItIv/e6Zvf3223n++ecZO3YsZ511Fn/729/wPG8o2yYiIiIisl39DrPnnHMOjzzyCK+//jozZszgwgsvZMyYMfi+z5IlS4ayjSIiIiIifRrwbAaTJ0/myiuvZNWqVfz+97/nYx/7GJ/85CfZa6+9uPjii4eijSIiIiIifRrQbAZbsiyLk046iZNOOonW1lZ+97vfceuttw5m20REREREtmunw+yWampq+PrXv868efMG4+5ERERERPrlPa8Alkgk+PWvf82sWbM46KCDBqNNIiIiIiL9stNh9oknnuCCCy5g7Nix/Nd//Rfvf//7efbZZwezbSIiIiIi2zWgMoMNGzbw29/+lt/85jd0dnZy5plnks1muffee9lvv/2Gqo0iIiIiIn3qd8/sqaeeyj777MNr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Xm+ao8t8s2bN4utf/zoVFRUEg0EWLVrE0qVLeeutt9IdWs9TIiN88sknavz48aqwsFC53W7Vr18/dccdd6jdu3enO7SssGDBAgV0+SOO35QpU7ps2yVLlqQ7tIz1+OOPq4qKCmVZlrrooovU6tWr0x1SVliyZEmX5+qUKVPSHVrGO9Tf2AULFqQ7tKxw6623qr59+yrLslRRUZH62te+pt5+++10h3VSSM2sEEIIIYTIWFIUKIQQQgghMpYks0IIIYQQImNJMiuEEEIIITKWJLNCCCGEECJjSTIrhBBCCCEyliSzQgghhBAiY0kyK4QQQgghMpYks0IIIYQQImNJMiuEEFnumWeeYeLEiYd8ferUqVx99dUnL6BjtHTpUjRNo6GhAYA333yTESNG4DhOegMTQqSVJLNCiIw2efJkrrzyyi5fW7FiBZqm8cknnxz2OP369eOxxx477nhs22bu3LkMHjwYr9dLYWEhY8aM4be//e1xH/tYRCIRHnroIWbPnp1aN2fOHEaMGJFanj9/PgsXLkwtjxs3jnvvvbfDcQ5OJE8FV155JaZp8sILL6Q7FCFEGkkyK4TIaNOmTeOdd95h9+7dnV5bsGABo0aNYtiwYSctnp/85Cc8+uijPPzww2zatIklS5Zw++23py0JfPnll8nNzeXSSy895DZ5eXnk5+eflHiUUiQSiRN2vKlTp/LLX/7yhB1PCJF5JJkVQmS0q666iqKiog53FgGam5v5wx/+wLRp0wB45ZVXOPfcc3G73fTr149///d/T207btw4vvzyS+677z40TUPTtNRr7777Lpdddhler5fy8nK+//3vEwqFDhnP66+/zl133cW1115L//79GT58ONOmTeOHP/xhapuu7gKPGDGCOXPmpJY1TePpp5/mqquuwufzMWTIEFatWsW2bdsYN24cfr+fSy65hO3bt3fbPi+++CKTJ0/udpv2ZQZTp05l2bJlzJ8/P9UWlZWVjB8/HoCCggI0TWPq1KkAOI7DI488Qv/+/fF6vQwfPpyXX345dey2O7p/+ctfGDlyJG63m3ffffew+wG88cYbnH322Xi9XsaPH09lZWWn2CdPnszatWsP2w5CiOwlyawQIqO5XC5uvvlmFi5ciFIqtf4Pf/gDtm1zww03sG7dOq677jr+4R/+gU8//ZQ5c+bw0EMPpRLgP/7xj/Tp04ef/vSn7N27l7179wKwfft2rrzySr7zne/wySef8NJLL/Huu+8yY8aMQ8ZTWlrK//3f/1FTU3Pc7+3hhx/m5ptvZv369QwePJgbb7yR6dOnM2vWLNauXYtSqttYIJmMjxo16oh/5/z58xk7diy33XZbqi3Ky8t55ZVXANiyZQt79+5l/vz5ADzyyCM8//zzPPXUU2zcuJH77ruPm266iWXLlnU47oMPPsjcuXPZvHkzw4YNO+x+u3bt4tvf/jaTJ09m/fr1fO973+PBBx/sFG9FRQUlJSWsWLHiiN+jECLLKCGEyHCbN29WgFqyZElq3WWXXaZuuukmpZRSN954o7riiis67HP//feroUOHppb79u2rHn300Q7bTJs2Td1+++0d1q1YsULpuq5aWlq6jGXjxo1qyJAhStd1df7556vp06erN954o8M2Xf2u4cOHq9mzZ6eWAfUv//IvqeVVq1YpQD3zzDOpdf/93/+tPB5Pl3EopVR9fb0C1PLlyzusnz17tho+fHhqecqUKepb3/pWavnyyy9XP/jBDzrss2TJEgWo+vr61LpIJKJ8Pp9auXJlh22nTZumbrjhhg77/elPfzqq/WbNmtXh30cppR544IFOMSil1AUXXKDmzJlzyHYQQmQ3uTMrhMh4gwcP5pJLLuHZZ58FYNu2baxYsSJVYrB58+ZONaOXXnopW7duxbbtQx73448/ZuHChQQCgdTPpEmTcByHHTt2dLnP0KFD2bBhA6tXr+bWW2+lurqayZMn873vfe+o31f7Wt+SkhIAzj///A7rIpEITU1NXe7f0tICgMfjOerffSS2bdtGOBzmiiuu6NBGzz//fKfH/u3vDh/Jfps3b2bMmDEdjjF27Ngu4/B6vYTD4RP87oQQmcKV7gCEEOJEmDZtGvfccw9PPPEECxYsYODAgVx++eXHdczm5mamT5/O97///U6vVVRUHHI/XdcZPXo0o0eP5t577+W//uu/+O53v8s///M/079/f3Rd71ASARCPxzsdxzTN1P+31fF2te5QQ1P16tULTdOor6/v5l0eu+bmZgD+93//l7Kysg6vud3uDst+v/+Y9jsSBw4coKio6Kj3E0JkB0lmhRBZ4brrruMHP/gBixYt4vnnn+fOO+9MJXtDhgzhvffe67D9e++9x9lnn41hGABYltXpLu2FF17Ipk2bGDRo0HHFNnToUIBUx7GioqJUXS5AU1PTIe/0Hg/Lshg6dCibNm3qdpzZrvY7uC0sywLosH7o0KG43W527tx5VBcOR7LfkCFDeP311zusW716daftIpEI27dv54ILLjji3y+EyC5SZiCEyAqBQIDrr7+eWbNmsXfv3lRve4B//Md/ZPHixTz88MN8/vnnPPfcc/zqV7/qNMLA8uXL2bNnD7W1tQA88MADrFy5khkzZrB+/Xq2bt3Ka6+91m2nq2uuuYZHH32UNWvW8OWXX7J06VLuvvtuzj77bAYPHgzAV7/6VX73u9+xYsUKPv30U6ZMmZJKqk+0SZMm8e677x7VPv369WPNmjVUVlZSW1uL4zj07dsXTdP485//TE1NDc3NzeTk5PDDH/6Q++67j+eee47t27fz4Ycf8vjjj/Pcc88d8vhHst8dd9zB1q1buf/++9myZQuLFi3qNGIFJBNct9t9yBIEIcRpIN1Fu0IIcaKsXLlSAeob3/hGp9defvllNXToUGWapqqoqFDz5s3r8PqqVavUsGHDlNvtVu3/NL7//vvqiiuuUIFAQPn9fjVs2DD1s5/97JAx/Od//qcaP368KioqUpZlqYqKCjV16lRVWVmZ2qaxsVFdf/31Kjc3V5WXl6uFCxd22QHs1VdfTS3v2LFDAeqjjz5KreuqU9bBNm7cqLxer2poaEite+ihh9TIkSNTywd3ANuyZYu6+OKLldfrVYDasWOHUkqpn/70p6q0tFRpmqamTJmilFLKcRz12GOPqXPOOUeZpqmKiorUpEmT1LJly7qN8XD7KaXU//zP/6hBgwYpt9utLrvsMvXss892Otbtt9+upk+ffsj3L4TIfppSBxVuCSGEyCrXXnstF154IbNmzQKSdz13797Nn//85zRHdnxqa2s555xzWLt2Lf379093OEKINJEyAyGEyHLz5s0jEAgQDAZZvnw5f/zjH5kwYUK6wzpulZWV/PrXv5ZEVojTnNyZFUKI08R9993HCy+8wN///d8zf/78HhuySwghTiZJZoUQQgghRMaSMgMhhBBCCJGxJJkVQgghhBAZS5JZIYQQQgiRsSSZFUIIIYQQGUuSWSGEEEIIkbEkmRVCCCGEEBlLklkhhBBCCJGxJJkVQgghhBAZ6/8B6c3brsXDuLkAAAAASUVORK5CYII=" + }, + "metadata": {}, + "output_type": "display_data" } ], - "execution_count": 20 + "execution_count": 27 }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:10.285390Z", - "start_time": "2024-11-08T21:18:10.281106Z" + "end_time": "2024-12-17T19:30:51.824835Z", + "start_time": "2024-12-17T19:30:51.817606Z" } }, "cell_type": "code", "source": [ - "# # write the lines in log to a TSV file 'sels_depletion.tsv'' with csv's dictwriter\n", - "# #\n", - "# with open('sels_depletion.tsv', 'w') as f:\n", - "# writer = csv.DictWriter(f, fieldnames=['removed', 'reason'])\n", - "# writer.writeheader()\n", - "# for line in depletion_log:\n", - "# writer.writerow(line)\n" + "# Group by 'vote_sum' and 'IAA_score' and count the occurrences\n", + "count_table = df.groupby(['vote_sum', 'IAA_score']).size().reset_index(name='count')" ], - "id": "62b7006a08a898a8", + "id": "f7f5da11648d5886", "outputs": [], - "execution_count": 21 + "execution_count": 28 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T19:30:51.835447Z", + "start_time": "2024-12-17T19:30:51.826571Z" + } + }, + "cell_type": "code", + "source": "count_table", + "id": "bc7499dfc4af91e0", + "outputs": [ + { + "data": { + "text/plain": [ + " vote_sum IAA_score count\n", + "0 -3 0.4 56\n", + "1 -2 0.4 404\n", + "2 -1 0.2 54\n", + "3 -1 0.6 51\n", + "4 0 0.3 72\n", + "5 0 1.0 509\n", + "6 1 0.2 34\n", + "7 1 0.6 21\n", + "8 2 0.4 14\n", + "9 3 0.4 14" + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
vote_sumIAA_scorecount
0-30.456
1-20.4404
2-10.254
3-10.651
400.372
501.0509
610.234
710.621
820.414
930.414
\n", + "
" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 29 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T19:30:51.841330Z", + "start_time": "2024-12-17T19:30:51.837233Z" + } + }, + "cell_type": "code", + "source": "vote_sum_threshold", + "id": "ae64885520e35c11", + "outputs": [ + { + "data": { + "text/plain": [ + "1" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 30 }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:10.328794Z", - "start_time": "2024-11-08T21:18:10.322149Z" + "end_time": "2024-12-17T19:30:51.846996Z", + "start_time": "2024-12-17T19:30:51.843302Z" + } + }, + "cell_type": "code", + "source": "IAA_score_threshold", + "id": "b1308a6c17aa595f", + "outputs": [ + { + "data": { + "text/plain": [ + "0.0" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 31 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T19:30:51.852997Z", + "start_time": "2024-12-17T19:30:51.848699Z" } }, "cell_type": "code", "source": [ - "# remove curies from the targets if their prefix, when splitting on colon, isn't in the acceptable prefixes\n", - "for t in list(targets):\n", - " if t.split(':')[0] not in acceptable_prefixes:\n", - " targets.remove(t)\n", - "print(len(targets))" + "# Create the derived DataFrame\n", + "vote_filtered_df = df[(df['vote_sum'] >= vote_sum_threshold) & (df['IAA_score'] >= IAA_score_threshold)]" ], - "id": "c78340f4c8cfb9c3", + "id": "5ab075aba664b818", + "outputs": [], + "execution_count": 32 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T19:30:51.881692Z", + "start_time": "2024-12-17T19:30:51.854483Z" + } + }, + "cell_type": "code", + "source": "vote_filtered_df", + "id": "30968dcada688cb2", "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "229\n" - ] + "data": { + "text/plain": [ + " unique_id label all_evidence is_process \\\n", + "18 ENVO:00000011 garden 0.1188080752 FALSE \n", + "20 ENVO:00000014 canal 0.00885439641 FALSE \n", + "24 ENVO:00000020 lake 0.02299603202 FALSE \n", + "26 ENVO:00000022 river 0.0144452756 FALSE \n", + "27 ENVO:00000023 stream 0.008964021492 FALSE \n", + "... ... ... ... ... \n", + "1060 ENVO:01001568 frost heave 0.00885439641 FALSE \n", + "1072 ENVO:01001803 tropical forest 0.04140378549 FALSE \n", + "1115 ENVO:03000117 channel 0.01770879282 FALSE \n", + "1119 ENVO:03500005 anthropogenic litter 0.00885439641 FALSE \n", + "1141 ENVO:04000009 active permafrost layer 0.02669271407 FALSE \n", + "\n", + " is_quality is_chemical_entity is_biome is_aquatic_biome \\\n", + "18 FALSE FALSE FALSE FALSE \n", + "20 FALSE FALSE FALSE FALSE \n", + "24 FALSE FALSE FALSE FALSE \n", + "26 FALSE FALSE FALSE FALSE \n", + "27 FALSE FALSE FALSE FALSE \n", + "... ... ... ... ... \n", + "1060 FALSE FALSE FALSE FALSE \n", + "1072 FALSE FALSE FALSE FALSE \n", + "1115 FALSE FALSE FALSE FALSE \n", + "1119 FALSE FALSE FALSE FALSE \n", + "1141 FALSE FALSE FALSE FALSE \n", + "\n", + " is_terrestrial_biome is_environmental_material ... NMW_vote NMW_comment \\\n", + "18 FALSE FALSE ... \n", + "20 FALSE FALSE ... \n", + "24 FALSE FALSE ... \n", + "26 FALSE FALSE ... \n", + "27 FALSE FALSE ... \n", + "... ... ... ... ... ... \n", + "1060 FALSE FALSE ... \n", + "1072 FALSE FALSE ... \n", + "1115 FALSE FALSE ... \n", + "1119 FALSE FALSE ... \n", + "1141 FALSE FALSE ... \n", + "\n", + " SM_vote SM_comment Yes = 1 No = -1 Maybe = 0 IAA_score vote_sum \\\n", + "18 1 0.2 1 \n", + "20 1 0.6 1 \n", + "24 1 0.6 1 \n", + "26 3 0.4 3 \n", + "27 2 0.4 2 \n", + "... ... ... ... ... ... \n", + "1060 1 0.6 1 \n", + "1072 1 0.2 1 \n", + "1115 2 0.4 2 \n", + "1119 1 0.6 1 \n", + "1141 3 0.4 3 \n", + "\n", + " was_subjected_to_voting vote_sum_jittered IAA_score_jittered \n", + "18 1.007123 0.200126 \n", + "20 1.011190 0.603547 \n", + "24 0.910182 0.606951 \n", + "26 2.990582 0.401571 \n", + "27 1.905009 0.403827 \n", + "... ... ... ... \n", + "1060 1.237414 0.599029 \n", + "1072 1.026524 0.225960 \n", + "1115 2.027095 0.397394 \n", + "1119 1.136028 0.602705 \n", + "1141 2.886132 0.398544 \n", + "\n", + "[83 rows x 41 columns]" + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
unique_idlabelall_evidenceis_processis_qualityis_chemical_entityis_biomeis_aquatic_biomeis_terrestrial_biomeis_environmental_material...NMW_voteNMW_commentSM_voteSM_commentYes = 1 No = -1 Maybe = 0IAA_scorevote_sumwas_subjected_to_votingvote_sum_jitteredIAA_score_jittered
18ENVO:00000011garden0.1188080752FALSEFALSEFALSEFALSEFALSEFALSEFALSE...10.211.0071230.200126
20ENVO:00000014canal0.00885439641FALSEFALSEFALSEFALSEFALSEFALSEFALSE...10.611.0111900.603547
24ENVO:00000020lake0.02299603202FALSEFALSEFALSEFALSEFALSEFALSEFALSE...10.610.9101820.606951
26ENVO:00000022river0.0144452756FALSEFALSEFALSEFALSEFALSEFALSEFALSE...30.432.9905820.401571
27ENVO:00000023stream0.008964021492FALSEFALSEFALSEFALSEFALSEFALSEFALSE...20.421.9050090.403827
..................................................................
1060ENVO:01001568frost heave0.00885439641FALSEFALSEFALSEFALSEFALSEFALSEFALSE...10.611.2374140.599029
1072ENVO:01001803tropical forest0.04140378549FALSEFALSEFALSEFALSEFALSEFALSEFALSE...10.211.0265240.225960
1115ENVO:03000117channel0.01770879282FALSEFALSEFALSEFALSEFALSEFALSEFALSE...20.422.0270950.397394
1119ENVO:03500005anthropogenic litter0.00885439641FALSEFALSEFALSEFALSEFALSEFALSEFALSE...10.611.1360280.602705
1141ENVO:04000009active permafrost layer0.02669271407FALSEFALSEFALSEFALSEFALSEFALSEFALSE...30.432.8861320.398544
\n", + "

83 rows × 41 columns

\n", + "
" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" } ], - "execution_count": 22 + "execution_count": 33 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "Now compare the voted-in classes with the ones that were locked into the v11.2 EnvLocalScaleSoilEnum by Mark's overly-clever code", + "id": "13294959de026158" + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T19:30:55.964856Z", + "start_time": "2024-12-17T19:30:51.883831Z" + } + }, + "cell_type": "code", + "source": "schema_with_mam_biased_sels_url = SchemaView(schema_with_mam_biased_sels_url)", + "id": "df9b5ae2e75c750a", + "outputs": [], + "execution_count": 34 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T19:30:55.969934Z", + "start_time": "2024-12-17T19:30:55.966270Z" + } + }, + "cell_type": "code", + "source": "mam_biased_sels_enum = schema_with_mam_biased_sels_url.get_enum(sels_enum_name)", + "id": "2fad836d09da2964", + "outputs": [], + "execution_count": 35 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T19:30:55.974142Z", + "start_time": "2024-12-17T19:30:55.971595Z" + } + }, + "cell_type": "code", + "source": "mam_biased_sels_enum_pvs = list(mam_biased_sels_enum.permissible_values.keys())", + "id": "ad3aa2bec37edf5c", + "outputs": [], + "execution_count": 36 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T19:30:55.979245Z", + "start_time": "2024-12-17T19:30:55.975767Z" + } + }, + "cell_type": "code", + "source": [ + "mam_biased_curie_label_dict = {}\n", + "for label_with_curie in mam_biased_sels_enum_pvs:\n", + " match = re.search(r'(.*?) \\[(.*?)\\]', label_with_curie) # Extract label and curie\n", + " if match:\n", + " label = match.group(1)\n", + " curie = match.group(2)\n", + " mam_biased_curie_label_dict[curie] = label\n" + ], + "id": "ed1819f36b9b6acd", + "outputs": [], + "execution_count": 37 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T19:30:55.983707Z", + "start_time": "2024-12-17T19:30:55.980642Z" + } + }, + "cell_type": "code", + "source": [ + "# Create the curie dictionary from filtered_df\n", + "votes_only_dict = dict(zip(vote_filtered_df['unique_id'], vote_filtered_df['label']))" + ], + "id": "1841902201bd6fdb", + "outputs": [], + "execution_count": 38 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T19:30:55.988207Z", + "start_time": "2024-12-17T19:30:55.985282Z" + } + }, + "cell_type": "code", + "source": "input_data = {'MAM biased': mam_biased_curie_label_dict, 'Votes': votes_only_dict}", + "id": "7d73d9c477023816", + "outputs": [], + "execution_count": 39 }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:13.165256Z", - "start_time": "2024-11-08T21:18:10.379687Z" + "end_time": "2024-12-17T19:30:55.992583Z", + "start_time": "2024-12-17T19:30:55.989642Z" } }, "cell_type": "code", + "source": "pvs_analysis = compare_curie_dicts(input_data)", + "id": "6c878291e42a7a82", + "outputs": [], + "execution_count": 40 + }, + { + "metadata": {}, + "cell_type": "markdown", "source": [ - "# remove curies from the targets if their label contains any of the exclusion fragments\n", - "for t in list(targets):\n", - " for fragment in exclude_by_superstring_over_is_a:\n", - " if fragment in adapter.label(t):\n", - " if t in targets:\n", - " targets.remove(t)\n", - "print(len(targets))" - ], - "id": "25b2802c320e922a", + "This dictionary shows the classes that were included in \n", + "- the v11.2 EnvLocalScaleSoilEnum by Mark's overly-clever code only\n", + "- the in-voted classes only\n", + "- the intersection of those two sets" + ], + "id": "65bf388d52388fcf" + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T19:30:55.999635Z", + "start_time": "2024-12-17T19:30:55.993896Z" + } + }, + "cell_type": "code", + "source": "pprint.pprint(pvs_analysis)", + "id": "29012dc9c5f42905", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "169\n" + "{'MAM biased only': {'ENVO:00000064': 'road',\n", + " 'ENVO:00000074': 'dam',\n", + " 'ENVO:00000100': 'valley',\n", + " 'ENVO:00000108': 'meadow ecosystem',\n", + " 'ENVO:00000127': 'badland',\n", + " 'ENVO:00000169': 'canyon',\n", + " 'ENVO:00000177': 'moraine',\n", + " 'ENVO:00000181': 'nunatak',\n", + " 'ENVO:00000276': 'drumlin',\n", + " 'ENVO:00000277': 'dry lake',\n", + " 'ENVO:00000280': 'escarpment',\n", + " 'ENVO:00000282': 'esker',\n", + " 'ENVO:00000300': 'scrubland area',\n", + " 'ENVO:00000304': 'shore',\n", + " 'ENVO:00000320': 'crevasse',\n", + " 'ENVO:00000325': 'polje',\n", + " 'ENVO:00000370': 'tuya',\n", + " 'ENVO:00000410': 'kipuka',\n", + " 'ENVO:00000417': 'machair',\n", + " 'ENVO:00000418': 'ria',\n", + " 'ENVO:00000419': 'stack',\n", + " 'ENVO:00000432': 'monadnock',\n", + " 'ENVO:00000438': 'alas',\n", + " 'ENVO:00000444': 'woodland clearing',\n", + " 'ENVO:00000496': 'rill',\n", + " 'ENVO:00000508': 'terrace',\n", + " 'ENVO:00000542': 'kame',\n", + " 'ENVO:00000543': 'swale',\n", + " 'ENVO:00000545': 'shingle beach',\n", + " 'ENVO:00000551': 'endorheic basin',\n", + " 'ENVO:00001996': 'mine drainage',\n", + " 'ENVO:01000446': 'ravine',\n", + " 'ENVO:01000649': 'trench',\n", + " 'ENVO:01000935': 'campground',\n", + " 'ENVO:01001207': 'ranch',\n", + " 'ENVO:01001489': 'spur',\n", + " 'ENVO:01001665': 'soil cryoturbate',\n", + " 'ENVO:01001871': 'pit',\n", + " 'ENVO:02000141': 'refinery',\n", + " 'ENVO:03000085': 'thermokarst',\n", + " 'ENVO:03000143': 'cryosphere',\n", + " 'ENVO:03501239': 'riverfront',\n", + " 'ENVO:03600087': 'greenhouse'},\n", + " 'Votes only': {'ENVO:00000014': 'canal',\n", + " 'ENVO:00000020': 'lake',\n", + " 'ENVO:00000025': 'reservoir',\n", + " 'ENVO:00000037': 'ditch',\n", + " 'ENVO:00000043': 'wetland area',\n", + " 'ENVO:00000045': 'estuary',\n", + " 'ENVO:00000051': 'hot spring',\n", + " 'ENVO:00000057': 'mangrove swamp',\n", + " 'ENVO:00000101': 'delta',\n", + " 'ENVO:00000109': 'woodland area',\n", + " 'ENVO:00000114': 'agricultural field',\n", + " 'ENVO:00000141': 'bank',\n", + " 'ENVO:00000178': 'levee',\n", + " 'ENVO:00000189': 'peat swamp',\n", + " 'ENVO:00000192': 'mudflat',\n", + " 'ENVO:00000305': 'peninsula',\n", + " 'ENVO:00000316': 'intertidal zone',\n", + " 'ENVO:00000328': 'vadose zone',\n", + " 'ENVO:00000486': 'shoreline',\n", + " 'ENVO:00005803': 'animal habitation',\n", + " 'ENVO:00012408': 'aquifer',\n", + " 'ENVO:01000433': 'needleleaf forest',\n", + " 'ENVO:01000447': 'roadside',\n", + " 'ENVO:01000671': 'dike',\n", + " 'ENVO:01000816': 'area of deciduous forest',\n", + " 'ENVO:01000843': 'area of evergreen forest',\n", + " 'ENVO:01000861': 'area of dwarf scrub',\n", + " 'ENVO:01000891': 'area of pastureland or hayfields',\n", + " 'ENVO:01000892': 'area of cropland',\n", + " 'ENVO:01001803': 'tropical forest',\n", + " 'ENVO:03500005': 'anthropogenic litter'},\n", + " 'shared': {'ENVO:00000011': 'garden',\n", + " 'ENVO:00000022': 'river',\n", + " 'ENVO:00000023': 'stream',\n", + " 'ENVO:00000026': 'well',\n", + " 'ENVO:00000027': 'spring',\n", + " 'ENVO:00000031': 'wadi',\n", + " 'ENVO:00000035': 'marsh',\n", + " 'ENVO:00000039': 'fjord',\n", + " 'ENVO:00000044': 'peatland',\n", + " 'ENVO:00000067': 'cave',\n", + " 'ENVO:00000068': 'tunnel',\n", + " 'ENVO:00000076': 'mine',\n", + " 'ENVO:00000078': 'farm',\n", + " 'ENVO:00000081': 'mountain',\n", + " 'ENVO:00000083': 'hill',\n", + " 'ENVO:00000086': 'plain',\n", + " 'ENVO:00000087': 'cliff',\n", + " 'ENVO:00000091': 'beach',\n", + " 'ENVO:00000096': 'caldera',\n", + " 'ENVO:00000133': 'glacier',\n", + " 'ENVO:00000155': 'cirque',\n", + " 'ENVO:00000170': 'dune',\n", + " 'ENVO:00000174': 'isthmus',\n", + " 'ENVO:00000175': 'karst',\n", + " 'ENVO:00000179': 'mesa',\n", + " 'ENVO:00000182': 'plateau',\n", + " 'ENVO:00000195': 'sinkhole',\n", + " 'ENVO:00000216': 'fumarole',\n", + " 'ENVO:00000232': 'fen',\n", + " 'ENVO:00000247': 'volcano',\n", + " 'ENVO:00000255': 'flood plain',\n", + " 'ENVO:00000260': 'prairie',\n", + " 'ENVO:00000262': 'steppe',\n", + " 'ENVO:00000266': 'pasture',\n", + " 'ENVO:00000283': 'ridge',\n", + " 'ENVO:00000284': 'quarry',\n", + " 'ENVO:00000287': 'butte',\n", + " 'ENVO:00000291': 'drainage basin',\n", + " 'ENVO:00000292': 'watershed',\n", + " 'ENVO:00000463': 'harbour',\n", + " 'ENVO:00000489': 'palsa',\n", + " 'ENVO:00000514': 'crater',\n", + " 'ENVO:00000516': 'hummock',\n", + " 'ENVO:00000533': 'landfill',\n", + " 'ENVO:00000562': 'park',\n", + " 'ENVO:00002000': 'slope',\n", + " 'ENVO:00002061': 'oil spill',\n", + " 'ENVO:00005801': 'rhizosphere',\n", + " 'ENVO:01001357': 'desert',\n", + " 'ENVO:01001568': 'frost heave',\n", + " 'ENVO:03000117': 'channel',\n", + " 'ENVO:04000009': 'active permafrost layer'}}\n" ] } ], - "execution_count": 23 + "execution_count": 41 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": [ + "Are all of the in-voted classes astronomic body parts?\n", + "\n", + "Or are some environmental systems? Or something else? None of that is indiciated on the voting sheet.\n" + ], + "id": "81b495edeeabb423" }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:13.545525Z", - "start_time": "2024-11-08T21:18:13.177546Z" + "end_time": "2024-12-17T19:30:56.267848Z", + "start_time": "2024-12-17T19:30:56.001095Z" + } + }, + "cell_type": "code", + "source": "ancestor_frame = tabulate_core_ancestor_counts(list(votes_only_dict.keys()), envo_adapter)", + "id": "34d74a0f41abfdbf", + "outputs": [], + "execution_count": 42 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T19:30:56.279457Z", + "start_time": "2024-12-17T19:30:56.269724Z" } }, "cell_type": "code", "source": [ - "for fbi in force_back_in: \n", - " # add tracking of fbis that don't map to any terms, fbis that already are in targets...\n", - " fbi_count = 0\n", - " for class_id in adapter.basic_search(fbi):\n", - " fbi_count += 1\n", - " if class_id not in targets:\n", - " print(f\"Adding {fbi} to targets\")\n", - " targets.add(class_id)\n", - " else:\n", - " print(f'{fbi} already in targets')\n", - " if fbi_count == 0:\n", - " print(f\"Can't find {fbi} in adapter\")" - ], - "id": "d0e98fd90746b5be", + "ancestor_frame\n", + "\n", + "# there are limits to how useful this is for picking a root for ELS" + ], + "id": "c2ae21965ff56521", "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "Adding agricultural ecosystem to targets\n", - "Adding agricultural field to targets\n", - "dune already in targets\n", - "Adding farm to targets\n", - "Adding forested area to targets\n", - "Adding frozen land to targets\n", - "garden already in targets\n", - "Adding grassland area to targets\n", - "Adding meadow ecosystem to targets\n", - "mountain already in targets\n", - "Adding orchard to targets\n", - "Adding pasture to targets\n", - "Adding peatland to targets\n", - "Adding pond to targets\n", - "Adding roadside to targets\n", - "Adding savanna to targets\n", - "Adding steppe to targets\n", - "Adding active permafrost layer to targets\n", - "Adding fen to targets\n", - "Adding fjord to targets\n", - "Adding glacier to targets\n", - "Adding marsh to targets\n", - "peatland already in targets\n", - "Adding prairie to targets\n", - "Adding rhizosphere to targets\n", - "Adding river to targets\n", - "Adding spring to targets\n", - "Adding stream to targets\n", - "Adding woodland area to targets\n", - "Adding arable land to targets\n", - "Adding biochar to targets\n", - "Adding flood plain to targets\n", - "Adding forest ecosystem to targets\n", - "meadow ecosystem already in targets\n", - "Adding mine drainage to targets\n", - "Adding oil spill to targets\n", - "pasture already in targets\n", - "Adding permafrost to targets\n", - "Adding ranch to targets\n", - "Adding thermokarst to targets\n", - "Adding wetland ecosystem to targets\n" - ] + "data": { + "text/plain": [ + " index ancestor_curie_label ancestor_curie_count\n", + "4 BFO:0000040 material entity 82\n", + "7 ENVO:01000813 astronomical body part 70\n", + "16 ENVO:01001784 compound astronomical body part 46\n", + "27 ENVO:00000191 solid astronomical body part 39\n", + "29 ENVO:01001886 landform 35\n", + ".. ... ... ...\n", + "72 ENVO:00000096 caldera 2\n", + "69 ENVO:00000087 cliff 2\n", + "64 ENVO:00000081 mountain 2\n", + "63 ENVO:01001828 anthropised ecosystem 2\n", + "158 ENVO:04000009 active permafrost layer 2\n", + "\n", + "[127 rows x 3 columns]" + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
indexancestor_curie_labelancestor_curie_count
4BFO:0000040material entity82
7ENVO:01000813astronomical body part70
16ENVO:01001784compound astronomical body part46
27ENVO:00000191solid astronomical body part39
29ENVO:01001886landform35
............
72ENVO:00000096caldera2
69ENVO:00000087cliff2
64ENVO:00000081mountain2
63ENVO:01001828anthropised ecosystem2
158ENVO:04000009active permafrost layer2
\n", + "

127 rows × 3 columns

\n", + "
" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" } ], - "execution_count": 24 + "execution_count": 43 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T19:30:56.435637Z", + "start_time": "2024-12-17T19:30:56.281378Z" + } + }, + "cell_type": "code", + "source": "is_abp_df = check_descendants(list(votes_only_dict.keys()), ABP, envo_adapter)", + "id": "d83dbfaee65d3e02", + "outputs": [], + "execution_count": 44 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T19:30:56.448989Z", + "start_time": "2024-12-17T19:30:56.437580Z" + } + }, + "cell_type": "code", + "source": "is_abp_df", + "id": "d0336ff65bbb11c9", + "outputs": [ + { + "data": { + "text/plain": [ + " curie label is_astronomical_body_part\n", + "0 ENVO:00000011 garden True\n", + "1 ENVO:00000014 canal True\n", + "2 ENVO:00000020 lake True\n", + "3 ENVO:00000022 river True\n", + "4 ENVO:00000023 stream True\n", + ".. ... ... ...\n", + "78 ENVO:01001568 frost heave True\n", + "79 ENVO:01001803 tropical forest True\n", + "80 ENVO:03000117 channel True\n", + "81 ENVO:03500005 anthropogenic litter False\n", + "82 ENVO:04000009 active permafrost layer True\n", + "\n", + "[83 rows x 3 columns]" + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
curielabelis_astronomical_body_part
0ENVO:00000011gardenTrue
1ENVO:00000014canalTrue
2ENVO:00000020lakeTrue
3ENVO:00000022riverTrue
4ENVO:00000023streamTrue
............
78ENVO:01001568frost heaveTrue
79ENVO:01001803tropical forestTrue
80ENVO:03000117channelTrue
81ENVO:03500005anthropogenic litterFalse
82ENVO:04000009active permafrost layerTrue
\n", + "

83 rows × 3 columns

\n", + "
" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 45 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T19:30:56.456544Z", + "start_time": "2024-12-17T19:30:56.451030Z" + } + }, + "cell_type": "code", + "source": "not_abp = is_abp_df.loc[~is_abp_df['is_astronomical_body_part'], 'curie'].tolist()", + "id": "64f4ffe54051eac2", + "outputs": [], + "execution_count": 46 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "Here are the in-voted classes that are not astronomical body parts", + "id": "b951da8a0933539" }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:14.085364Z", - "start_time": "2024-11-08T21:18:13.559091Z" + "end_time": "2024-12-17T19:30:56.464463Z", + "start_time": "2024-12-17T19:30:56.458411Z" } }, "cell_type": "code", "source": [ - "for fo in force_out:\n", - " for class_id in adapter.basic_search(fo):\n", - " if class_id in targets:\n", - " print(f\"Removing {fo} from targets\")\n", - " targets.remove(class_id)\n", - " else:\n", - " print(f'{fo} not in targets')\n", - " \n", - "# these won't show up in the previously closed sels_depletion.tsv" - ], - "id": "9c2be4ce4f8521a0", + "for i in not_abp:\n", + " l = envo_adapter.label(i)\n", + " print(f\"{i} ! {l}\")" + ], + "id": "8c3e017f26e32132", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Removing cut from targets\n", - "Removing field from targets\n", - "Removing flattened elevation from targets\n", - "Removing market from targets\n", - "Removing mount from targets\n", - "Removing peak from targets\n", - "Removing trough from targets\n", - "Removing yard from targets\n", - "Removing airport from targets\n", - "Removing bike path from targets\n", - "Removing biota from targets\n", - "Removing bowling alley from targets\n", - "Removing clinic from targets\n", - "Removing endorheic basin from targets\n", - "Removing footbridge from targets\n", - "Removing fossil worm burrow from targets\n", - "Removing fountain from targets\n", - "Removing galaxy from targets\n", - "Removing globular star cluster from targets\n", - "handrail not in targets\n", - "Removing hangar from targets\n", - "Removing human nursery from targets\n", - "Removing interfluve from targets\n", - "Removing kame from targets\n", - "Removing kipuka from targets\n", - "limestone pavement not in targets\n", - "Removing maar from targets\n", - "Removing machair from targets\n", - "Removing manufactured plastisphere from targets\n", - "Removing microfracture from targets\n", - "Removing midden from targets\n", - "Removing military training area from targets\n", - "Removing moatan from targets\n", - "Removing mofetta from targets\n", - "Removing nebula from targets\n", - "Removing nunatak from targets\n", - "Removing outwash fan from targets\n", - "Removing overflow structure from targets\n", - "Removing patio from targets\n", - "Removing paved parking lot from targets\n", - "Removing petting zoo from targets\n", - "Removing place of worship from targets\n", - "Removing plastisphere from targets\n", - "polder not in targets\n", - "Removing processing line from targets\n", - "Removing pseudocrater from targets\n", - "Removing railway from targets\n", - "Removing ria from targets\n", - "Removing rill from targets\n", - "Removing sandy beach from targets\n", - "Removing shear fracture from targets\n", - "Removing shingle beach from targets\n", - "Removing shipwreck from targets\n", - "Removing solfatara from targets\n", - "Removing spur from targets\n", - "spur not in targets\n", - "Removing strand crack from targets\n", - "Removing stratovolcano from targets\n", - "Removing structural basin from targets\n", - "Removing technosphere from targets\n", - "Removing track from targets\n", - "Removing tube well from targets\n", - "Removing tuya from targets\n", - "Removing unexploded-ordnance dump from targets\n" + "ENVO:00000133 ! glacier\n", + "ENVO:00005803 ! animal habitation\n", + "ENVO:03500005 ! anthropogenic litter\n" ] } ], - "execution_count": 25 + "execution_count": 47 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "Here are their parent classes. Maybe we want to make boolean filter columns in the voting sheets for some of them?", + "id": "d04b29ae991dc8d3" }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:14.199387Z", - "start_time": "2024-11-08T21:18:14.098765Z" + "end_time": "2024-12-17T19:30:56.482313Z", + "start_time": "2024-12-17T19:30:56.466532Z" } }, "cell_type": "code", - "source": [ - "labelled_targets = []\n", - "for t in targets:\n", - " labelled_targets.append(\n", - " {\n", - " 'id': t,\n", - " 'label': adapter.label(t)\n", - " }\n", - " )" - ], - "id": "67e8e7d3100e7c36", + "source": "non_abp_ancestor_frame = tabulate_core_ancestor_counts(not_abp, envo_adapter, min_count_threshold=1, omit_max_count=False)", + "id": "d07e6e05e2697a80", "outputs": [], - "execution_count": 26 + "execution_count": 48 }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:14.257798Z", - "start_time": "2024-11-08T21:18:14.239145Z" + "end_time": "2024-12-17T19:30:56.495064Z", + "start_time": "2024-12-17T19:30:56.484359Z" + } + }, + "cell_type": "code", + "source": "non_abp_ancestor_frame", + "id": "7b1ea5fbb50cf93a", + "outputs": [ + { + "data": { + "text/plain": [ + " index ancestor_curie_label \\\n", + "1 BFO:0000001 entity \n", + "2 BFO:0000002 continuant \n", + "3 BFO:0000004 independent continuant \n", + "5 BFO:0000040 material entity \n", + "0 ENVO:00000133 glacier \n", + "8 ENVO:00005803 animal habitation \n", + "10 ENVO:03500005 anthropogenic litter \n", + "4 BFO:0000030 object \n", + "6 ENVO:01001686 mass of environmental material \n", + "7 ENVO:01001691 mass of compounded environmental materials \n", + "9 ENVO:01001813 construction \n", + "\n", + " ancestor_curie_count \n", + "1 3 \n", + "2 3 \n", + "3 3 \n", + "5 3 \n", + "0 2 \n", + "8 2 \n", + "10 2 \n", + "4 1 \n", + "6 1 \n", + "7 1 \n", + "9 1 " + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
indexancestor_curie_labelancestor_curie_count
1BFO:0000001entity3
2BFO:0000002continuant3
3BFO:0000004independent continuant3
5BFO:0000040material entity3
0ENVO:00000133glacier2
8ENVO:00005803animal habitation2
10ENVO:03500005anthropogenic litter2
4BFO:0000030object1
6ENVO:01001686mass of environmental material1
7ENVO:01001691mass of compounded environmental materials1
9ENVO:01001813construction1
\n", + "
" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 49 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "Or maybe not", + "id": "e9a426ae706c7910" + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T19:30:56.501421Z", + "start_time": "2024-12-17T19:30:56.497016Z" } }, "cell_type": "code", "source": [ - "export_frame = pd.DataFrame(labelled_targets)\n", + "votes_df_to_save = vote_filtered_df[['unique_id', 'label']]\n", "\n", - "export_frame.to_csv(output_file, sep='\\t', index=False)" + "votes_df_to_save.columns = ['id','label']" ], - "id": "2c72d0bcd67213c2", + "id": "6ba7f6a92c455542", "outputs": [], - "execution_count": 27 + "execution_count": 50 }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-08T21:18:14.311519Z", - "start_time": "2024-11-08T21:18:14.302991Z" + "end_time": "2024-12-17T19:30:56.510499Z", + "start_time": "2024-12-17T19:30:56.503499Z" } }, "cell_type": "code", - "source": "", - "id": "25e24ebecb5efdf1", + "source": "votes_df_to_save.to_csv(output_file, index=False, sep=\"\\t\")", + "id": "44b60ff78bfcd82f", "outputs": [], - "execution_count": null + "execution_count": 51 } ], "metadata": { diff --git a/notebooks/environmental_context_value_sets/soil/env_local_scale/post_google_sheets_soil_env_local_scale.tsv b/notebooks/environmental_context_value_sets/soil/env_local_scale/post_google_sheets_soil_env_local_scale.tsv index 5b973186..3b73dfa8 100644 --- a/notebooks/environmental_context_value_sets/soil/env_local_scale/post_google_sheets_soil_env_local_scale.tsv +++ b/notebooks/environmental_context_value_sets/soil/env_local_scale/post_google_sheets_soil_env_local_scale.tsv @@ -1,96 +1,84 @@ id label +ENVO:00000011 garden +ENVO:00000014 canal +ENVO:00000020 lake +ENVO:00000022 river +ENVO:00000023 stream +ENVO:00000025 reservoir +ENVO:00000026 well +ENVO:00000027 spring +ENVO:00000031 wadi +ENVO:00000035 marsh +ENVO:00000037 ditch +ENVO:00000039 fjord +ENVO:00000043 wetland area +ENVO:00000044 peatland +ENVO:00000045 estuary +ENVO:00000051 hot spring +ENVO:00000057 mangrove swamp ENVO:00000067 cave -ENVO:00000463 harbour -ENVO:00000169 canyon -ENVO:00000292 watershed -ENVO:00001996 mine drainage -ENVO:00000304 shore ENVO:00000068 tunnel -ENVO:00000081 mountain -ENVO:00000026 well -ENVO:01001357 desert -ENVO:00000011 garden -ENVO:00000418 ria -ENVO:00000282 esker +ENVO:00000076 mine ENVO:00000078 farm -ENVO:00000370 tuya -ENVO:00000179 mesa -ENVO:00000175 karst -ENVO:00000533 landfill -ENVO:00000260 prairie -ENVO:00000096 caldera -ENVO:00000325 polje -ENVO:00000508 terrace -ENVO:00000266 pasture -ENVO:01001489 spur -ENVO:00000320 crevasse -ENVO:00000127 badland -ENVO:00000417 machair -ENVO:01001871 pit -ENVO:01001665 soil cryoturbate -ENVO:00000291 drainage basin -ENVO:00005801 rhizosphere +ENVO:00000081 mountain +ENVO:00000083 hill ENVO:00000086 plain -ENVO:00000280 escarpment -ENVO:00000276 drumlin -ENVO:00000543 swale -ENVO:00000108 meadow ecosystem -ENVO:00000044 peatland -ENVO:00000410 kipuka -ENVO:00000516 hummock -ENVO:00000489 palsa -ENVO:00000255 flood plain -ENVO:00000027 spring -ENVO:02000141 refinery -ENVO:00000076 mine -ENVO:00000023 stream -ENVO:00002061 oil spill -ENVO:00000444 woodland clearing -ENVO:00000514 crater -ENVO:00000031 wadi -ENVO:00000091 beach -ENVO:01000649 trench ENVO:00000087 cliff -ENVO:00000496 rill -ENVO:00000287 butte -ENVO:03000085 thermokarst +ENVO:00000091 beach +ENVO:00000096 caldera +ENVO:00000101 delta +ENVO:00000109 woodland area +ENVO:00000114 agricultural field +ENVO:00000133 glacier +ENVO:00000141 bank ENVO:00000155 cirque -ENVO:00000174 isthmus -ENVO:00000284 quarry -ENVO:01001207 ranch -ENVO:03000117 channel -ENVO:00000035 marsh ENVO:00000170 dune -ENVO:00000419 stack -ENVO:00000300 scrubland area -ENVO:00000039 fjord -ENVO:04000009 active permafrost layer -ENVO:00002000 slope -ENVO:01000446 ravine -ENVO:00000133 glacier -ENVO:03600087 greenhouse -ENVO:00000283 ridge -ENVO:00000022 river +ENVO:00000174 isthmus +ENVO:00000175 karst +ENVO:00000178 levee +ENVO:00000179 mesa +ENVO:00000182 plateau +ENVO:00000189 peat swamp +ENVO:00000192 mudflat +ENVO:00000195 sinkhole ENVO:00000216 fumarole -ENVO:00000542 kame ENVO:00000232 fen -ENVO:00000100 valley -ENVO:03000143 cryosphere -ENVO:01000935 campground -ENVO:00000277 dry lake -ENVO:01001568 frost heave -ENVO:00000182 plateau +ENVO:00000247 volcano +ENVO:00000255 flood plain +ENVO:00000260 prairie ENVO:00000262 steppe -ENVO:00000432 monadnock -ENVO:00000545 shingle beach -ENVO:00000438 alas -ENVO:00000195 sinkhole +ENVO:00000266 pasture +ENVO:00000283 ridge +ENVO:00000284 quarry +ENVO:00000287 butte +ENVO:00000291 drainage basin +ENVO:00000292 watershed +ENVO:00000305 peninsula +ENVO:00000316 intertidal zone +ENVO:00000328 vadose zone +ENVO:00000463 harbour +ENVO:00000486 shoreline +ENVO:00000489 palsa +ENVO:00000514 crater +ENVO:00000516 hummock +ENVO:00000533 landfill ENVO:00000562 park -ENVO:03501239 riverfront -ENVO:00000074 dam -ENVO:00000181 nunatak -ENVO:00000083 hill -ENVO:00000177 moraine -ENVO:00000551 endorheic basin -ENVO:00000064 road -ENVO:00000247 volcano +ENVO:00002000 slope +ENVO:00002061 oil spill +ENVO:00005801 rhizosphere +ENVO:00005803 animal habitation +ENVO:00012408 aquifer +ENVO:01000433 needleleaf forest +ENVO:01000447 roadside +ENVO:01000671 dike +ENVO:01000816 area of deciduous forest +ENVO:01000843 area of evergreen forest +ENVO:01000861 area of dwarf scrub +ENVO:01000891 area of pastureland or hayfields +ENVO:01000892 area of cropland +ENVO:01001357 desert +ENVO:01001568 frost heave +ENVO:01001803 tropical forest +ENVO:03000117 channel +ENVO:03500005 anthropogenic litter +ENVO:04000009 active permafrost layer diff --git a/notebooks/environmental_context_value_sets/soil/env_local_scale/post_google_sheets_soil_env_local_scale_initial.tsv b/notebooks/environmental_context_value_sets/soil/env_local_scale/post_google_sheets_soil_env_local_scale_initial.tsv deleted file mode 100644 index a1e98c49..00000000 --- a/notebooks/environmental_context_value_sets/soil/env_local_scale/post_google_sheets_soil_env_local_scale_initial.tsv +++ /dev/null @@ -1,5132 +0,0 @@ -ENVO:03500018 solder -ENVO:01000857 temperate mediterranean sea biome -ENVO:01001888 calcic spring -NCBITaxon:1301283 Oscillatoriophycideae -UBERON:0010042 1st arch mesenchyme -CHEBI:32876 tertiary amine -CHEBI:33653 aliphatic compound -ENVO:01000001 mud -ENVO:01001047 non-saline planetary subsurface environment -FOODON:00001261 vegetable food product -ENVO:00000142 stream bank -UBERON:0000021 cutaneous appendage -UBERON:0003831 respiratory system muscle -ENVO:2000037 fossil fuel power plant -ENVO:00000207 oceanic zone -CHEBI:25523 NADP -CHEBI:33583 noble gas molecular entity -ENVO:01001546 iceberg -ENVO:01001709 katafront -ENVO:03501219 window -ENVO:00000503 container of an intermittent oxbow lake -CHEBI:24473 halogen -ENVO:01000966 private swimming pool -ENVO:01001338 diurnal marine tidal flow zone -ENVO:02000001 textile -FOODON:00001172 nut food product -ENVO:02000111 copper ore -ENVO:00010483 environmental material -ENVO:01000933 residential building -ENVO:00000301 chaparral area -CHEBI:33658 arene -UBERON:0007282 presumptive segmental plate -CHEBI:49994 monoatomic neon -UBERON:0000176 oronasal secretion -ENVO:00005766 limed soil -ENVO:01000905 shrimp pond -FOODON:00001059 apple juice -CHEBI:50558 monoatomic uranium -ENVO:00002156 Superfund site -ENVO:00000213 marine mesopelagic zone -ENVO:00009726 strand crack -ENVO:01000790 hydrocarbon flame -FOODON:00001146 solanaceous root food product -UBERON:0003504 respiratory system blood vessel -CHEBI:53243 poly(vinyl chloride) -NCBITaxon:12965 Bathymodiolus -ENVO:01000233 intermediate lava -UBERON:0003834 thoracic segment blood vessel -ENVO:03400005 ice pellet -ENVO:00000536 moatan -CHEBI:35352 organonitrogen compound -ENVO:01000664 tuff cone -FOODON:00002157 plant sweetener -ENVO:03600011 mineral horizon -CHEBI:36915 inorganic cation -ENVO:03510002 automatic transmission fluid -ENVO:03500016 electroplating fume -ENVO:03501100 ferry -ENVO:00000439 dell -ENVO:03501217 tissue paper -CHEBI:13643 glycol -ENVO:01000515 tiled building roof -FOODON:00001187 sorghum food product -UBERON:0012112 ingested food -CHEBI:25524 NAD(P) -ENVO:03501279 tenement -ENVO:06105007 plastic film -NCBITaxon:71275 rosids -FOODON:00001193 fonio food product -NCBITaxon:1163 Anabaena -ENVO:00000067 cave -ENVO:01001354 volcanic crater glacier -UBERON:0004716 conceptus -ENVO:01000089 shelf-slope/shelf-break front -ENVO:03501163 nutrition and dietetics unit facility -ENVO:01001608 kerosene oil -CHEBI:23367 molecular entity -UBERON:0009610 forebrain neural plate -ENVO:00000189 peat swamp -FOODON:00001100 orange fruit beverage -ENVO:1000750 depositional island -CHEBI:33303 chalcogen -ENVO:00002150 coastal sea water -ENVO:01001835 alpine biome -NCBITaxon:3699 Brassicales -UBERON:0002384 connective tissue -ENVO:01001415 homogenitus cloud -ENVO:01000427 carbon nanotube enriched soil -ENVO:03501257 barn -ENVO:01000259 pycnocline -ENVO:06105009 plastic line -FOODON:00001017 commercial yogurt -ENVO:03510024 lacquer -ENVO:04000008 soil organic matter -ENVO:00000122 track -FOODON:00001015 plant food product -ENVO:2000044 coke -ENVO:00000042 drainage canal -ENVO:01001015 fogbow -CHEBI:22927 bromine atom -ENVO:01001282 silica dust -UBERON:0001893 telencephalon -ENVO:01000254 environmental system -FOODON:00001632 barley flour food product -ENVO:02000155 solid waste material -ENVO:00000540 brackish lake -UBERON:0000926 mesoderm -ENVO:00000538 arrugado -NCBITaxon:2698737 Sar -UBERON:0004232 lymphatic vessel smooth muscle -CHEBI:16842 formaldehyde -ENVO:01001676 marine cline -ENVO:01000212 temperate mixed forest biome -ENVO:00000892 small freshwater lake biome -ENVO:01000485 quartz glass -ENVO:01000199 mediterranean forest biome -ENVO:01001828 anthropised ecosystem -ENVO:01000179 desert biome -NCBITaxon:117570 Teleostomi -ENVO:01000580 telephone -UBERON:0015329 respiratory system basement membrane -UBERON:0004522 vasculature of musculoskeletal system -UBERON:0003133 reproductive organ -ENVO:01000156 biofilm material -ENVO:01000309 cold environment -ENVO:01000066 marine anoxic zone -ENVO:00000114 agricultural field -NCBITaxon:131567 cellular organisms -UBERON:0001799 vitreous chamber of eyeball -ENVO:01000750 Mohorovicic discontinuity -FOODON:00001184 algal food product -ENVO:03501178 rheumatology unit facility -ENVO:00000185 raised mire -ENVO:00002234 acrisol -CHEBI:33299 alkaline earth molecular entity -ENVO:03600077 photobioreactor -ENVO:00000363 area designated as a nature reserve -CHEBI:33662 annulene -ENVO:02000108 cotton dust -NCBITaxon:1329799 Archelosauria -ENVO:00002139 pebble -FOODON:00001867 food dressing product -FOODON:00001048 meshanger cheese food product -UBERON:4100000 skeletal element projection -ENVO:01000252 freshwater lake biome -ENVO:01000190 flooded savanna biome -CHEBI:155827 argon-39 atom -ENVO:01000805 globular star cluster -ENVO:00000463 harbour -ENVO:01000154 carbon dioxide-reducing sediment -ENVO:00000381 massif -ENVO:01000363 erosional cave -ENVO:00002050 achondrite -ENVO:01000332 gravelly slope -ENVO:01000083 pelagic isopycnal surface -ENVO:01000123 marine sponge reef biome -CHEBI:61275 ciguatoxin -ENVO:01000827 closed eaves -ENVO:00000121 artificial channel -ENVO:01001711 upper air -UBERON:0007651 anatomical junction -CHEBI:25017 leucine -UBERON:0003824 nerve of thoracic segment -CHEBI:16336 hyaluronic acid -ENVO:01001470 observatory system -CHEBI:88184 metal allergen -ENVO:06105278 silty clay loam -UBERON:0003914 epithelial tube -CHEBI:155908 copper tetrapyrrole -FOODON:00001019 wort food product -ENVO:01001497 carbonate system of ocean water -UBERON:0004906 ectodermal part of digestive tract -ENVO:00000471 flood control dam -ENVO:01000077 marine pycnocline -CHEBI:60034 polyethylene polymer -ENVO:01000845 crystal -CHEBI:60027 polymer -ENVO:02000095 uranium ore -ENVO:01000045 epeiric sea biome -FOODON:03400777 eurofir food classification -ENVO:00003085 skatole enriched soil -ENVO:01000299 Taylor column -CHEBI:25741 oxide -ENVO:00000349 terrarium -ENVO:01001017 halo -ENVO:01000019 cave floor -ENVO:03605005 epixylon -ENVO:01000241 juniper woodland -ENVO:00002128 mesophilic sulfur spring -CHEBI:33366 copper group element atom -ENVO:03501253 gypsum -NCBITaxon:13100 Juniperus -UBERON:0000020 sense organ -UBERON:0005291 embryonic tissue -ENVO:00000451 amenity lake -ENVO:00010504 surface layer -CHEBI:31002 octacosanoate -ENVO:01001899 reef -ENVO:04000007 lake water -ENVO:01000518 diapir -ENVO:01000587 piece of furniture -ENVO:01001790 terrestrial ecosystem -ENVO:00002127 stream sediment -FOODON:00001232 vinaigrette dressing food product -ENVO:03600066 halite -FOODON:00001293 shellfish food product -ENVO:01000460 asphalt -ENVO:00000168 blowhole -FOODON:00001003 fermented agave juice -UBERON:0009751 cardiac mesenchyme -ENVO:00000479 mouth -ENVO:01000803 asteroid -UBERON:0009142 entire embryonic mesenchyme -ENVO:01000800 planet -ENVO:01001554 surface layer of a water body -UBERON:0006240 future forebrain -ENVO:00002242 lixisol -ENVO:02000105 clay dust -ENVO:01001872 manure pit -ENVO:01001775 blind thrust fault -ENVO:00000169 canyon -ENVO:03000083 methane-releasing thermokarst lake -ENVO:00005781 heat stressed soil -CHEBI:64712 trivalent inorganic cation -ENVO:00010621 medical instrument -CHEBI:61642 polystyrene polymer -CHEBI:30762 salicylate -ENVO:00009686 ice rise -PO:0025157 phyllome epidermis -ENVO:03501310 switch -ENVO:00000319 low tide zone -ENVO:2000000 chemical product -ENVO:00002232 andosol -ENVO:01001308 hydroform -ENVO:03510065 colorant fluid -ENVO:00000495 tributary -CHEBI:26523 reactive oxygen species -UBERON:0004119 endoderm-derived structure -ENVO:01000552 natural gas -ENVO:00000263 fissure cave -ENVO:01001832 subtropical biome -ENVO:03501317 food production environmental monitoring zone 4 -FOODON:00001253 plant derived beverage -ENVO:03501277 orangery -ENVO:03501191 physiotherapy clinic -UBERON:0009569 subdivision of trunk -ENVO:03501292 tote bin -ENVO:01000637 outer space -CHEBI:3311 calcium carbonate -ENVO:00002262 clay soil -ENVO:01000081 pelagic isohaline surface -UBERON:0011138 postcranial axial skeletal system -ENVO:03501338 human nursery -UBERON:0012180 head or neck skin -FOODON:00001231 creamy salad dressing -FOODON:00001081 Bondon cheese food product -UBERON:0036215 anatomical surface region -FOODON:00002316 tomato juice food product -ENVO:01001179 cnidarian-associated environment -ENVO:00002182 nitrobenzene enriched sediment -CHEBI:33245 organic fundamental parent -FOODON:00002778 jack bean (whole) -NCBITaxon:465832 Calyptra -UBERON:0036017 regurgitated substance -ENVO:03510008 diesel exhaust -ENVO:00002204 anthropogenic contamination feature -FOODON:00001234 mayonnaise food product -CHEBI:79388 divalent inorganic anion -ENVO:01001057 environment associated with a plant part or small plant -CHEBI:33559 s-block element atom -CHEBI:61293 adenyl nucleotide -ENVO:00000395 channel of a watercourse -ENVO:01001299 atmospheric zone -ENVO:00000450 irrigation reservoir -NCBITaxon:33340 Neoptera -CHEBI:33671 heteropolycyclic compound -ENVO:00000204 ephemeral spring -CHEBI:37622 carboxamide -FOODON:00001173 plant seed food product -ENVO:03600038 experimental forest ecosystem -ENVO:01001309 liquid air-water interface layer -ENVO:00000292 watershed -CHEBI:18276 dihydrogen -ENVO:01001286 slate dust -ENVO:03510041 wood stain -CHEBI:33372 neodymium atom -CHEBI:73113 divinyl chlorophyll a -FOODON:00001009 hot dog -ENVO:01000586 chair -ENVO:03600030 soil horizon -ENVO:00001996 mine drainage -CHEBI:36980 pyridine nucleotide -ENVO:01000085 plume front -UBERON:0003426 dermis adipose tissue -ENVO:00002873 organic waste material -ENVO:00003967 creamery -CHEBI:46679 gruenerite -ENVO:01000389 temperate mixed broadleaf forest -ENVO:01000612 taxicab -ENVO:00000332 doline -ENVO:01000412 circalittoral zone -ENVO:00003065 distilled water -ENVO:01000908 geothermally heated river -CHEBI:38702 inorganic sodium salt -CHEBI:16134 ammonia -ENVO:01000576 apiary -CHEBI:25477 naphthalenes -ENVO:00002270 chemocline -ENVO:01001524 frozen land -FOODON:00001079 food (pickled) -UBERON:0000063 organ subunit -ENVO:00000304 shore -ENVO:01000538 stratosphere -ENVO:03501221 bistro -PO:0025131 plant anatomical entity -FOODON:00001275 hen egg food product -ENVO:00002226 borehole -CHEBI:190295 inorganic calcium salt -ENVO:03501355 public-private prison -ENVO:01001788 marine ecosystem -CHEBI:37121 guanosine 5'-phosphate -ENVO:03510038 volume of cyanoacrylate -ENVO:01000609 motor boat -ENVO:01000681 sodium chloride salt -NCBITaxon:88770 Panarthropoda -ENVO:01001304 oasis -CHEBI:46663 silicate mineral -ENVO:00000165 asphalt lake -CHEBI:25555 nitrogen atom -ENVO:00000068 tunnel -CHEBI:27573 silicon atom -ENVO:01001784 compound astronomical body part -UBERON:0000383 musculature of body -ENVO:00000334 syngenetic karst -NCBITaxon:314295 Hominoidea -FOODON:00001063 millet beer food product -FOODON:00001038 pork meat food product -ENVO:01001281 paved parking lot -ENVO:00005758 alluvial swamp soil -CHEBI:33677 f-block molecular entity -ENVO:01000821 photosphere -UBERON:0036016 honey -ENVO:00000218 black smoker -ENVO:01000144 marine coral reef flat zone -UBERON:0000486 multilaminar epithelium -ENVO:00000366 area designated as a national nature reserve -CHEBI:35295 homopolycyclic compound -UBERON:0004111 anatomical conduit -ENVO:00003032 fresh animal manure -ENVO:01001563 quicksand -ENVO:03600069 nest of alligator -CHEBI:24433 group -UBERON:0002535 gill -ENVO:00000446 terrestrial biome -ENVO:00002273 fluvisol -ENVO:00000081 mountain -CHEBI:18248 iron atom -ENVO:03501268 pallet -ENVO:01001710 intertropical front -CHEBI:26835 sulfur molecular entity -ENVO:00002197 saline water aquarium -CHEBI:62967 amorphous cellulose -ENVO:00000549 container of an intermittent water body -ENVO:01001257 saline shrimp pond water -CHEBI:38206 chlorophyllide -ENVO:02000131 flue gas desulfurization material -ENVO:01000860 temperate marine upwelling biome -ENVO:01001786 inland sea -CHEBI:30751 formic acid -ENVO:01000784 illegal informal settlement -ENVO:01000467 constructed barrier -ENVO:06105105 nanoplastic particle -ENVO:03510016 tragacanth -ENVO:01000007 organic object formed through microbial activity -ENVO:03501152 intensive care unit facility -FOODON:00002132 plant based salad food product -FOODON:00002044 mollusc food product -CHEBI:51082 nitrate salt -ENVO:2000004 algal bloom -ENVO:00002167 platinum mine -ENVO:00000256 floodway -ENVO:01001673 fluid surface layer -UBERON:0011363 cranial lymph vasculature -FOODON:00002053 mustard food product -ENVO:01000475 brick -CHEBI:139120 carotenoid beta-end derivative -ENVO:00000318 high tide zone -ENVO:01000953 tree line ecotone -ENVO:01001850 frost -CHEBI:16301 nitrite -ENVO:00000026 well -ENVO:01000302 outcrop -CHEBI:38976 alkylbenzene -ENVO:03501165 oncology unit facility -ENVO:00002119 alkaline hot spring -ENVO:03000084 thermokarst depression -PO:0009011 plant structure -ENVO:06105124 coastal anthropogenic litter -NCBITaxon:3954 Combretaceae -ENVO:01000711 coastal flood -UBERON:0011222 intra-ocular muscle -ENVO:01000974 food kiosk -UBERON:0002201 vasculature of trunk -ENVO:00000141 bank -ENVO:00002224 eutrophic water -UBERON:0003837 thoracic segment connective tissue -FOODON:00001087 vegetable oil food product -NCBITaxon:71274 asterids -ENVO:00000475 inlet -UBERON:0002346 neurectoderm -PO:0006210 protoderm -UBERON:0001981 blood vessel -ENVO:03501333 child care environment -ENVO:01001344 freshwater seep riverine anchor ice -ENVO:01000352 field -CHEBI:33969 gold molecular entity -ENVO:00000117 plantation -ENVO:00000399 ash cone -ENVO:00000393 sound -ENVO:01000509 sheet-iron exterior wall -ENVO:01000142 wood fall -ENVO:02000140 fluid environmental material -ENVO:00000245 maar -ENVO:01000054 marine basaltic hydrothermal vent biome -ENVO:01001708 anafront -ENVO:00000423 river island -ENVO:01001508 anchored ice calf -ENVO:01000046 marginal sea biome -CHEBI:33744 iron group molecular entity -ENVO:00000208 marine pelagic zone -UBERON:0034995 jaw mesenchyme -CHEBI:33429 monoatomic monoanion -ENVO:00002196 aquarium -ENVO:01001035 environment determined by a biofilm on a fungal surface -UBERON:0001135 smooth muscle tissue -ENVO:00002260 dune soil -CHEBI:37193 elemental lead -ENVO:00002233 albeluvisol -ENVO:01000131 mesophilic sediment -ENVO:01000128 dilution basin mediterranean sea biome -NCBITaxon:44822 Microcystis viridis -FOODON:00001259 non-fruit wine food product -ENVO:01001357 desert -ENVO:01000392 tropical upper montane forest -ENVO:03501175 psychiatric unit facility -UBERON:0002307 choroid plexus of lateral ventricle -ENVO:03501332 occupational environment -ENVO:01000823 illuminated biosphere part -ENVO:03600047 raceway pond -ENVO:01000508 salt material -ENVO:01001014 monochrome solar rainbow -NCBITaxon:7001 Caelifera -CHEBI:22712 benzenes -ENVO:00000305 peninsula -ENVO:01001536 sea ice mass -FOODON:03316079 herbal infusion -CHEBI:143907 manganese hydroxide -UBERON:0006562 pharynx -UBERON:0010000 multicellular anatomical structure -ENVO:01001541 tributary glacier -ENVO:01000000 humus -ENVO:01000549 mass of biological material -ENVO:01000973 kiosk -UBERON:0013685 foramen of skull -UBERON:0001359 cerebrospinal fluid -ENVO:00000111 forested area -ENVO:01000739 habitat -ENVO:00005791 sterile water -FOODON:00001233 nut oil food product -ENVO:01001032 environment determined by a biofilm on a plant surface -FOODON:00002219 salad food product -CHEBI:33273 polyatomic anion -FOODON:00001002 food product -ENVO:03501351 ground transport -FOODON:00001292 oyster food product -ENVO:2100005 face skin environment -UBERON:0000078 mixed ectoderm/mesoderm/endoderm-derived structure -CHEBI:28112 nickel atom -ENVO:01001526 frozen soil -UBERON:0005498 primitive heart tube -ENVO:00000258 alluvial plain -FOODON:03400801 seafood or related product (eurofir) -ENVO:00000230 coastal wetland ecosystem -CHEBI:25805 oxygen atom -ENVO:00002008 dust -UBERON:0002193 hemolymphoid system -CHEBI:51959 organic tricyclic compound -ENVO:01001390 Bathymodiolus-dominated oceanic mussel bed -ENVO:01001424 stratocumulus castellanus cloud -FOODON:00001075 mammalian milk (nonfat, dry) -FOODON:00002753 bean (whole) -CHEBI:58953 saturated fatty acid anion -ENVO:01000429 burrow -UBERON:0001004 respiratory system -ENVO:01000590 mattress -ENVO:03501336 place of worship -ENVO:01001713 upper front -FOODON:00001206 lupin seed food product -ENVO:01001156 refractory astrogeological material -ENVO:01000195 flooded grassland biome -ENVO:01001414 cumulus cloud -ENVO:01001349 material decumulation zone -ENVO:00002202 organically enriched sediment -ENVO:01000281 layer -ENVO:01000937 impromptu campground -ENVO:00000408 volcanic fissure -UBERON:0001084 skin of head -CHEBI:38101 organonitrogen heterocyclic compound -ENVO:00002144 cave wall -ENVO:01001340 semi-diurnal marine tidal flow zone -CHEBI:50996 tertiary amino compound -ENVO:03510010 dye -ENVO:00002241 leptosol -ENVO:00000048 navigation canal -CHEBI:17883 hydrogen chloride -ENVO:01000947 ecotone -NCBITaxon:4734 commelinids -UBERON:0000076 external ectoderm -UBERON:0034929 external soft tissue zone -ENVO:03000144 planetary cryosphere -CHEBI:75897 iron(2+) sulfides -CHEBI:33262 elemental oxygen -ENVO:01000111 cosmogenous sediment -ENVO:01000227 tropical dry broadleaf forest biome -CHEBI:15378 hydron -FOODON:00001027 cheddar cheese food product -CHEBI:25016 lead atom -ENVO:01000562 flat-wick lamp -UBERON:0002532 epiblast (generic) -ENVO:01000593 framed bed -ENVO:00000080 mountain range -NCBITaxon:6072 Eumetazoa -CHEBI:49995 elemental neon -UBERON:0004807 respiratory system epithelium -ENVO:00000389 intermittent wetland -FOODON:00001050 tempeh food product -UBERON:0019269 gray matter of diencephalon -ENVO:01001270 rural stormwater -ENVO:03501347 hotel -NCBITaxon:6447 Mollusca -FOODON:00001086 kefir food product -ENVO:00000011 garden -ENVO:00000158 causeway -ENVO:00000428 biome -ENVO:00002264 waste material -ENVO:01000300 atmospheric Taylor column -ENVO:01001122 gas planet -ENVO:01000761 polar stratospheric cloud -NCBITaxon:1446379 Cupressales -ENVO:01001039 highly saline water -ENVO:01000243 boulder -UBERON:0010321 skeletal element of eye region -ENVO:01001165 IUCN natural monument or feature -ENVO:01000701 volcanic ash -ENVO:00003869 straw -ENVO:03501366 screw conveyor -UBERON:0003511 iris blood vessel -ENVO:06105006 piece of plastic foam -NCBITaxon:33630 Alveolata -CHEBI:25213 metal cation -UBERON:0005090 muscle structure -ENVO:02000052 umbrella -UBERON:0013701 main body axis -ENVO:02000110 open-pit mine -UBERON:0011272 embryonic skin basal layer -ENVO:00000484 polynya -FOODON:03400356 European Union agency food product type -ENVO:03501329 spoon -FOODON:00001049 pork chop food product -ENVO:00000418 ria -NCBITaxon:436880 Chortoicetes -CHEBI:25107 magnesium atom -CHEBI:33251 monoatomic hydrogen -ENVO:01000407 littoral zone -UBERON:0004118 vasculature of iris -ENVO:01001874 poultry hatchery -ENVO:00000525 canalized stream -ENVO:00000422 limestone pavement -CHEBI:30187 aluminium oxide -UBERON:0004535 cardiovascular system -ENVO:00005741 alpine soil -FOODON:00001097 fermented sugar cane beverage -FOODON:00001244 coffee beverage -CHEBI:30216 alpha-particle -ENVO:01001607 water current -CHEBI:35186 terpene -UBERON:0005389 transparent eye structure -ENVO:00000229 intermittent estuary -CHEBI:33267 elemental nitrogen -ENVO:01001160 cirrus cloud -ENVO:01001695 isopycnal surface -CHEBI:63732 1,1-diol -ENVO:03501284 dryer -UBERON:0005985 coronary vessel -PO:0025430 phyllome anlagen -CHEBI:63471 branched-chain amino-acid anion -UBERON:0001710 lower jaw region -ENVO:06105238 residual water in soil -ENVO:01000269 siltstone -CHEBI:53550 poly(propylene) -NCBITaxon:7742 Vertebrata -ENVO:00002129 anaerobic sludge -ENVO:06105236 exchangeable ion -CHEBI:35701 ester -FOODON:00001151 citrus fruit food product -ENVO:01000353 marine mesoscale eddy field -CHEBI:16183 methane -ENVO:02000098 platinum ore -ENVO:00000001 bedding-plane cave -ENVO:00000282 esker -ENVO:01000464 non-hydraulic cement -ENVO:01001314 estuarine coastal lower water column -ENVO:01001201 marine environmental zone -ENVO:03510058 pharmaceutical ink -ENVO:03501342 dormitory -UBERON:0008814 pharyngeal arch system -ENVO:01000643 inner planetary core -ENVO:01001221 office building -ENVO:01000257 white smoker -ENVO:01001103 detritus -ENVO:00000078 farm -ENVO:01000557 liquefied natural gas -ENVO:06105118 lost fishing gear -ENVO:01001135 desert planet -ENVO:00000498 volcanic dike -ENVO:02000135 fast neutron reactor -CHEBI:25940 peroxides -ENVO:03510017 fountain pen ink -CHEBI:23982 ethanols -UBERON:0000465 material anatomical entity -ENVO:03501283 conveyor belt -UBERON:0004766 cranial bone -ENVO:00002213 anaerobic sludge blanket reactor -FOODON:03400361 agency food product type -ENVO:00000534 riverine pothole -ENVO:01001486 landspout -ENVO:00000493 obsequent stream -ENVO:00000050 geyser -ENVO:01001329 estuarine tidal riverine open water lower water column -CHEBI:46721 carbonate salt -ENVO:00000413 pingo -UBERON:0003528 brain gray matter -ENVO:01000563 central-draught lamp -ENVO:01000305 high temperature environment -CHEBI:36830 monoanion -CHEBI:25698 ether -UBERON:0010337 mandibular process mesenchyme from head mesenchyme -ENVO:00000180 mound -ENVO:00000069 distributary -FOODON:00001216 cream food product -ENVO:03501216 stainless steel -ENVO:01000232 felsic lava -UBERON:0003463 trunk bone -NCBITaxon:1316646 Salicornioideae -ENVO:00002215 geothermal power plant -CHEBI:33402 sulfur oxoacid -ENVO:03501282 hangar -ENVO:01000831 droplet -FOODON:00001028 Brie cheese food product -ENVO:03000115 perennial snow patch -CHEBI:33655 aromatic compound -ENVO:03501322 food production high-risk contamination area -CHEBI:25501 neoxanthin -ENVO:01000832 raindrop -ENVO:01001020 hypersaline lake -CHEBI:47788 3-oxo steroid -ENVO:01001523 frazil -ENVO:01000228 tropical moist broadleaf forest biome -FOODON:00002153 plant seed vegetable food product -ENVO:00005755 field soil -ENVO:00003861 industrial building -ENVO:00002055 sandstone -ENVO:00000501 submerged bed -ENVO:00000459 outlet glacier -ENVO:00000524 abandoned watercourse -ENVO:03501170 pediatric intensive care unit facility -ENVO:01000675 atmospheric column -NCBITaxon:2881377 Pseudanabaenales -NCBITaxon:32523 Tetrapoda -ENVO:01000747 regolith -CHEBI:51721 alpha,beta-unsaturated ketone -ENVO:01000921 closed animal house -ENVO:01000600 rainwater -ENVO:01000220 tropical woodland biome -ENVO:01001133 mega-Earth -ENVO:01000521 batholith -ENVO:00000220 archipelago -ENVO:00002123 bioreactor -UBERON:0003129 skull -ENVO:00002136 arsenate treated wood -CHEBI:26217 potassium molecular entity -ENVO:00000156 desert oasis -FOODON:03303220 dessert food -ENVO:00000394 strait -ENVO:00000079 flume -NCBITaxon:9443 Primates -ENVO:2000001 creosote -ENVO:01000311 cultivated environment -CHEBI:23906 monoatomic cation -ENVO:01001379 mussel bed -ENVO:00002113 deep marine sediment -ENVO:01000961 tertiary atmosphere -ENVO:06105280 silty clay -FOODON:00001158 pomaceous fruit food product -ENVO:01000042 neritic epipelagic zone biome -UBERON:0004731 neuromere -ENVO:00002222 food shop -CHEBI:33252 atomic nucleus -ENVO:01001306 bone element environment -ENVO:01001206 grassland ecosystem -ENVO:00000007 third-order administrative region -UBERON:0014793 musculature of pectoral complex -CHEBI:33620 aluminium molecular entity -CHEBI:35715 nitro compound -CHEBI:46665 riebeckite -FOODON:00002781 pigeon pea (whole) -UBERON:0010259 1st arch mesenchyme from neural crest -CHEBI:30218 helium-3 atom -ENVO:03500008 safe environment for human presence -FOODON:03307345 sugar (refined) -UBERON:0002072 hypodermis -ENVO:00002248 luvisol -FOODON:03460263 vegetable fat or oil -ENVO:00002255 solonetz -ENVO:00000342 ice cap dome -ENVO:03600031 earth-filled dam -ENVO:03501203 polling booth -ENVO:01001485 multiple vortex tornado -CHEBI:33324 strontium atom -CHEBI:36907 neon molecular entity -ENVO:00000520 landslide -ENVO:01000653 slum -ENVO:00000196 alkaline flat -FOODON:00001161 citrus fruit extract food product -FOODON:03411009 polysaccharide-producing plant -UBERON:0003104 mesenchyme -FOODON:00001051 fermented rice beverage -FOODON:03400204 candy (us cfr) -ENVO:00005803 animal habitation -UBERON:0006539 mammary gland fluid/secretion -NCBITaxon:28073 Lyngbya -ENVO:01000109 marine warm-water sphere -CHEBI:17632 nitrate -ENVO:00000237 hydromorphic/phreatic dambo -FOODON:00001163 solanaceous fruit food product -UBERON:0012480 cloacal mucosa -CHEBI:33240 coordination entity -ENVO:01000997 environmental system determined by a quality -NCBITaxon:91827 Gunneridae -CHEBI:22632 arsenic molecular entity -UBERON:0005178 thoracic cavity element -ENVO:00000433 kame terrace -ENVO:00000518 ditch mouth -ENVO:03605009 freshwater stream ecosystem -CHEBI:33432 monoatomic chlorine -ENVO:01000367 anchialine cave -UBERON:0001444 subdivision of head -NCBITaxon:6545 Pteriomorphia -NCBITaxon:46104 Salicornia -ENVO:01000884 area of developed space with low usage intensity -FOODON:00001665 broad bean food product -ENVO:01000766 legal settlement -ENVO:03501213 light switch -ENVO:01001509 terrestrial ice calf -ENVO:00003964 tobacco warehouse -ENVO:03501154 traumatic intensive care unit facility -ENVO:00002185 oil reservoir -ENVO:00005789 bluegrass field soil -UBERON:0003304 mesoderm blood island -ENVO:00000370 tuya -CHEBI:131621 C19-steroid -ENVO:00000250 medial moraine -UBERON:0011137 axial skeletal system -UBERON:0002203 vasculature of eye -ENVO:01000545 ionosphere -ENVO:00000179 mesa -CHEBI:33482 sulfur oxoanion -UBERON:0013702 body proper -ENVO:00003084 trimethylamine enriched soil -CHEBI:38295 azabicycloalkane -CHEBI:18085 glycosaminoglycan -CHEBI:33822 organic hydroxy compound -FOODON:03305536 honey blend table syrup -CHEBI:35875 imidazopyrimidine -ENVO:00005786 upland soil -UBERON:0006603 presumptive mesoderm -ENVO:00000175 karst -CHEBI:35427 ortho-fused polycyclic hydrocarbon -ENVO:00000321 joint-plane cave -CHEBI:36928 carbon-13 atom -ENVO:00002030 aquatic biome -UBERON:0002075 viscus -ENVO:01001256 coastal shrimp pond -CHEBI:15611 sarcosine -UBERON:0002424 oral epithelium -NCBITaxon:7711 Chordata -CHEBI:33318 main group element atom -CHEBI:33839 macromolecule -ENVO:01000865 electric power system -ENVO:01001113 forage material -CHEBI:58416 chlorophyll a(1-) -NCBITaxon:436491 Theropoda -ENVO:01000438 lava flow -ENVO:01000543 atmospheric layer -ENVO:00000350 somma volcano -ENVO:03501109 subway train -ENVO:01000483 flat glass -ENVO:00002186 contaminated water -ENVO:01001310 liquid surface layer -CHEBI:33259 elemental molecular entity -ENVO:01001782 landmass -ENVO:01000975 animal trap -CHEBI:15734 primary alcohol -ENVO:01001525 hard-frozen soil -UBERON:0002285 telencephalic ventricle -UBERON:0005068 neural rod -NCBITaxon:7003 Locusta -ENVO:00002450 ocean basin -CHEBI:38252 phorbines -ENVO:01000384 tropical lowland evergreen broadleaf rain forest -UBERON:0005256 trunk mesenchyme -ENVO:00005771 muddy soil -ENVO:03501264 squeegee -UBERON:0004086 brain ventricle -UBERON:0007005 cardiogenic splanchnic mesoderm -ENVO:03501206 shopping center -FOODON:00001254 plant derived fermented beverage -ENVO:01000989 plumbing fixture -CHEBI:24062 fluorine molecular entity -ENVO:00002251 planosol -ENVO:00003086 ethanol enriched soil -ENVO:06105016 foamed plastic -ENVO:00000186 string mire -CHEBI:24833 oxoacid -ENVO:00000436 tunnel valley -CHEBI:25362 elemental molecule -ENVO:00002149 sea water -ENVO:00000278 dry stream -CHEBI:32234 titanium dioxide -CHEBI:44882 peridinin -UBERON:0000047 simple eye -ENVO:03501314 food production environmental monitoring zone 1 -ENVO:2100006 feather environment -ENVO:00002125 anaerobic dechlorinating bioreactor -CHEBI:91007 aromatic carboxylate -ENVO:03510018 resin -UBERON:0004902 urogenital sinus epithelium -FOODON:00001011 milk formula food product -CHEBI:26816 carbohydrate phosphate -FOODON:00001126 bovine cheese food product -ENVO:01001717 neutral occluded front -ENVO:00003087 acetamide enriched soil -ENVO:00005763 humus-rich acidic ash soil -ENVO:00000331 stalactite -FOODON:00002450 multi-component honey product -ENVO:01000812 desert pavement -ENVO:03600041 marine lake -ENVO:01000034 oceanic sea surface microlayer biome -ENVO:03000088 methane-laden permafrost -ENVO:00000145 ice cap -ENVO:00005799 rocky sand -FOODON:03400352 international agency food product type -ENVO:01000358 acidic water -UBERON:0001090 synovial fluid -CHEBI:33249 organyl group -ENVO:01001542 ice surface layer -CHEBI:167564 paralytic shellfish toxin -ENVO:01000858 marine upwelling biome -ENVO:02000022 excreta material -ENVO:03501249 suspension bridge -UBERON:0014703 anal membrane ectodermal component -CHEBI:63734 ketone hydrate -UBERON:0002539 pharyngeal arch -CHEBI:35163 cyclic carotene -CHEBI:83925 non-proteinogenic alpha-amino acid -UBERON:0004765 skeletal element -ENVO:03600086 water filter -CHEBI:143901 manganese dihydroxide -ENVO:06105275 silty loam -ENVO:03501124 airport concourse -ENVO:01000321 sea water environment -ENVO:01000221 temperate woodland biome -NCBITaxon:6548 Mytilus -NCBITaxon:77021 Cylindrospermopsis -ENVO:01000764 formal settlement -ENVO:00000431 drumlin field -UBERON:0001003 skin epidermis -UBERON:8450002 excretory system -CHEBI:61120 nucleobase-containing molecular entity -FOODON:00002139 plant fat or oil refined food product -NCBITaxon:301959 Mytilinae -CHEBI:17792 organohalogen compound -NCBITaxon:624272 Avicennioideae -ENVO:02000038 pus material -UBERON:0034925 anatomical collection -ENVO:01000313 anthropogenic environment -CHEBI:36878 inorganic radical ion -ENVO:01000680 polluted lake -NCBITaxon:695564 Erebidae -ENVO:01000473 thatch -UBERON:0010188 protuberance -FOODON:03420307 seed oil -CHEBI:30440 thallium -ENVO:01000107 seasonal marine thermocline -ENVO:01000495 stone exterior wall -ENVO:01000687 coast -NCBITaxon:1125 Microcystis -CHEBI:10545 electron -FOODON:00001208 hyacinth bean food product -UBERON:1000021 skin of face -ENVO:01000491 glass building floor -UBERON:0004288 skeleton -CHEBI:35217 alkaline earth coordination entity -ENVO:01000608 boat -ENVO:00005748 dry soil -ENVO:01000667 geological fracture -CHEBI:33623 aluminium oxides -ENVO:01001315 estuarine open water surface layer -FOODON:00001610 apple condiment -ENVO:00000533 landfill -CHEBI:29438 methanide -UBERON:0001422 facial lymphatic vessel -ENVO:06105103 macroplastic particle -UBERON:0005638 anterior chamber epithelium -ENVO:01000659 igneous intrusion -UBERON:0007237 1st arch mandibular component -ENVO:01000617 lentic water body -ENVO:03501354 steel -ENVO:01000239 oak woodland -ENVO:00000367 IUCN national park -ENVO:01001073 lake with an anoxic hypolimnion -ENVO:01000133 hyperthermophilic sediment -ENVO:00000231 moor -CHEBI:16261 chitosan -ENVO:00000036 irrigation canal -ENVO:01000929 mushroom environment -ENVO:00000012 hydrographic feature -NCBITaxon:27549 Oedipodinae -ENVO:03501215 nurse call button -ENVO:01000544 boundary layer -ENVO:01001854 hydrothermal field -ENVO:00000310 meteor impact crater -UBERON:0007794 secretion of serous gland -ENVO:01001465 UNEP-WCMC class 5 mountain -ENVO:00000340 particle of sand -ENVO:03501353 eating utensil -CHEBI:58950 very long-chain fatty acid anion -UBERON:0010707 appendage girdle complex -ENVO:00000430 dirt cone -ENVO:01000268 atmospheric water vapour -ENVO:00002011 fresh water -ENVO:01001320 fresh water body -CHEBI:46662 mineral -ENVO:01000568 tubular paraffin lantern -ENVO:01001172 IUCN protected landscape/seascape -ENVO:2100000 anatomical entity environment -ENVO:00010622 vivarium -ENVO:01000100 along-front current -CHEBI:30356 isobutyl group -ENVO:01000585 desk -ENVO:01000414 young plant -FOODON:00001174 plant lipid food product -ENVO:03501274 bunkhouse -ENVO:01000948 polar tree-line ecotone -ENVO:00002985 oil -ENVO:00002049 stony meteorite -ENVO:00005747 compost soil -ENVO:00000228 inverse estuary -UBERON:0019207 chorioretinal region -ENVO:01000941 planetary subsurface zone -ENVO:01001785 land -ENVO:01000789 flame -ENVO:00002051 stony-iron meteorite -ENVO:01000810 planetary atmosphere -FOODON:03315552 juice beverage -ENVO:01000569 dead flame paraffin lantern -ENVO:01001043 hypersaline water environment -CHEBI:33666 polycyclic hydrocarbon -NCBITaxon:33634 Stramenopiles -ENVO:01001283 aluminium dust -UBERON:0003037 septum -ENVO:01000713 flash flood -UBERON:0004732 segmental subdivision of nervous system -UBERON:0006569 diencephalic nucleus -FOODON:00001260 beer beverage -ENVO:01000164 root nodule -ENVO:01001371 alpine tundra ecosystem -ENVO:03605000 periphytic biofilm -UBERON:0006568 hypothalamic nucleus -CHEBI:28793 beta-D-glucan -FOODON:00001132 swine food product -UBERON:0007914 bone of craniocervical region -CHEBI:53310 copolymer macromolecule -ENVO:00000482 sea floor -ENVO:00000260 prairie -ENVO:01001886 landform -CHEBI:50795 nanostructure -ENVO:01000836 water-based cloud droplet -ENVO:03501246 footbridge -CHEBI:36688 heterotricyclic compound -UBERON:0002204 musculoskeletal system -CHEBI:15379 dioxygen -ENVO:03501247 humpback bridge -ENVO:00000098 island -ENVO:03600039 fermentation pit -UBERON:0019304 sensory organ epithelium -FOODON:00001107 bovine dairy food product -ENVO:01001199 terrestrial environmental zone -ENVO:01000751 bedrock -UBERON:0000172 vomit -CHEBI:25108 magnesium molecular entity -ENVO:00002010 saline water -UBERON:0011676 subdivision of organism along main body axis -UBERON:0010912 subdivision of skeleton -ENVO:01000445 disturbed ecosystem -UBERON:0034921 multi organ part structure -ENVO:00000096 caldera -ENVO:03501243 big-box store -ENVO:01001802 subtropical moist broadleaf forest -ENVO:01000095 marginal ice zone front -ENVO:00000526 cliff cleft -ENVO:01000772 rural area -ENVO:01000209 subtropical coniferous forest biome -ENVO:03600093 artificial satellite -ENVO:03501316 food production environmental monitoring zone 3 -CHEBI:38222 hydrocarbyl anion -ENVO:00002926 warm seep -CHEBI:30033 bacteriochlorophyll a -NCBITaxon:6073 Cnidaria -ENVO:01000148 marine coral reef buttress zone -UBERON:0010314 structure with developmental contribution from neural crest -UBERON:0000349 limbic system -ENVO:00003860 pig manure -UBERON:0005983 heart layer -UBERON:0002385 muscle tissue -ENVO:01000510 sheet-iron building roof -CHEBI:36309 cyclic tetrapyrrole -CHEBI:36838 17-hydroxy steroid -CHEBI:17578 toluene -CHEBI:33336 lanthanum atom -ENVO:00000272 confluence -ENVO:00005749 farm soil -ENVO:00002252 solonchak -CHEBI:63367 monosaccharide derivative -ENVO:01000662 scoria -ENVO:01000017 sand -UBERON:0011822 dense irregular connective tissue -ENVO:01000480 glass -ENVO:00000341 piece of gravel -CHEBI:138675 gas molecular entity -CHEBI:36875 radical ion -ENVO:01000069 mesoscale marine eddy -ENVO:03000051 ice-encased melt pond -NCBITaxon:58019 Pinopsida -ENVO:00003896 currency note -ENVO:01000771 all season road -ENVO:01000807 galaxy -CHEBI:33256 primary amide -ENVO:03000119 water column exposed melt pond -ENVO:00000355 monogenetic volcanic field -ENVO:01001316 estuarine open water upper water column -ENVO:00000325 polje -CHEBI:36961 chalcocarbonic acid -CHEBI:33304 chalcogen molecular entity -ENVO:00000566 winter sports facility -ENVO:03501189 optometry clinic -ENVO:00002040 wood -ENVO:03600090 alcohol fermentation pit -ENVO:01000733 stock -ENVO:00000297 paddy field -ENVO:00000508 terrace -ENVO:03600068 ice wedge -FOODON:00001198 broad bean (whole, dried) -ENVO:00000353 island arc -ENVO:01000314 high osmolarity environment -CHEBI:33719 alpha-amino-acid cation -ENVO:01000938 hot tub -NCBITaxon:33392 Endopterygota -ENVO:02000000 hypodermic needle -CHEBI:25585 nonmetal atom -ENVO:01001816 biomaterial containment unit -CHEBI:33551 organosulfonic acid -UBERON:0008998 vasculature of brain -ENVO:06105274 sandy loam -FOODON:03400213 fudge (us cfr) -CHEBI:2706 Anatoxin a -ENVO:00000322 volcanic cave -ENVO:06105276 sandy clay loam -ENVO:01001147 helium planet -ENVO:01000068 marine streamer -ENVO:03501260 sewing table -UBERON:0001630 muscle organ -ENVO:00002012 hypersaline water -ENVO:00003081 metal contaminated soil -ENVO:01001405 laboratory environment -ENVO:01000588 sofa -ENVO:00005792 underground water -ENVO:01000266 water vapour -UBERON:0037144 wall of heart -CHEBI:37076 ribonucleoside 5'-triphosphate -CHEBI:35366 fatty acid -ENVO:00005768 orchid soil -ENVO:00000266 pasture -ENVO:01000116 pebble sediment -CHEBI:36347 nuclear particle -ENVO:00000397 lake channel -ENVO:03501290 supermarket -UBERON:0003499 brain blood vessel -CHEBI:36342 subatomic particle -CHEBI:47622 acetate ester -CHEBI:33447 phospho sugar -ENVO:03501225 coffeehouse -ENVO:00000481 pinnacle -ENVO:2100002 intestine environment -ENVO:01000197 broadleaf forest biome -ENVO:03600081 cloud water -ENVO:01000025 marine neritic benthic zone biome -ENVO:01001532 glacier ice field -NCBITaxon:1890450 Aphanothecaceae -ENVO:03600006 food waste -ENVO:03501345 temporary residence -ENVO:00003089 testosterone enriched soil -ENVO:06105112 synthetic plastic -CHEBI:33250 atom -FOODON:00001280 chocolate food product -ENVO:00000548 gravel field -ENVO:01000043 neritic mesopelagic zone biome -CHEBI:38166 organic heteropolycyclic compound -ENVO:00000352 continental arc -ENVO:01001891 alum spring -ENVO:01000844 fog -ENVO:01001489 spur -FOODON:03420156 brown sugar -CHEBI:26820 sulfates -UBERON:0000965 lens of camera-type eye -ENVO:01000167 determinate root nodule -ENVO:01001052 aerosol environment -UBERON:0003586 trunk connective tissue -ENVO:01001423 cirrostratus fibratus cloud -UBERON:0005157 epithelial fold -ENVO:01000685 water mass -ENVO:06105277 clay loam -FOODON:00002645 food product by process -ENVO:00000527 interfluve -ENVO:00005795 marine mud -ENVO:01000073 marine oligotrophic desert -ENVO:01001783 liquid surface of an astronomical body -UBERON:0006596 presumptive blood -ENVO:01000546 exosphere -ENVO:01001302 estuarine coastal surface layer -CHEBI:35156 calcium salt -ENVO:01000119 silty sediment -ENVO:00000320 crevasse -ENVO:00000437 Nye channel -ENVO:00000127 badland -UBERON:0001605 ciliary muscle -FOODON:00001800 dairy dessert food product -FOODON:00002265 soybean seed (field) food product -ENVO:00002056 shale -CHEBI:33400 platinum(0) -CHEBI:140503 kaolin -ENVO:01001800 tropical moist broadleaf forest -ENVO:00003982 travertine -ENVO:1000751 barrier island -CHEBI:35343 17beta-hydroxy steroid -UBERON:0001434 skeletal system -ENVO:01001231 kerogen -FOODON:00001294 goat milk cheese (unpasteurized) -UBERON:0002049 vasculature -ENVO:01001044 soil environment -ENVO:03510001 brake fluid -FOODON:00002780 pigeon pea food product -ENVO:01000595 cupboard -NCBITaxon:190524 Laguncularia racemosa -ENVO:01000924 plumbing drain -ENVO:00000061 underground water body -ENVO:01001847 hoarfrost -ENVO:01000451 atmospheric carbon dioxide -ENVO:00002239 calcisol -ENVO:01001100 convergent plate boundary -ENVO:01001809 subtropical grassland -ENVO:01000828 humid air -CHEBI:22918 branched-chain amino acid -CHEBI:18230 chlorophyll a -ENVO:00005773 pasture soil -ENVO:01000201 subtropical broadleaf forest biome -UBERON:0001803 epithelium of lens -CHEBI:33459 pnictogen oxoanion -ENVO:01001883 hoar crystal -ENVO:01000688 lake coast -CHEBI:36389 saturated organic heteromonocyclic parent -ENVO:01000862 turbulent aquatic surface layer -UBERON:0036925 wall of eyeball -ENVO:06105116 discarded fishing gear -FOODON:00001055 sea water fish food product -CHEBI:49470 aluminium(3+) -ENVO:01001064 hypoxic water -ENVO:01000984 grocery store -UBERON:0001474 bone element -NCBITaxon:41378 Avicennia germinans -ENVO:01000022 marine salt marsh biome -ENVO:01000512 wooden building roof -UBERON:0007625 pigment epithelium of eye -FOODON:03301227 broad bean (whole) -PO:0025496 multi-tissue plant structure -FOODON:00001099 apple beverage -FOODON:00002175 prepared hen egg product -ENVO:01001702 subtropical environment -ENVO:00000336 doline karst -UBERON:0004464 musculature of thorax -UBERON:3000972 head external integument structure -ENVO:00000075 bridge -ENVO:01001003 non-saline environment -ENVO:00002205 unexploded-ordnance dump -FOODON:00002115 pigeon pea vegetable food product -ENVO:01001651 particulate matter in a hydrosphere -ENVO:01001191 water surface -ENVO:00000211 marine bathypelagic zone -ENVO:01000533 covered pit latrine with slab floor -ENVO:01000214 tropical shrubland biome -ENVO:00002114 chemically enriched sediment -CHEBI:18422 sulfur dioxide -ENVO:01000362 inflationary cave -CHEBI:32627 leucinate -ENVO:00002271 nuclear power plant -ENVO:01000663 pumice -ENVO:01000416 ultrafine respirable suspended particulate matter -ENVO:01001271 impermeable surface layer -ENVO:01000242 desert scrubland -ENVO:00003095 quinate enriched soil -CHEBI:33265 triatomic oxygen -ENVO:03501273 listed building -ENVO:00000417 machair -UBERON:0000014 zone of skin -ENVO:01000890 area of moss-dominated vegetation -UBERON:0001015 musculature -CHEBI:28976 carbonic acid -CHEBI:136861 pyrrolopurine -ENVO:01000394 tropical freshwater swamp forest -FOODON:00001252 animal derived beverage -ENVO:01001137 ice planet -ENVO:01001011 light emitted by lightning -ENVO:01000296 dry lake bed -CHEBI:167559 glycan -FOODON:00001204 yam bean food product -ENVO:01001490 intrusion -FOODON:00001224 sausage (cooked) -ENVO:00000221 continental island -ENVO:01000856 temperate marginal sea biome -FOODON:00001180 prepared food product -ENVO:01000850 clathrate material -ENVO:03000004 glacial ice -ENVO:01000135 nitrate-reducing sediment -NCBITaxon:3367 Cupressaceae -ENVO:00000269 land-tied island -NCBITaxon:40255 Modiolus -CHEBI:18059 lipid -ENVO:01001539 branched valley glacier -ENVO:00002063 oil seep -ENVO:03501346 chopstick -FOODON:00001879 frozen dairy food product -ENVO:00002258 loam -ENVO:01000514 tile -UBERON:0001087 pleural fluid -ENVO:01001107 rockslide lake -ENVO:01000097 surface convergence -ENVO:00000461 pseudocrater -ENVO:01000819 hydrosphere -ENVO:02000145 subterranean lake -ENVO:01000149 marine coral reef deep fore reef -ENVO:01000186 polar desert biome -ENVO:00000084 mountain pass -ENVO:03600085 buoy -ENVO:01000304 high pressure environment -ENVO:00002246 ferralsol -FOODON:03310387 oil -FOODON:00001209 pulse food product -ENVO:03000118 atmosphere and water column exposed melt pond -ENVO:01001620 mass of ice and snow -ENVO:01000371 agricultural waste material -ENVO:03510064 emissions from petroleum combustion -ENVO:00003033 mushroom compost -NCBITaxon:13468 Cupressus -ENVO:01001007 solar rainbow -CHEBI:35605 carbon oxoacid -UBERON:0007524 dense mesenchyme tissue -UBERON:0010312 immature eye -ENVO:03600075 oil mill -CHEBI:33362 nickel group element atom -ENVO:01000322 brackish water environment -ENVO:00002138 beach sand -CHEBI:37349 phosphorus oxide -ENVO:03501368 conveyor roller -CHEBI:26607 saturated fatty acid -ENVO:03600003 drinking water pipeline network -ENVO:00000004 administrative region -ENVO:01001274 material isosurface -NCBITaxon:41196 Neolepidoptera -ENVO:03501168 pain management unit facility -UBERON:0001021 nerve -CHEBI:26490 quinate -ENVO:00005776 peaty paddy field soil -ENVO:01000170 indeterminate root nodule infection zone -CHEBI:24651 hydroxides -ENVO:03510027 enamel thinner -ENVO:03600062 fountain -CHEBI:26519 radical -PO:0006079 shoot system meristem -ENVO:00002016 sedimentary rock -ENVO:01000157 microbial mat material -ENVO:01000853 marl -ENVO:01000162 organ -ENVO:01001488 aircraft -CHEBI:83348 chlorophyllide a(2-) -UBERON:0010046 entire pharyngeal arch associated mesenchyme -ENVO:00003895 paper product -ENVO:01000274 slate -CHEBI:29241 silicate(4-) -ENVO:00005790 red soil -FOODON:00001104 sea water fish egg food product -UBERON:0010083 future dermis -ENVO:00003042 piggery -ENVO:01000425 indoor toilet -ENVO:01000942 continental subsurface zone -CHEBI:25154 manganese molecular entity -ENVO:01000868 domestic solar panel array -FOODON:00001141 wheat food product -CHEBI:33408 pnictogen oxoacid -CHEBI:33861 transition element coordination entity -CHEBI:59999 chemical substance -ENVO:01000928 fish processing building -ENVO:02000053 hide -ENVO:01001685 bubble -ENVO:00000306 spit -ENVO:03500004 bike path -ENVO:01000256 mineral material -UBERON:0010740 bone of appendage girdle complex -NCBITaxon:4434 Bataceae -CHEBI:62968 crystalline cellulose -ENVO:01000826 open eaves -ENVO:01000265 hydrothermal seep -NCBITaxon:3524 Caryophyllales -ENVO:01000263 cold seep -ENVO:00003903 aviation fuel -FOODON:00001278 cake food product -ENVO:01000648 magma -UBERON:0000922 embryo -UBERON:0012464 cloacal vent -ENVO:00000265 guyot -ENVO:01000400 tropical thorn forest -ENVO:01001452 Calyptra habitat -FOODON:00001613 apple vinegar food product -ENVO:01000843 area of evergreen forest -ENVO:01001098 tectonic plate boundary -ENVO:00002243 histosol -ENVO:02000097 gold ore -NCBITaxon:33213 Bilateria -UBERON:0009480 endoderm of buccopharyngeal membrane -FOODON:03420244 mammalian milk whey -ENVO:03600071 cyanobacterial bloom -FOODON:00001040 chicken meat food product -ENVO:01001793 subtropical broadleaf forest -CHEBI:15996 GTP -ENVO:01001527 plastic-frozen soil -ENVO:01000388 tropical semi-deciduous broadleaf forest -UBERON:0005564 gonad primordium -ENVO:01000998 environmental system determined by a material -UBERON:0011823 dense connective tissue -ENVO:03400002 area of polar tundra -ENVO:01000244 pinyon juniper woodland -ENVO:03500001 playground -CHEBI:24836 inorganic oxide -ENVO:01001031 environment determined by a plant substance -ENVO:01000071 oceanic front -ENVO:00000112 area of tundra -CHEBI:35789 oxo steroid -ENVO:03501113 public ferry -UBERON:0000481 multi-tissue structure -CHEBI:26836 sulfuric acid -ENVO:03501204 prison facility -ENVO:01001616 bare soil -CHEBI:82663 elemental iron -ENVO:01001054 non-saline aerosol environment -ENVO:01001144 sub-Earth -CHEBI:33358 cobalt group element atom -CHEBI:36125 cyclitol carboxylic acid anion -ENVO:01000088 mid-shelf fronts -ENVO:01000999 rhizosphere environment -ENVO:02000107 grain dust -FOODON:00001005 fermenting elaeis palm sap food product -ENVO:00000889 large river delta biome -ENVO:03501119 agricultural experimental station -ENVO:00000099 artificial island -ENVO:03501208 air vent -UBERON:0004923 organ component layer -ENVO:01001192 sediment surface -CHEBI:36562 main-group coordination entity -ENVO:03501155 intensive care unit room -ENVO:01001134 super-Earth -ENVO:03000013 cirque glacier -ENVO:01000621 microcosm -CHEBI:61614 vinyl polymer -UBERON:0002100 trunk -ENVO:01000270 claystone -UBERON:0003081 lateral plate mesoderm -ENVO:00000507 wadi mouth -ENVO:06105102 megaplastic particle -ENVO:01001143 lava planet -ENVO:00002179 intertidal sediment -PO:0006035 shoot system epidermis -ENVO:01000817 biosphere -ENVO:01000776 piece of plastic -CHEBI:61295 guanyl ribonucleotide -ENVO:01000930 ecological corridor -UBERON:0004141 heart tube -CHEBI:26986 threonine -ENVO:00000285 quicksand bed -FOODON:00001255 nonfermented plant derived beverage product -CHEBI:33345 titanium group element atom -CHEBI:33316 helium(2+) -FOODON:03400643 Codex Alimentarius classification of food and feed commodities -ENVO:00005770 beech forest soil -ENVO:01000524 outhouse -ENVO:01000956 desert-alpine tree line ecotone -CHEBI:36357 polyatomic entity -ENVO:03400016 area of ice cover -UBERON:0006558 lymphatic part of lymphoid system -ENVO:01000094 subtropical convergence front -ENVO:03501255 water trough -ENVO:01001136 ocean planet -ENVO:01001871 pit -CHEBI:33646 alkadiene -ENVO:00000385 stream mouth -ENVO:01000522 latrine pit -ENVO:01001245 woodland ecosystem -ENVO:03000015 geographic basin -UBERON:0005388 photoreceptor array -UBERON:0004290 dermomyotome -UBERON:0014387 mesenchyme derived from neural crest -ENVO:01000520 latrine slab -ENVO:03600043 meromictic pond -ENVO:01000626 drylot -ENVO:03501359 equipment frame -UBERON:0003072 optic cup -ENVO:03501158 micobiology unit facility -ENVO:03000116 snowpack -ENVO:01000349 root matter -CHEBI:16908 NADH -CHEBI:33253 nucleon -ENVO:01000361 primary cave -ENVO:01000303 endolithic environment -FOODON:00001276 apple cider (alcoholic) -UBERON:0015228 circulatory organ -FOODON:00002266 soybean food product -ENVO:00002003 fecal material -CHEBI:26079 phosphoric acid derivative -NCBITaxon:1177 Nostoc -ENVO:03000120 subglacial lake -ENVO:01000359 limestone cave -FOODON:00001080 tape kefan food product -CHEBI:25693 organic heteromonocyclic compound -ENVO:00000097 desert area -CHEBI:46890 silicon hydroxide -UBERON:0036244 secretion of serous membrane -FOODON:00001241 processed pork meat food product -ENVO:00000893 xeric basin biome -ENVO:01001388 oceanic mussel bed -ENVO:00000264 seamount -NCBITaxon:85512 Dicondylia -NCBITaxon:4436 Batis maritima -ENVO:00000316 intertidal zone -CHEBI:35716 C-nitro compound -FOODON:00001061 bacon food product -ENVO:01001272 constructed pavement -ENVO:02000119 oil shale -ENVO:01000547 glaze ice layer -ENVO:01001389 neritic mussel bed -ENVO:01000318 extreme high temperature environment -ENVO:01000607 animal-drawn cart -ENVO:00000062 populated place -ENVO:03000089 permafrost crater derived from a methane explosion -ENVO:01000642 outer planetary core -ENVO:01001665 soil cryoturbate -CHEBI:33595 cyclic compound -ENVO:01000806 nebula -ENVO:03501267 peeler -CHEBI:49936 uranium(0) -UBERON:8410024 intestinal junction -CHEBI:60031 poly(alkylene) polymer -UBERON:0004921 subdivision of digestive tract -ENVO:01000368 anchialine pool -CHEBI:29228 hydrogen fluoride -UBERON:0000475 organism subdivision -ENVO:00000445 transvasement -ENVO:03500005 anthropogenic litter -ENVO:01001376 marine faunal bed -UBERON:0000179 haemolymphatic fluid -ENVO:01000336 shrub layer -ENVO:03400012 hail stone -CHEBI:38180 polycyclic heteroarene -FOODON:00001225 smoked meat food product -ENVO:03501130 school building -ENVO:00002178 iron-reducing zone of petroleum contaminated sediment -CHEBI:33842 aromatic annulene -ENVO:00000291 drainage basin -ENVO:01001055 environment associated with an animal part or small animal -ENVO:01000074 oceanic gyre -ENVO:01000376 tropical marine semi-evergreen forest -ENVO:01001200 anthropised terrestrial environmental zone -ENVO:03510009 gasoline exhaust -ENVO:01000249 urban biome -NCBITaxon:7010 Schistocerca gregaria -PO:0025029 shoot axis -ENVO:00009725 ice piedmont -ENVO:03501311 environmental monitoring area -CHEBI:9171 skatole -ENVO:01001233 labile kerogen -ENVO:00000268 lake bed -ENVO:01001889 lithia spring -CHEBI:23449 cyclic peptide -CHEBI:26393 purine nucleoside triphosphate -CHEBI:37577 heteroatomic molecular entity -UBERON:0003496 head blood vessel -CHEBI:28685 molybdenum atom -ENVO:01001564 rain -ENVO:0010163 dry river valley -ENVO:01001688 mass of fluid -ENVO:01001069 metallic material -ENVO:01000092 equatorial upwelling front -ENVO:01001071 impact crater -ENVO:01001050 saline sediment environment -NCBITaxon:436489 Saurischia -ENVO:01000048 ocean biome -ENVO:01001609 cryospheric layer -FOODON:03411048 carbohydrate-producing plant -ENVO:00005762 chloropicrin enriched soil -ENVO:01001322 estuarine open water lower water column -ENVO:00000125 mineral spring -CHEBI:59202 straight-chain fatty acid -UBERON:0006904 head mesenchyme from mesoderm -NCBITaxon:1892263 Hapalosiphonaceae -ENVO:00005774 peat soil -ENVO:01000307 saline water environment -UBERON:0001017 central nervous system -FOODON:00001103 fermented agave beverage -ENVO:01001312 estuarine coastal upper water column -ENVO:00000055 saline evaporation pond -ENVO:01001006 rainbow -ENVO:00002245 gypsisol -ENVO:01001036 sediment permeated by saline water -ENVO:03500011 violent environment -FOODON:00001060 awamori food product -ENVO:01000036 oceanic mesopelagic zone biome -ENVO:01000187 subtropical savanna biome -UBERON:0002217 synovial joint -UBERON:0010077 cuboidal epithelium -CHEBI:33247 organic group -ENVO:01000178 savanna biome -ENVO:01000604 vehicle -UBERON:0001008 renal system -UBERON:0009846 embryonic cloacal epithelium -ENVO:02000112 fume -ENVO:01000598 freshwater spring -ENVO:03500007 noisy environment -ENVO:01001089 aerosolised solids -ENVO:01001114 feed storage space -ENVO:01000297 freshwater river -ENVO:00000029 watercourse -ENVO:01001118 heat-treated animal manure -UBERON:0000476 acellular anatomical structure -ENVO:00000313 blowout -ENVO:03600021 tailings pond -ENVO:00002005 air -UBERON:0011158 primary subdivision of skull -UBERON:0000163 embryonic cloaca -ENVO:01000804 astronomical object -ENVO:01000139 animal carcass fall -UBERON:0004231 anal region smooth muscle -FOODON:00001001 orange juice (liquid) -ENVO:03510013 textile dye -UBERON:0009881 anterior lateral plate mesoderm -CHEBI:51447 organic univalent group -ENVO:00002033 carcass -ENVO:00005801 rhizosphere -CHEBI:78840 olefinic compound -ENVO:01001840 safe environment -ENVO:01001181 rhizoplane -ENVO:01001284 barium dust -FOODON:00001191 barley food product -ENVO:03501143 discharge unit facility -ENVO:01000732 clastic dike -CHEBI:37602 allenes -ENVO:02000046 calcareous ooze -CHEBI:32999 europium atom -ENVO:03501150 gynaecology unit facility -ENVO:00000311 kettle -CHEBI:35405 transition element oxoanion -ENVO:02000130 boiler slag -UBERON:0000924 ectoderm -UBERON:0006264 mouth-foregut junction -ENVO:01001505 alpine tundra biome -UBERON:0004905 articulation -ENVO:01001528 friable-frozen soil -FOODON:00001291 clam food product -ENVO:01000391 tropical semi-evergreen moist broadleaf forest -FOODON:00001783 cowpea vegetable food product -ENVO:01000306 freshwater environment -PO:0025433 root anlagen -ENVO:03500019 lead solder -ENVO:03501281 bowling alley -FOODON:03400148 milk or milk product (us cfr) -UBERON:8480025 skin of clavicle region -ENVO:02000093 uranium mine -ENVO:00005752 sawah soil -UBERON:0002308 nucleus of brain -ENVO:00003863 food processing building -UBERON:0007831 pectoral girdle skeleton -FOODON:00001285 goose meat food product -ENVO:01000470 building envelope -CHEBI:26561 ribonucleotide -ENVO:01000247 rangeland biome -UBERON:0004151 cardiac chamber -CHEBI:35341 steroid -CHEBI:25699 organic ion -ENVO:00002013 igneous rock -CHEBI:27081 transition element atom -ENVO:03501340 community service centre -ENVO:01000406 snow -ENVO:01003000 spacecraft -CHEBI:36934 nitrogen-15 atom -ENVO:01000672 geological joint -ENVO:06105013 marine biota -ENVO:04000013 particulate organic carbon -ENVO:03600050 space station -CHEBI:72813 exopolysaccharide -PO:0020144 apical meristem -ENVO:00000066 man-made tunnel -FOODON:00001154 citrullus lanatus fruit food product -ENVO:2000011 anthracite -FOODON:00001211 pasta food product -ENVO:01000355 vegetation layer -ENVO:01001894 alkaline spring -ENVO:01000613 watercraft -FOODON:00001183 bread food product -ENVO:00000086 plain -CHEBI:33300 pnictogen -ENVO:01000863 overflow structure -ENVO:08000002 mouth environment -ENVO:06105211 runoff -ENVO:06105117 abandoned fishing gear -ENVO:01001396 abyssal clay -CHEBI:16701 nucleoside 5'-phosphate -FOODON:00001256 dairy food product -CHEBI:36093 inorganic chloride -ENVO:01000519 latrine -CHEBI:37407 cyclic ether -CHEBI:24835 inorganic molecular entity -ENVO:01001647 colloid suspended in a hydrosphere -ENVO:01000032 neritic pelagic zone biome -FOODON:00001076 sake food product -ENVO:00000194 scree -ENVO:00000280 escarpment -CHEBI:23043 epoxycarotenoid -OBI:0100026 organism -ENVO:00002135 treated wood -NCBITaxon:6544 Bivalvia -NCBITaxon:240294 Schizothrix -ENVO:00000267 submarine canyon -ENVO:01000449 wet meadow ecosystem -FOODON:00002071 orange food product -OBI:0000967 container -ENVO:00000276 drumlin -ENVO:00003885 brewery -CHEBI:26822 sulfide -CHEBI:21638 N-acylglucosamine -UBERON:0007503 epithelial vesicle -ENVO:00002116 contaminated soil -ENVO:00000468 hydroelectric dam -ENVO:00000372 pyroclastic shield volcano -FOODON:00001640 berry food product -CHEBI:37404 elemental copper -CHEBI:33670 heteromonocyclic compound -NCBITaxon:1892265 Gloeotrichiaceae -UBERON:0006612 shell -CHEBI:33581 boron group molecular entity -ENVO:03500003 public sports field -CHEBI:33702 polyatomic cation -UBERON:0004473 musculature of face -ENVO:03501133 homeless shelter -ENVO:00000371 complex volcano -ENVO:01000415 fine respirable suspended particulate matter -ENVO:01001421 cirrus uncinus cloud -ENVO:03510006 diesel fuel -FOODON:00001128 Limburger cheese food product -PO:0009007 portion of plant tissue -UBERON:0004797 blood vessel layer -ENVO:01001461 UNEP-WCMC class 1 mountain -CHEBI:27798 nitrobenzene -ENVO:03501135 acute care facility -CHEBI:21760 N-methyl-amino acid -ENVO:01001551 ice lead -CHEBI:36908 argon molecular entity -ENVO:03501250 swing bridge -FOODON:00002156 plant stem or spear vegetable food product -FOODON:00001223 sausage (dried, fermented) -CHEBI:33319 lanthanoid atom -ENVO:01000572 electric lamp -UBERON:0000955 brain -CHEBI:39418 straight-chain saturated fatty acid -ENVO:00000153 headwater -NCBITaxon:37570 Noctuoidea -ENVO:01000548 eutrophic lake -ENVO:00000309 depressed landform -ENVO:01001714 occluded front -ENVO:01000117 granular sediment -ENVO:00000251 ground moraine -ENVO:00000020 lake -ENVO:00000054 saline marsh -UBERON:0007798 vascular system -CHEBI:25703 organic phosphate -ENVO:01000099 marine surface current -UBERON:0006314 bodily fluid -ENVO:00000547 waterhole -CHEBI:16189 sulfate -CHEBI:24586 hexosamine -ENVO:00002198 fresh water aquarium -ENVO:01000335 understory -ENVO:06105122 biopolymer -CHEBI:33628 elemental aluminium -UBERON:0005911 endo-epithelium -UBERON:0002190 subcutaneous adipose tissue -ENVO:03501159 neonatal unit facility -CHEBI:25567 nitrous acid -CHEBI:16900 chlorophyllide a -CHEBI:33836 benzenoid aromatic compound -CHEBI:51688 enal -CHEBI:30412 monoatomic dication -ENVO:01000581 mobile phone -ENVO:01001076 oxic lake -FOODON:00004156 velvet bean food product -FOODON:00002125 plant based bakery food product -UBERON:0002391 lymph -ENVO:00002043 wastewater treatment plant -UBERON:0003063 prechordal plate -ENVO:03501300 manure -UBERON:0036303 vasculature of central nervous system -FOODON:00001777 cow milk dessert -CHEBI:28659 phosphorus atom -ENVO:01000540 troposphere -ENVO:02000138 mangrove biome soil -ENVO:01001037 slightly saline water -ENVO:01001140 ammonia ice -ENVO:06105123 synthetic polymer -CHEBI:27024 toluenes -CHEBI:26020 phosphate -CHEBI:61292 guanyl nucleotide -ENVO:00000348 grain of rocky sand -ENVO:01000511 thatched building roof -ENVO:01000444 dacitic lava -ENVO:00003096 tap water -CHEBI:17045 dinitrogen oxide -FOODON:00001245 tea beverage (liquid) -UBERON:0000913 interstitial fluid -CHEBI:32594 barium atom -ENVO:00000106 grassland area -ENVO:01001780 desert ecosystem -PO:0025127 primordium -UBERON:0019204 skin epithelium -UBERON:0000490 unilaminar epithelium -ENVO:00002137 brackish estuary -ENVO:03600015 polluted river -CHEBI:33636 bicyclic compound -FOODON:00001286 turkey meat food product -ENVO:01001319 saline water body -FOODON:03420152 carbohydrate extract, concentrate, or isolate -CHEBI:39479 butadiene -CHEBI:26932 tetrapyrrole -ENVO:00002871 alluvial soil -ENVO:00000137 coastal inlet -ENVO:00003963 warehouse -ENVO:03501318 hygienic food production area -ENVO:03501125 airport transit lounge -ENVO:01000276 ecoregion -ENVO:03510025 paint thinner -FOODON:00001178 honey food product -UBERON:0000911 chyle -ENVO:01000333 hillside -ENVO:01001408 cirrostratus cloud -ENVO:00002141 leachate -CHEBI:79387 trivalent inorganic anion -ENVO:01001049 non-saline sediment environment -FOODON:03316694 vegetable fat food product -ENVO:00000555 check dam -ENVO:03501142 diagnostic imaging unit facility -ENVO:00005783 leafy wood soil -ENVO:01001062 crater lake -FOODON:00001288 cantaloupe fruit food product -ENVO:01000386 temperate deciduous needleleaf forest -ENVO:00000057 mangrove swamp -ENVO:00000286 polder -ENVO:01001209 wetland ecosystem -ENVO:01000152 iron-reducing sediment -ENVO:00000420 tombolo -ENVO:00002194 oil field production water -ENVO:03600037 eutrophic pond -RO:0002577 system -CHEBI:33749 platinum molecular entity -ENVO:00000543 swale -ENVO:01001459 high-elevation mountain -ENVO:01000168 indeterminate root nodule -ENVO:01001674 lysocline -CHEBI:25696 organic anion -ENVO:01001400 homomutatus cloud -ENVO:01001718 secondary cold front -UBERON:0007100 primary circulatory organ -ENVO:01000603 water truck -ENVO:03501144 emergency unit facility -ENVO:01000991 bathtub fixture -ENVO:01001120 animal manure product -ENVO:00002238 durisol -CHEBI:35604 carbon oxoanion -ENVO:01000076 marine chemocline -ENVO:00002153 compost biofilter -ENVO:01001119 composted animal manure -ENVO:00000171 river valley -CHEBI:26878 tertiary alcohol -ENVO:00000535 weir -ENVO:01001478 gaseous astronomical body part -ENVO:00000261 savanna -FOODON:00001166 plant inflorescence food product -CHEBI:24839 inorganic salt -ENVO:01000193 temperate grassland biome -ENVO:03501276 oast house -ENVO:00000509 marine terrace -ENVO:00000416 coastal dune -CHEBI:33680 elemental helium -CHEBI:22313 alkaline earth metal atom -CHEBI:30222 neutron -CHEBI:49986 elemental krypton -CHEBI:33315 monoatomic helium -ENVO:01000086 coastal buoyancy current front -ENVO:00000298 marine iceberg -ENVO:00000462 polygenetic volcanic field -ENVO:01000033 oceanic pelagic zone biome -ENVO:01000553 liquefied petroleum gas -CHEBI:49475 argon atom -ENVO:01000126 marine sub-littoral zone -ENVO:00002191 animal litter -ENVO:03501328 fork -ENVO:01001402 haze -ENVO:03501160 neonatal intensive care unit facility -ENVO:01001029 fecal environment -ENVO:01000712 riverine flood -ENVO:01000327 strand swamp -ENVO:01000409 freshwater littoral zone -CHEBI:18246 (1->4)-beta-D-glucan -CHEBI:23377 copper molecular entity -ENVO:01001458 mist -ENVO:00000295 fish hatchery -ENVO:00002225 mesotrophic water -ENVO:03501114 public train -CHEBI:16646 carbohydrate -ENVO:01001235 planktonic kerogen -CHEBI:33575 carboxylic acid -ENVO:00002211 thermophilic anaerobic methanogenic reactor -CHEBI:29075 mononucleotide -CHEBI:36244 dicarboxylic acid monoester -ENVO:01001494 moonmoon -ENVO:03501301 baseboard -CHEBI:50047 organic amino compound -ENVO:01000169 indeterminate root nodule active meristem -ENVO:00002134 anaerobic stream sediment -FOODON:00002762 bean (cooked) -ENVO:01001646 amorphous solid -ENVO:01001068 meteoroid -ENVO:00000108 meadow ecosystem -FOODON:00001125 ovine cheese food product -NCBITaxon:227566 Hieroglyphus -ENVO:03501363 conveyor belt component -ENVO:01000174 forest biome -CHEBI:21766 N-methylglycines -ENVO:01001321 brackish water body -FOODON:00001006 mammalian meat food product -NCBITaxon:78536 Euphyllophyta -ENVO:00002201 cis-dichloroethane contaminated sediment -ENVO:01001335 anchor ice -ENVO:01000090 coastal upwelling front -ENVO:01001370 tundra ecosystem -ENVO:00000891 large freshwater lake biome -NCBITaxon:91888 lamiids -ENVO:01000979 channel of an intermittent river -ENVO:00003919 research station -FOODON:00001283 poultry food product -ENVO:01001232 sapropelic kerogen -ENVO:00000329 phreatic zone -ENVO:03501122 airport -ENVO:01001849 glaze -UBERON:0034768 morphological feature -ENVO:00000554 saddle dam -ENVO:01000166 mycetome -ENVO:03501259 litter -CHEBI:33238 monoatomic entity -ENVO:03400011 hail -UBERON:0006601 presumptive ectoderm -CHEBI:32178 Talc -CHEBI:49202 elemental platinum -ENVO:00000044 peatland -ENVO:01000183 tropical desert biome -ENVO:01000198 mixed forest biome -ENVO:02000020 blood material -UBERON:0001425 pectoral lymphatic vessel -ENVO:03000138 particle of snow -CHEBI:18139 trimethylamine -ENVO:01001230 tropical marginal sea biome -ENVO:2000038 coal power plant -CHEBI:23116 chlorine atom -ENVO:01001139 methane ice -ENVO:00000015 ocean -PO:0000003 whole plant -ENVO:03501102 polytunnel -UBERON:0005181 thoracic segment organ -NCBITaxon:7586 Echinodermata -UBERON:0010303 extraembryonic epithelium -CHEBI:28963 amino sugar -ENVO:01000188 tropical savanna biome -ENVO:01000666 area of open water -ENVO:00002176 contaminated sludge -ENVO:01001417 silvagenitus cloud -UBERON:0004016 dermatome -FOODON:00001020 beer wort food product -ENVO:01001898 acidic spring -CHEBI:27364 zinc molecular entity -ENVO:00000147 ocean current -ENVO:00000161 banana plantation -NCBITaxon:58023 Tracheophyta -ENVO:01000963 diatomite particle -CHEBI:37176 mononuclear parent hydride -CHEBI:37191 silicon oxoanion -UBERON:0001776 optic choroid -ENVO:01001028 sediment permeated by freshwater -ENVO:00000103 mangrove island -ENVO:02000139 desert spring -CHEBI:83821 amino acid derivative -ENVO:01000108 marine cold-water sphere -FOODON:03400840 beverage (non-milk) (eurofir) -UBERON:0004291 heart rudiment -UBERON:0003260 endoderm of hindgut -NCBITaxon:207598 Homininae -ENVO:01001703 polar environment -ENVO:03000128 acidic water-based rain -ENVO:01001021 humic lake -ENVO:01000155 organic material -ENVO:01000331 cypress swamp -ENVO:01000172 indeterminate root nodule senescent zone -ENVO:01000851 methane clathrate -ENVO:00000210 marine aphotic zone -CHEBI:36916 cation -ENVO:01000041 neritic sea surface microlayer biome -ENVO:00004683 karst field -ENVO:01000799 astronomical body -NCBITaxon:1804623 Chenopodiaceae -ENVO:03605004 epipsammon -ENVO:00000094 volcanic feature -ENVO:01000618 lotic water body -FOODON:00001077 salt pork meat food product -ENVO:01001238 residual kerogen -FOODON:00002373 food product by meal type -ENVO:01000171 indeterminate root nodule nitrogen fixation zone -CHEBI:28798 rubber particle -ENVO:01000578 cassette player -UBERON:0004274 lateral ventricle choroid plexus epithelium -FOODON:03460177 plant seed or nut food product -CHEBI:25430 monoatomic polycation -CHEBI:36359 phosphorus oxoacid derivative -ENVO:00000010 transport feature -FOODON:00001130 sheep milk cheese food product -ENVO:00000559 weapons test site -ENVO:00000440 rock shelter -ENVO:01001687 mass of solid material -CHEBI:35107 azane -CHEBI:33405 hydracid -ENVO:00000410 kipuka -ENVO:01001106 landslide lake -ENVO:01000267 atmosphere -FOODON:00001177 insect food product -FOODON:00001201 dry bean food product -ENVO:01001565 water-based rain -ENVO:01000165 trophosome -ENVO:00000212 marine abyssalpelagic zone -ENVO:03501326 bottle -FOODON:00001176 invertebrate animal food product -CHEBI:36683 organochlorine compound -ENVO:01000964 industrial wastewater -CHEBI:13389 NAD -NCBITaxon:1150 Oscillatoriales -ENVO:03605007 freshwater stream -ENVO:00000401 spatter cone -ENVO:03501193 pharmacy -ENVO:00000249 lateral moraine -ENVO:00000041 tidal creek -ENVO:00002140 cobble -NCBITaxon:70910 Acridomorpha -CHEBI:51084 inorganic nitrate salt -FOODON:00001057 plant fruit food product -PO:0000037 shoot axis apex -UBERON:0005856 developing mesenchymal condensation -ENVO:01001189 algal material -UBERON:0001242 intestinal mucosa -ENVO:00000244 abyssal plain -ENVO:00000040 waterfall -ENVO:06105239 exchangeable calcium -CHEBI:46680 serpentine asbestos -ENVO:03510004 hydraulic fluid -FOODON:00001247 mate food product -ENVO:01001648 suspended colloidal sediment -FOODON:00002151 plant seed based bakery food product -CHEBI:23003 carbamate ester -ENVO:03510011 leather dye -ENVO:01001348 material accumulation zone -CHEBI:26873 terpenoid -ENVO:00002057 raw primary sludge -FOODON:00003395 multi-component wheat food product -ENVO:01001552 flaw lead -ENVO:01000072 marine Taylor column -CHEBI:35403 chromium coordination entity -FOODON:03400842 non alcoholic beverage (eurofir) -NCBITaxon:1117 Cyanobacteria -ENVO:00000516 hummock -FOODON:00004242 animal food product -ENVO:01000410 marine eulittoral zone -ENVO:01000611 bus -ENVO:01001169 area protected according to IUCN guidelines -UBERON:0001894 diencephalon -ENVO:01000395 temperate sclerophyllous dry forest -ENVO:03501183 medical clinic -CHEBI:38263 2-amino-3-hydroxybutanoic acid -ENVO:01000189 temperate savanna biome -ENVO:00000546 lake sediment -ENVO:01000474 brick material -ENVO:01001649 heavy fraction material -ENVO:00002143 calcite hot spring -FOODON:00001878 frozen dairy dessert -CHEBI:33285 heteroorganic entity -ENVO:01000909 biocrust -ENVO:03501111 public transit system -ENVO:03501200 police station -UBERON:0005598 trunk somite -ENVO:03600005 electrical switch -ENVO:01000551 paraffin oil -ENVO:01000330 cypress strand swamp -ENVO:01000399 tropical needleleaf forest -ENVO:01000005 upwelling -ENVO:03501151 haematology unit facility -ENVO:01000481 silica-based glass -ENVO:03501164 occupational therapy unit facility -ENVO:01001567 protected area -UBERON:0012481 cloacal epithelium -CHEBI:37826 sulfuric acid derivative -UBERON:0004537 blood vasculature -NCBITaxon:117558 Bathymodiolinae -ENVO:01000200 tropical broadleaf forest biome -NCBITaxon:50557 Insecta -ENVO:00000374 wildlife management area -ENVO:03501312 environmental monitoring program area -UBERON:0007285 presumptive paraxial mesoderm -ENVO:00002181 neutral hot spring -ENVO:00005764 pond soil -ENVO:01000093 boundary current front -CHEBI:46678 amosite asbestos -FOODON:03411016 starch-producing plant -ENVO:01000686 marine water mass -ENVO:01000275 structural basin -ENVO:01001153 circumbinary planet -ENVO:00002263 garden soil -ENVO:00000053 freshwater marsh -ENVO:00000489 palsa -FOODON:00001008 liver paste -ENVO:01001743 plume -FOODON:00001197 bambara groundnut food product -ENVO:03600084 lichen material -ENVO:00002054 chalk -PO:0009008 plant organ -FOODON:03401061 50190000 - prepared/preserved foods (gs1 gpc) -FOODON:00001102 fermented grain beverage -ENVO:00000380 ice shelf -FOODON:00001221 sausage (raw, smoked) -ENVO:01001012 lithometeor -FOODON:00001004 fermenting sugar cane juice -CHEBI:50812 carbon nanostructure -UBERON:0001708 jaw skeleton -ENVO:00000274 continental rise -NCBITaxon:1783272 Terrabacteria group -ENVO:01001522 fast ice -ENVO:01001241 crop canopy -CHEBI:36358 polyatomic ion -CHEBI:22160 acetamides -CHEBI:50796 nanotube -CHEBI:26401 purines -ENVO:01001798 tropical mixed forest biome -ENVO:03600092 artificial pond -ENVO:02000123 paint -UBERON:0011779 nerve of head region -ENVO:00000255 flood plain -ENVO:00002157 stromatolite mat -UBERON:0004479 musculature of trunk -ENVO:00000027 spring -FOODON:00001062 fermented millet food product -CHEBI:24870 ion -ENVO:00000873 freshwater biome -ENVO:03000002 firn -ENVO:00000275 ocean trench -ENVO:02000031 breast milk material -UBERON:0036146 cardiopharyngeal field -ENVO:01000018 gravel -UBERON:0001606 muscle of iris -UBERON:0000178 blood -ENVO:00002269 thermocline -ENVO:00003041 cow shed -ENVO:03600040 fermentation starter -ENVO:01000229 mediterranean savanna biome -UBERON:0006312 ocular refractive media -ENVO:00000476 lake inlet -UBERON:0000307 blastula -ENVO:00002235 cambisol -NCBITaxon:169705 Cocoseae -UBERON:3000961 external integument structure -ENVO:00003908 poultry deep litter -CHEBI:33664 monocyclic hydrocarbon -UBERON:0009584 1st arch mandibular mesenchyme -UBERON:0008816 embryonic head -ENVO:01000767 illegal settlement -NCBITaxon:1205 Trichodesmium -CHEBI:35296 ortho-fused polycyclic arene -ENVO:01001075 hypoxic lake -ENVO:03501270 chapter house -UBERON:0001262 wall of intestine -CHEBI:26675 silicic acid -ENVO:01000889 area of lichen-dominated vegetation -ENVO:03600053 yard -ENVO:01000218 xeric shrubland biome -ENVO:00002195 pyritic acid mine drainage -ENVO:00000497 rincon -FOODON:00001124 caprine cheese food product -ENVO:00002193 pulp-bleaching waste water -UBERON:0007811 craniocervical region -UBERON:0004786 gastrointestinal system mucosa -FOODON:00001262 botanical fruit food product -ENVO:00000358 area of protected biodiversity -CHEBI:35780 phosphate ion -CHEBI:45696 hydrogensulfate -ENVO:01000202 temperate broadleaf forest biome -ENVO:00000347 grain of sea sand -ENVO:03000137 freezing fog -CHEBI:17326 nucleoside 5'-triphoshate -UBERON:0013703 integumentary projection -ENVO:01000087 tidal mixing front -ENVO:01000859 tropical marine upwelling biome -CHEBI:73115 divinyl chlorophyll b -ENVO:01000479 lime plaster -ENVO:00000233 swamp ecosystem -ENVO:01000287 polymictic lake -ENVO:01000815 liquid environmental material -ENVO:01000422 bathroom -ENVO:00000225 highly stratified estuary -ENVO:00000281 fault escarpment -CHEBI:30217 helium atom -ENVO:02000043 biological product -ENVO:03501228 trattoria -ENVO:01001381 oceanic mussel reef -ENVO:01001176 environment associated with an aquatic invertebrate -UBERON:0004122 genitourinary system -ENVO:01000435 montane forest -ENVO:03600061 shipwreck -ENVO:01000280 ecozone -UBERON:0005061 neural groove -ENVO:01000432 swamp forest -FOODON:00002786 velvet bean (whole) -ENVO:01000561 paraffin lamp -ENVO:01001288 kaolin dust -ENVO:03600049 smokeless tobacco -ENVO:01001005 lunar rainbow -CHEBI:28694 copper atom -ENVO:00002982 clay -ENVO:01001818 enrichment culturing unit -ENVO:01000312 culturing environment -ENVO:00010506 emulsion -ENVO:01000668 geological fault -ENVO:03600065 spring water -ENVO:01000337 herb and fern layer -CHEBI:33637 ortho-fused compound -ENVO:01001129 super-Jupiter -CHEBI:22718 benzoates -CHEBI:50312 onium compound -ENVO:01001456 tropical mountain -ENVO:02000141 refinery -ENVO:01001454 polar mountain -ENVO:01001010 hydrometeor -ENVO:00000502 container of an intermittent saline lake -ENVO:03501162 neurology unit facility -ENVO:00000412 tidal watercourse -NCBITaxon:4185 Acanthaceae -UBERON:0000025 tube -ENVO:00002115 petroleum enriched sediment -FOODON:00001242 spice or herb -ENVO:03501272 mosque -ENVO:00000002 anthropogenic geographic feature -ENVO:00000184 hanging valley -ENVO:03501188 ophthalmology clinic -UBERON:0003827 thoracic segment bone -CHEBI:134024 chlorofluorocarbon -NCBITaxon:1890449 Microcystaceae -CHEBI:24866 salt -ENVO:00000414 natural arch -ENVO:00000076 mine -UBERON:0002465 lymphoid system -UBERON:0000033 head -ENVO:00000072 aquaduct -ENVO:02000037 sebum material -UBERON:0004185 endodermal part of digestive tract -ENVO:01001088 aerosolised liquids -ENVO:01001244 cropland ecosystem -UBERON:0000966 retina -CHEBI:35307 epoxycarotenol -CHEBI:78130 fatty acid anion 28:0 -NCBITaxon:1161 Nostocales -ENVO:03000005 erosionally enriched glacial ice -UBERON:0002342 neural crest -CHEBI:26712 sodium molecular entity -ENVO:01001013 reflection rainbow -UBERON:0000173 amniotic fluid -NCBITaxon:6546 Mytilida -ENVO:00000235 carr -FOODON:03411013 plant used for producing extract or concentrate -ENVO:01000846 water ice crystal -ENVO:03501137 hospital unit facility -UBERON:0004768 bone of lower jaw -CHEBI:49990 monoatomic argon -FOODON:00002752 bean (whole, dried) -NCBITaxon:133551 Eleutherozoa -UBERON:0006222 future diencephalon -ENVO:00000197 endorheic lake -FOODON:03312053 pork (dehydrated) -ENVO:01001848 rime -ENVO:03501324 latex -FOODON:03400289 USA agency food product type -UBERON:0005426 lens vesicle -FOODON:03400188 confectionery (us cfr) -ENVO:01000537 atmospheric ozone -ENVO:01001691 mass of compounded environmental materials -ENVO:01001846 depth hoar -UBERON:0002099 cardiac septum -ENVO:03000108 slab snow -ENVO:00000205 permanent spring -FOODON:00001757 common bean food product -ENVO:00000529 beach ridge -FOODON:00001202 winged bean food product -ENVO:00000206 marine neritic zone -ENVO:00002124 anaerobic bioreactor -ENVO:03501278 skyscraper -ENVO:01001791 mediterranean forest -ENVO:01000570 hot-blast paraffin lantern -UBERON:0003219 shell septum -CHEBI:33608 hydrogen molecular entity -FOODON:00001282 ground beef food product -NCBITaxon:190523 Laguncularia -ENVO:03501123 airport terminal -FOODON:03400644 a. primary food commodities of plant origin (ccpr) -ENVO:01000053 marine ultramafic hydrothermal vent biome -CHEBI:33641 olefin -CHEBI:33341 titanium atom -ENVO:01001495 dioxygen dissolved in marine water -NCBITaxon:3193 Embryophyta -ENVO:00000234 bayou -CHEBI:27563 arsenic atom -ENVO:03000111 snow mass -ENVO:00000369 brine pool -FOODON:03400969 50221200 - processed cereal products (gs1 gpc) -UBERON:0003714 neural tissue -CHEBI:3992 cyclic ketone -ENVO:01001397 ultisol -CHEBI:36388 saturated organic heterocyclic parent -CHEBI:37332 tropane alkaloid -FOODON:03315925 pate -ENVO:01001185 acidic soil -ENVO:01001077 lake with an oxic hypolimnion -ENVO:03501238 hillock -CHEBI:46923 dioxane -ENVO:01000366 talus cave -ENVO:00003894 face cream product -ENVO:00000200 periglacial lake -ENVO:00000151 sabkha -ENVO:01000020 estuarine biome -ENVO:01000028 marine hadal zone biome -ENVO:01000285 holomictic lake -UBERON:0004362 pharyngeal arch 1 -ENVO:01000542 ozone layer -CHEBI:26191 polyol -ENVO:03520004 cloud base -FOODON:00002146 plant product dressing -ENVO:01000245 cropland biome -ENVO:01000459 asphalt concrete -FOODON:00001041 beef food product -ENVO:00000465 natural harbor -ENVO:03000037 glacial ice ablation zone -UBERON:3000977 body external integument structure -ENVO:01000505 salt dome -ENVO:01001681 weather front -ENVO:01000894 area of emergent herbaceous wetland -UBERON:0004529 anatomical projection -ENVO:01001341 marine tidal flow zone -ENVO:03501252 chicken manure -ENVO:00000138 cove -CHEBI:46677 amphibole asbestos -ENVO:00000023 stream -ENVO:00000065 railway -PO:0025007 collective plant organ structure -UBERON:0004128 optic vesicle -ENVO:01001311 solid surface layer -ENVO:01000951 natural environment -FOODON:03401095 50192900 - pasta/noodles (gs1 gpc) -ENVO:01000325 aquatic layer -NCBITaxon:10239 Viruses -ENVO:00000254 till plain -CHEBI:30496 sulfur hexafluoride -UBERON:0004140 primary heart field -ENVO:03000133 agricultural potting mixture -ENVO:01000180 tundra biome -CHEBI:25527 nicotinamide nucleotide -CHEBI:51143 nitrogen molecular entity -ENVO:00002061 oil spill -ENVO:00000052 volcanic crater lake -PO:0025385 cutin -ENVO:01000253 freshwater river biome -UBERON:0007828 girdle bone/zone -CHEBI:33598 carbocyclic compound -ENVO:00000327 speleothem -UBERON:0005057 immune organ -ENVO:01000038 oceanic abyssopelagic zone biome -CHEBI:22506 aminoglycan -ENVO:01000110 hydrogenous sediment -ENVO:01001009 photometeor -ENVO:01001540 simple valley glacier -CHEBI:25248 methyl ester -CHEBI:33377 dysprosium atom -ENVO:01000402 tropical mixed broadleaf forest -ENVO:00002145 chromate contaminated soil -CHEBI:51580 phthalocyanines -ENVO:00000443 flood control reservoir -ENVO:01001293 bush area -ENVO:01000816 area of deciduous forest -FOODON:03400231 margarine (us cfr) -CHEBI:26395 purine nucleotide -ENVO:01001392 mussel gill tissue material -CHEBI:33675 p-block molecular entity -FOODON:00001129 goat milk cheese food product -ENVO:01001407 cirrocumulus cloud -ENVO:01000497 mud exterior wall -PO:0009013 portion of meristem tissue -ENVO:01001519 area of pack ice -ENVO:01000396 tropical sclerophyllous dry forest -ENVO:03510020 degreaser -ENVO:01001823 bubble plume -ENVO:01000833 water droplet -ENVO:00000312 sandur -ENVO:00000215 hydrothermal vent -CHEBI:50559 elemental uranium -ENVO:03501179 urology unit facility -ENVO:01000550 composting toilet -ENVO:03000035 supraglacial lake -FOODON:03315302 cocoa food product -ENVO:01001425 cirrus castellanus cloud -ENVO:03501207 shopping mall -ENVO:02000156 organic dairy farm -UBERON:0000010 peripheral nervous system -ENVO:00000404 stratovolcano -CHEBI:22629 arsenate ion -ENVO:02000032 vitreous humor material -NCBITaxon:131221 Streptophytina -ENVO:00005794 water scum -CHEBI:25388 monohydroxybenzoate -ENVO:00000088 sea cliff -UBERON:0004770 articular system -NCBITaxon:4435 Batis -UBERON:0004237 blood vessel smooth muscle -ENVO:03501182 clinic -UBERON:0008229 craniocervical region musculature -ENVO:00000467 university campus -ENVO:01001267 stormwater -ENVO:03501343 first nations reserve -CHEBI:37217 titanium molecular entity -ENVO:03501136 clinical patient assessment facility -ENVO:01000813 astronomical body part -ENVO:03501269 packaging machine -NCBITaxon:198592 Umezakia -ENVO:01000532 covered pit latrine -NCBITaxon:91836 malvids -ENVO:01001240 woodland canopy -ENVO:00000444 woodland clearing -CHEBI:80770 Brevetoxin B -ENVO:00002272 waste treatment plant -ENVO:00000326 sea cave -FOODON:00002035 milk dessert food product -UBERON:0006965 vascular cord -ENVO:03501174 high dependency unit facility -CHEBI:143005 ultra-long-chain fatty acid anion -NCBITaxon:197562 Pancrustacea -ENVO:00000073 building -CHEBI:33743 manganese group molecular entity -ENVO:01000744 human dwelling -ENVO:01000082 biogenous sediment -ENVO:00005740 paddy field soil -ENVO:01000983 technosphere -ENVO:01000458 concrete -ENVO:00000294 fish farm -UBERON:0001473 lymphatic vessel -ENVO:00002001 waste water -ENVO:01001138 carbon dioxide ice -ENVO:00000248 glacial valley -ENVO:00005746 savanna soil -UBERON:0015410 heart plus pericardium -ENVO:00002164 fossil material -ENVO:01001411 nimbostratus cloud -CHEBI:23045 carotenol -NCBITaxon:1126 Microcystis aeruginosa -UBERON:0004277 eye muscle -FOODON:00001152 melon fruit food product -ENVO:02000021 amniotic fluid material -ENVO:01000440 dacitic volcano -CHEBI:33260 elemental hydrogen -CHEBI:17997 dinitrogen -ENVO:00012411 karst cave -ENVO:00005769 mountain forest soil -ENVO:01001222 commercial building -ENVO:01000328 dome swamp -ENVO:03501320 food production low-risk contamination area -CHEBI:36360 phosphorus oxoacids and derivatives -CHEBI:37164 homopolysaccharide -CHEBI:33352 manganese group element atom -ENVO:01000450 salt glacier -NCBITaxon:1121 Aphanothece -ENVO:03501261 wheel -CHEBI:5686 heterocyclic compound -ENVO:01001227 aquatic natural environment -ENVO:01001280 driveway -ENVO:03000145 snow-covered land -ENVO:01000262 seep -FOODON:00001138 tea based beverage product -ENVO:01001555 frozen lead -ENVO:00000472 backwater -NCBITaxon:58024 Spermatophyta -ENVO:03501181 tertiary referral hospital -ENVO:00000025 reservoir -ENVO:00000070 human construction -CHEBI:26714 sodium salt -ENVO:00000105 lake surface -ENVO:00000082 hill range -ENVO:00001997 acid mine drainage -ENVO:00000469 research facility -ENVO:01000039 oceanic hadal pelagic zone biome -ENVO:03600046 processed tobacco -ENVO:01000848 flower strip -ENVO:03605002 epipelon -ENVO:03501176 psychiatric intensive care unit facility -ENVO:01000023 marine pelagic biome -ENVO:03501256 sheet of paper -ENVO:01001074 lake with a hypoxic hypolimnion -NCBITaxon:169697 Arecoideae -ENVO:00000315 bajada -CHEBI:23042 carotene -FOODON:00001186 buckewheat food product -FOODON:03317170 meat (whole or parts) -CHEBI:30879 alcohol -ENVO:01000127 marine cold seep biome -ENVO:01000965 constructed swimming pool -UBERON:0002050 embryonic structure -ENVO:01000365 ice cave -FOODON:03302082 beef (dehydrated) -ENVO:01001672 frontal surface of a weather front -ENVO:00003044 brine -ENVO:03501327 utensil -UBERON:0005292 extraembryonic tissue -UBERON:0000485 simple columnar epithelium -NCBITaxon:54304 Planktothrix -NCBITaxon:1158 Oscillatoria -ENVO:03501358 processing line -CHEBI:33635 polycyclic compound -ENVO:01000779 public infrastructure -FOODON:00001046 animal seafood product -UBERON:0003064 intermediate mesoderm -FOODON:00001248 fish food product -ENVO:01000958 terrestrial planet -UBERON:0005062 neural fold -ENVO:01000418 human house -UBERON:0010316 germ layer / neural crest -ENVO:01000496 straw exterior wall -CHEBI:53448 methyl cellulose -CHEBI:8006 Peptidoglycan(N-acetyl-D-glucosamine) -ENVO:02000039 synovial fluid material -ENVO:03000021 soot -NCBITaxon:1118 Chroococcales -UBERON:0000073 regional part of nervous system -ENVO:01000995 dry river -UBERON:0006876 vasculature of organ -CHEBI:27594 carbon atom -ENVO:01001393 Bathymodiolus gill tissue material -CHEBI:27856 acetamide -UBERON:0012314 embryonic facial prominence -ENVO:00000391 land bridge -CHEBI:33746 vanadium group molecular entity -UBERON:0001769 iris -UBERON:0000925 endoderm -FOODON:03430130 food (liquid) -ENVO:01000740 area of perennial water ice -ENVO:01001745 quasi-stationary front -ENVO:00000453 liman -ENVO:00005739 sea foam -UBERON:0000915 thoracic segment of trunk -ENVO:01000527 flush toilet fixture -ENVO:03000082 thermokarst lake -UBERON:0000164 primitive urogenital sinus -ENVO:01001418 cirrus fibratus cloud -FOODON:00001290 salad dressing -ENVO:01001896 radioactive spring -ENVO:01000737 sill -ENVO:01000535 pour-flush pit latrine -UBERON:0006905 mandibular process mesenchyme -ENVO:00002168 gold mine -ENVO:03501297 meat processing plant -ENVO:01001506 ice calf -ENVO:01001491 flattened elevation -ENVO:03600034 cay -ENVO:01000893 area of woody wetland -ENVO:00010505 aerosol -ENVO:01000931 migration path -ENVO:01001683 gaseous surface layer -CHEBI:28868 fatty acid anion -UBERON:0012360 bone of jaw -ENVO:01001125 ice -FOODON:00001073 vinegar food product -ENVO:01000158 marine snow -ENVO:00000093 lacustrine beach -ENVO:01000829 water vapour saturated air -ENVO:01000226 subtropical moist broadleaf forest biome -FOODON:00001200 cowpea (pulse) food product -ENVO:00000354 volcanic field -CHEBI:33261 organosulfur compound -ENVO:03600020 tailings dam -ENVO:00000456 tidewater glacier -CHEBI:23237 chromium molecular entity -UBERON:0010225 thalamic complex -ENVO:00000565 sports facility -ENVO:00005742 arable soil -ENVO:01001807 flooded grassland -UBERON:0015833 foregut epithelium -ENVO:01001538 frost-formed hummock -ENVO:00000514 crater -ENVO:01000030 marine hydrothermal vent biome -ENVO:00000550 range of seamounts -ENVO:00012408 aquifer -ENVO:01000534 pour-flush toilet fixture -ENVO:00000457 plateau glacier -ENVO:00000203 rift lake -CHEBI:36344 hadron -ENVO:01000401 tropical mixed needleleaf forest -UBERON:0035804 future mouth -CHEBI:35404 chromate(2-) -ENVO:02000114 paraffin wax fume -CHEBI:36364 alkaline earth salt -ENVO:01001033 digestive tract environment -ENVO:00000470 irrigation dam -ENVO:00000448 hydroelectric reservoir -CHEBI:79389 monovalent inorganic anion -NCBITaxon:41191 Glossata -ENVO:03501258 chicken house -CHEBI:33302 pnictogen molecular entity -UBERON:0036253 orifice of skull -ENVO:00000021 freshwater lake -ENVO:03510032 acrylic paint -ENVO:00000351 volcanic arc -CHEBI:166975 soybean oil -ENVO:01000194 montane grassland biome -ENVO:00000031 wadi -ENVO:01000752 area of barren land -ENVO:00000257 flood fringe -ENVO:02000029 cerebrospinal fluid material -ENVO:03600017 slurry -ENVO:03501131 university building -CHEBI:26708 sodium atom -ENVO:03501149 geriatric intensive care unit facility -UBERON:0001421 pectoral girdle region -ENVO:01000080 pelagic isothermal surface -UBERON:0000328 gut wall -FOODON:03302001 animal-derived food -ENVO:03600067 neonatal intensive care unit -ENVO:01001070 impact crater lake -ENVO:00000152 anabranch -CHEBI:33597 homocyclic compound -ENVO:06105273 fine sand -UBERON:0010359 pharyngeal arch mesenchyme from neural crest -ENVO:01000781 public building -ENVO:01000437 lava field -ENVO:01000426 room -ENVO:03600001 chemically contaminated sediment -ENVO:01000955 desert tree line ecotone -ENVO:00003930 scum -UBERON:0011595 jaw region -ENVO:01000151 manganese-reducing sediment -ENVO:03501146 gastroenterology unit facility -ENVO:02000090 ash -ENVO:01000745 area of perennial snow -ENVO:01001833 mediterranean biome -UBERON:0005867 mandibular prominence -UBERON:0010313 neural crest-derived structure -ENVO:00005751 jungle soil -ENVO:01000584 table -UBERON:0007376 outer epithelium -CHEBI:33832 organic cyclic compound -NCBITaxon:1892254 Oscillatoriaceae -UBERON:0011108 synovial joint of pectoral girdle -ENVO:01001810 mediterranean grassland -ENVO:00000537 boulder field -FOODON:00001222 sausage (raw) -UBERON:0000990 reproductive system -ENVO:02000094 ore -ENVO:00000129 stream valley -UBERON:0012274 columnar epithelium -CHEBI:39478 buta-1,3-diene -ENVO:01000419 domestic garden -NCBITaxon:6547 Mytilidae -ENVO:01001560 colloidal suspension -ENVO:01001716 warm occluded front -ENVO:00000091 beach -ENVO:00000474 cut -ENVO:01000231 lava -ENVO:00002034 biofilm -ENVO:03000141 snow layer -UBERON:0011156 facial skeleton -CHEBI:35175 sulfate salt -ENVO:01000597 pressure lamp -CHEBI:35681 secondary alcohol -ENVO:01000834 water raindrop -ENVO:01001455 temperate mountain -ENVO:03501248 overpass -ENVO:03501266 pump -FOODON:00001142 maize (corn) food product -ENVO:01001386 mussel reef -PO:0000112 shoot axis epidermis -ENVO:01001152 mesoplanet -ENVO:02000003 pockmark field -ENVO:01000528 dry toilet fixture -ENVO:00000515 road cut -ENVO:01000529 chemical toilet fixture -ENVO:01001121 plant matter -ENVO:00000522 canal tunnel -ENVO:01000885 area of developed space with medium usage intensity -ENVO:01000620 mesocosm -ENVO:00010358 fomite -FOODON:00002819 liver food product -ENVO:01001836 montane biome -UBERON:0007098 mandibular neural crest -FOODON:03400115 cheese or cheese product (us cfr) -ENVO:01000027 marine abyssal zone biome -CHEBI:37163 glucan -ENVO:03501369 seam surface -ENVO:01001834 subpolar biome -CHEBI:46926 dioxanes -ENVO:01000428 area of rocky shore -FOODON:00001078 fermented soybean food product -FOODON:00001675 cabbage juice food product -ENVO:00002019 brackish water -ENVO:01000465 building wall -ENVO:03600019 sugarcane vinasse -ENVO:01001870 gas well -UBERON:0002090 postcranial axial skeleton -NCBITaxon:71000 Pfiesteria -CHEBI:37403 copper coordination entity -FOODON:00001162 grape extract -ENVO:00000271 chott -CHEBI:64709 organic acid -FOODON:00001229 processed cheese food product -UBERON:0003386 smooth muscle of eye -ENVO:03501209 bedrail -FOODON:03303909 cultured dairy product -NCBITaxon:301957 Modiolinae -ENVO:03501103 ambulance -ENVO:01000654 undersea trough -CHEBI:13392 NAD(P)H -ENVO:03500009 attractive environment -ENVO:03500028 pneumatic drill -ENVO:01000482 soda-lime glass -ENVO:00000236 dambo -ENVO:01000277 water ice -CHEBI:33663 cyclic hydrocarbon -ENVO:00000135 buffer zone -CHEBI:24431 chemical entity -ENVO:00000148 riffle -CHEBI:25806 oxygen molecular entity -CHEBI:36962 organochalcogen compound -ENVO:03000048 thaw hole -FOODON:03400852 miscellaneous food product (eurofir) -CHEBI:27363 zinc atom -CHEBI:23905 monoatomic anion -FOODON:03400293 soft candy (us cfr) -ENVO:00002192 poultry litter -UBERON:0034923 disconnected anatomical group -ENVO:02000101 fibrous dust -ENVO:01000181 mangrove biome -CHEBI:49991 elemental argon -ENVO:03600035 cold room -FOODON:00001279 cake icing food product -ENVO:01000649 trench -ENVO:01001473 terrestrial observatory system -ENVO:00002875 oil contaminated soil -ENVO:03501330 cup -ENVO:03501265 public toilet -UBERON:0003324 mesenchyme of lower jaw -ENVO:03600018 organic horizon -ENVO:03400009 falling sleet -ENVO:01001041 fungi-associated environment -UBERON:0003343 mucosa of oral region -ENVO:00000506 intermittently filled reservoir -CHEBI:17051 fluoride -UBERON:0007284 presumptive neural plate -ENVO:03600013 bituminous sand -ENVO:01000990 sink fixture -FOODON:00001035 new zealand cheddar cheese food product -UBERON:0007530 migrating mesenchyme population -ENVO:02000118 paraffin wax -ENVO:01000075 marine thermocline -CHEBI:18291 manganese atom -ENVO:00002170 compost -NCBITaxon:51952 Elaeis -ENVO:01000184 subtropical desert biome -FOODON:03430109 food (liquid, low viscosity) -ENVO:01001004 groundwater -ENVO:01001072 anoxic lake -CHEBI:27338 xylene -ENVO:00002122 arsenic-rich mud -ENVO:01000466 boundary wall -ENVO:00000307 icefall -ENVO:01000808 dwarf planet -ENVO:01001410 altostratus cloud -ENVO:01000616 motorscooter -ENVO:02000103 metallic dust -ENVO:00000058 underground lake -ENVO:01001178 pasturable land -FOODON:00002275 steeped beverage product -ENVO:01000714 storm surge -ENVO:01001799 tropical dry broadleaf forest -CHEBI:25216 metalloporphyrin -ENVO:03501186 family practice clinic -CHEBI:50816 iron oxide -CHEBI:33703 amino-acid cation -UBERON:0011215 central nervous system cell part cluster -ENVO:00000087 cliff -ENVO:01001061 caldera lake -UBERON:0000489 cavitated compound organ -ENVO:01000872 ballast water -CHEBI:29125 arsenate(3-) -NCBITaxon:8782 Aves -ENVO:01000867 solar panel array -OBI:0000047 processed material -ENVO:00003870 rice straw -ENVO:02000047 animal feed -ENVO:01000217 mediterranean shrubland biome -CHEBI:24471 halogen molecular entity -ENVO:00000496 rill -UBERON:0001801 anterior segment of eyeball -UBERON:0003075 neural plate -ENVO:01001022 natural lake -ENVO:00002214 power plant -UBERON:0004121 ectoderm-derived structure -ENVO:03600007 formation fluid -ENVO:00000888 large river headwater biome -ENVO:00003040 animal house -ENVO:01001623 glacial summer surface -ENVO:03600004 drinking water treatment plant -CHEBI:60926 amino monosaccharide -ENVO:00002173 hospital -FOODON:00002454 food product by quality -ENVO:01001428 water-based cloud -ENVO:03520002 high atmospheric level -CHEBI:33645 acyclic olefin -ENVO:00000287 butte -ENVO:01001258 vog -CHEBI:47032 1,4-dioxane -FOODON:00002252 soft cheese food product -ENVO:01001696 isothermal surface -UBERON:0014903 primordial vasculature -ENVO:2000043 tidal power plant -CHEBI:36343 composite particle -UBERON:0006003 integumentary adnexa -CHEBI:26935 tetraterpenoid -ENVO:01001167 ecosystem fragment -ENVO:00010625 zoological garden -UBERON:0001353 anal region -ENVO:00002259 agricultural soil -UBERON:0005944 axial skeleton plus cranial skeleton -ENVO:01000284 amictic lake -ENVO:02000115 vanadium fume -UBERON:0036654 wall of lateral ventricle -ENVO:03501153 surgical intensive care unit facility -CHEBI:16234 hydroxide -ENVO:03501194 long-term care facility -ENVO:01001797 tropical mixed forest -ENVO:01001897 neutral spring -NCBITaxon:1437010 Boreoeutheria -UBERON:0005156 reproductive structure -FOODON:03400874 GS1 Global Product Classification (GPC) -UBERON:0006555 excretory tube -CHEBI:49637 hydrogen atom -FOODON:03316579 multi-component plant food product -ENVO:03501210 control panel -ENVO:00000460 penplain -ENVO:03501245 drawbridge -NCBITaxon:1175 Aphanizomenon -ENVO:01000210 tropical coniferous forest biome -ENVO:01001553 shore lead -CHEBI:27889 lead(0) -ENVO:03501197 institutional building -ENVO:00000104 undersea feature -CHEBI:26421 pyridines -ENVO:00000338 vomit material -NCBITaxon:92939 Gloeotrichia -CHEBI:33335 scandium group element atom -ENVO:01000132 thermophilic sediment -ENVO:00002117 creosote contaminated soil -ENVO:03000085 thermokarst -ENVO:00000449 drinking water reservoir -UBERON:0010719 girdle skeleton -NCBITaxon:6960 Hexapoda -ENVO:2000002 industrial wastewate treatment plant -ENVO:00000303 sea coast -UBERON:0015474 axilla skin -CHEBI:33747 nickel group molecular entity -FOODON:00001203 vetch seed (whole, dried) -ENVO:03510037 radioactive material -ENVO:00000411 ford -ENVO:01000610 motor -UBERON:0005177 trunk region element -ENVO:03000018 englacial stream -ENVO:03400001 area of alpine tundra -UBERON:0001988 feces -ENVO:02000049 coastal water body -FOODON:00001169 cruciferous food product -ENVO:01001305 vegetated area -ENVO:00000045 estuary -ENVO:01000731 igneous extrusion -ENVO:00003864 bakery -ENVO:01000945 primary microplastic particle -ENVO:00000435 proglacial lake -FOODON:03400680 015 pulses (vd) (ccpr) -CHEBI:33745 copper group molecular entity -NCBITaxon:7496 Pterygota -ENVO:00000402 mud volcano -ENVO:01000350 autoclaved sand -FOODON:03301073 sugar (granulated) -ENVO:01001234 recalcitrant kerogen -ENVO:00000421 wave-cut platform -CHEBI:33369 cerium -UBERON:0004909 epithelium of gonad -CHEBI:33263 diatomic oxygen -ENVO:03510033 luminescent paint -ENVO:01000065 marine oxygen minimum zone -UBERON:0003099 cranial neural crest -ENVO:03600036 pathogen-suppressive soil -PCO:0000000 collection of organisms -ENVO:01000436 waterborne particulate matter -ENVO:00002277 back-arc basin -FOODON:00002779 jack-bean food product -CHEBI:31001 octacosanoic acid -ENVO:00002159 drilling bore water -CHEBI:17996 chloride -FOODON:00001266 camel milk beverage -CHEBI:23016 carbonates -ENVO:00002206 coal mine waste material -UBERON:0007383 enveloping layer of ectoderm -ENVO:03600010 membrane bioreactor -CHEBI:63299 carbohydrate derivative -ENVO:01000006 coastal upwelling -UBERON:0000064 organ part -ENVO:03501129 educational facility -ENVO:00000155 cirque -UBERON:0035965 wall of blood vessel -ENVO:01001516 ice cave congelation ice -ENVO:01001116 bovine dairy liquid manure -FOODON:00002663 pork food product -FOODON:00001296 sheep milk cheese (unpasteurized) -ENVO:01001831 temperate biome -ENVO:00003859 horse manure -ENVO:01000783 public utility line -FOODON:00001053 fermented dairy food product -UBERON:0001049 neural tube -ENVO:01001562 hydrogel -UBERON:0007026 presumptive gut -ENVO:00000887 large river biome -FOODON:03315173 fish product (unspecified species) -UBERON:0002199 integument -FOODON:00001118 cattle dairy food product -ENVO:01000385 temperate deciduous broadleaf forest -ENVO:03501118 public transport hub -FOODON:00001289 potato salad food product -ENVO:00000188 palsa mire -ENVO:2000006 nest of termite -ENVO:00000323 live cave -CHEBI:22984 calcium atom -ENVO:01000539 mesosphere -ENVO:01000602 truck -ENVO:01000098 deep ocean current -ENVO:00000273 continental slope -ENVO:02000106 asbestos dust -ENVO:03501251 vacuum cleaner -ENVO:03501357 manufacturing equipment -ENVO:2000007 biochar -ENVO:03501305 pliofilm -FOODON:00001064 bottled beer food product -ENVO:00002130 hypolimnion -CHEBI:17347 testosterone -ENVO:01001369 tidal mangrove shrubland -FOODON:00001284 duck meat food product -UBERON:0003314 eye mesenchyme -ENVO:01000670 vein -UBERON:0003236 epithelium of lower jaw -CHEBI:51958 organic polycyclic compound -ENVO:00000109 woodland area -ENVO:02000120 zinc chloride fume -ENVO:02000034 tear material -ENVO:03510014 India ink -ENVO:00002266 chicken breeding waste material -FOODON:00001298 unpasteurized camel milk beverage -ENVO:00002060 oil sludge -ENVO:00005778 tropical soil -ENVO:00000174 isthmus -FOODON:00001207 jack bean (whole, dried) -ENVO:01000567 paraffin lantern -ENVO:01000954 alpine tree line ecotone -UBERON:0007719 bone of reproductive organ -ENVO:03501167 orthopaedics unit facility -ENVO:01000134 hydrothermal fluid -FOODON:00001024 pickled cabbage food product -CHEBI:36587 organic oxo compound -CHEBI:51689 enone -ENVO:00000124 supranational geopolitical entity -ENVO:01001350 ice accumulation zone -CHEBI:35193 tetraterpene -ENVO:01000922 animal cage -ENVO:01000749 oceanic crust -NCBITaxon:2696291 Ochrophyta -FOODON:00001857 food flavoring or seasoning product -UBERON:0005253 head mesenchyme -CHEBI:33560 p-block element atom -CHEBI:22256 adenosine phosphate -FOODON:00001243 animal lipid food product -ENVO:00002200 sea ice -ENVO:03600002 cooling water -CHEBI:38773 quinolinemonocarboxylate -ENVO:01001406 laboratory facility -UBERON:0005289 tela choroidea of telencephalic ventricle -ENVO:01000592 bed base -ENVO:01000317 aquatic environment -ENVO:01000323 atmospheric boundary layer -ENVO:03501233 warehouse -UBERON:0007010 cleaving embryo -CHEBI:37997 homopolymer macromolecule -CHEBI:24061 fluorine atom -FOODON:03301103 orange juice -ENVO:00000159 sugar plantation -ENVO:01000969 cafeteria -ENVO:03500006 food desert -ENVO:03605008 freshwater stream biome -ENVO:01000985 fairground -CHEBI:37045 purine ribonucleoside 5'-triphosphate -ENVO:01001820 cultured organic material -ENVO:03510062 aqueous inkjet printer ink -CHEBI:33552 sulfonic acid derivative -UBERON:0000982 skeletal joint -UBERON:0000456 secretion of exocrine gland -ENVO:03501364 packaging equipment -ENVO:03501241 wind farm -NCBITaxon:32525 Theria -ENVO:00000173 rocky desert -UBERON:0004120 mesoderm-derived structure -ENVO:01000886 area of developed space with high usage intensity -ENVO:03510057 permanent hair dye -ENVO:00003862 dairy -CHEBI:46681 anthophyllite -CHEBI:25111 magnesium porphyrin -ENVO:01001694 isohaline surface -ENVO:01000971 food truck -CHEBI:139291 chlorophyll(1-) -PO:0009005 root -ENVO:01001690 mass of liquid -FOODON:00001007 sausage food product -ENVO:06105026 granule of plastic foam -ENVO:00002180 naphthalene enriched sediment -PO:0004010 meristematic cell -ENVO:00002184 subsurface landform -ENVO:00000491 subsequent stream -ENVO:00002147 coal mine lake sediment -ENVO:03600009 interstitial water -ENVO:01000478 cement plaster -ENVO:01001471 atmospheric observatory system -CHEBI:33356 iron group element atom -ENVO:00000284 quarry -ENVO:01000526 sedimentary intrusion -ENVO:01000408 environmental zone -CHEBI:25384 monocarboxylic acid -CHEBI:37133 barium molecular entity -ENVO:00002237 chernozem -UBERON:0000166 oral opening -ENVO:01000040 oceanic benthopelagic zone biome -ENVO:01000050 marine subtidal rocky reef biome -ENVO:01001653 well-mixed estuary -UBERON:0000477 anatomical cluster -FOODON:03301977 beverage food product -CHEBI:17478 aldehyde -CHEBI:33848 polycyclic arene -ENVO:03520007 snow crystal -ENVO:01000926 knackery -ENVO:00003893 cosmetic product -CHEBI:35293 fused compound -ENVO:01000746 area of perennial ice or snow -ENVO:00000521 rockfall -ENVO:01001680 gaseous front -CHEBI:35350 hydroxy steroid -NCBITaxon:1798711 Cyanobacteria/Melainabacteria group -ENVO:01000293 ice mass -ENVO:03501198 wet market -ENVO:03501296 cheese processing plant -UBERON:0001970 bile -CHEBI:29347 monocarboxylic acid amide -ENVO:01000347 montane conifer woodland -CHEBI:63409 pentose derivative -CHEBI:37007 nicotinamide dinucleotide -ENVO:01000294 crevice -CHEBI:17245 carbon monoxide -ENVO:01000861 area of dwarf scrub -ENVO:01000114 boulder sediment -ENVO:00000279 saline pan -ENVO:03510056 methyl cellulose paste -ENVO:01000486 building floor -UBERON:0009479 ectoderm of buccopharyngeal membrane -ENVO:00002142 borax leachate -NCBITaxon:2157 Archaea -ENVO:00000452 ribbon lake -ENVO:01001155 astrogeological gas -PO:0005679 epidermis -FOODON:00001056 flour food product -ENVO:08000001 axilla skin environment -FOODON:00001029 gouda cheese food product -ENVO:03510070 toxic waste -ENVO:03501211 door handle -BFO:0000024 fiat object -ENVO:02000036 saliva material -ENVO:02000041 lymph material -CHEBI:131927 dicarboxylic acids and O-substituted derivatives -CHEBI:36902 chalcogen hydride -ENVO:01000734 laccolith -FOODON:00002813 pea food product -CHEBI:33347 vanadium group element atom -UBERON:0013765 digestive system element -NCBITaxon:2697495 Spiralia -ENVO:03501306 mylar -NCBITaxon:85604 Amphiesmenoptera -PCO:0000051 multi-species collection of microbes -ENVO:01000798 plasma -ENVO:01001475 omics observatory system -ENVO:01000160 marine pockmark -ENVO:01001065 meteorite lake -ENVO:01000063 planktonic material -ENVO:00000490 consequent stream -ENVO:00005798 acid dune sand -ENVO:03510028 oil paint thinner -UBERON:0004756 dermal skeletal element -ENVO:00002155 high-level radioactive sediment -ENVO:00000199 meromictic lake -CHEBI:49976 zinc dichloride -CHEBI:35776 arsenic oxoanion -CHEBI:30563 silicon dioxide -ENVO:01000316 alkaline environment -ENVO:00000107 heath -FOODON:03420228 extract, concentrate or isolate of plant or animal -ENVO:02000058 cloth -CHEBI:26710 sodium chloride -ENVO:01000574 candle -ENVO:01001345 floating ice mass -ENVO:03501141 coronary care unit facility -FOODON:00002131 plant based refined or partially-refined food product -ENVO:01001773 thrust fault -ENVO:03600060 touchscreen -UBERON:0003059 presomitic mesoderm -ENVO:00000132 ice sheet -NCBITaxon:7776 Gnathostomata -UBERON:0003350 epithelium of mucosa -NCBITaxon:314146 Euarchontoglires -ENVO:03501115 public subway train -ENVO:01000029 marine reef biome -ENVO:00002006 liquid water -CHEBI:36339 baryon -ENVO:00002177 1,4-dioxane contaminated sludge -PCO:1000004 microbial community -UBERON:0011585 cell condensation -ENVO:01000614 bicycle -BFO:0000027 object aggregate -CHEBI:24834 inorganic anion -ENVO:00000406 mid-ocean ridge -ENVO:01001570 terrestrial ecoregion -PO:0006016 leaf epidermis -ENVO:03501196 group home facility -NCBITaxon:7008 Schistocerca -ENVO:00000567 calanque -ENVO:03501262 tray -UBERON:0009920 optic neural crest -ENVO:03501291 broiler -ENVO:03000046 frazil ice -ENVO:00010623 dolomite -ENVO:01000887 area of sedge- and forb-dominated herbaceous vegetation -ENVO:00002148 coarse beach sand -CHEBI:33958 halide salt -UBERON:0002091 appendicular skeleton -CHEBI:46684 actinolite asbestos -ENVO:02000092 iron mine -ENVO:01001693 isobaric surface -ENVO:00000528 ice cap ridge -FOODON:00002141 plant fruit as vegetable food product -CHEBI:16716 benzene -ENVO:01001873 hatchery -ENVO:01001895 soda spring -ENVO:00000157 peat cut -ENVO:01001801 subtropical dry broadleaf forest -ENVO:00000335 polygonal karst -ENVO:00000314 alluvial fan -ENVO:00000383 stream bed -ENVO:01000004 concentration basin mediterranean sea biome -CHEBI:29919 hydrosulfide -ENVO:00002154 radioactive sediment -ENVO:01001678 fluid layer -ENVO:00000396 marine channel -ENVO:00000424 lake island -CHEBI:33659 organic aromatic compound -ENVO:01001279 sidewalk -ENVO:03501299 charcuterie shop -ENVO:01000443 salt mass -ENVO:01000992 shower fixture -ENVO:01001202 alluvium -ENVO:01000182 temperate desert biome -ENVO:01000301 estuarine water -ENVO:00004638 sawmill -ENVO:01001838 arid biome -ENVO:00000563 pier -ENVO:01000374 dry woodland -CHEBI:46683 actinolite -ENVO:01001808 montane grassland -UBERON:0009503 mesenchyme of hindgut -CHEBI:63062 aluminium cation -UBERON:0001768 uvea -ENVO:03501321 food production medium-risk contamination area -ENVO:00000429 arete -ENVO:00000134 permafrost -FOODON:00001251 avian food product -ENVO:01000398 temperate freshwater swamp forest -ENVO:01000579 television set -ENVO:03501104 recreational cruise ship -ENVO:01000674 microfracture -ENVO:01000024 marine benthic biome -ENVO:00002160 estuarine mud -ENVO:01000146 marine coral reef crest -CHEBI:36914 inorganic ion -ENVO:01000219 anthropogenic terrestrial biome -ENVO:01000061 marine wind mixed layer -ENVO:03520001 middle atmospheric level -FOODON:03412344 devils tongue plant -NCBITaxon:1955150 Acrididea -ENVO:01000476 plaster -CHEBI:18407 hydrogen cyanide -UBERON:0001796 aqueous humor of eyeball -UBERON:0014477 thoracic skeleton -ENVO:01000324 planetary surface -FOODON:00002029 melon food product -ENVO:03501192 walk-in clinic -CHEBI:24873 iron molecular entity -ENVO:01001803 tropical forest -ENVO:01000888 area of gramanoid or herbaceous vegetation -CHEBI:33741 chromium group molecular entity -CHEBI:46666 crocidolite asbestos -UBERON:0000162 cloaca -UBERON:0003080 anterior neural tube -ENVO:01001355 crater zone -FOODON:00001098 fermented apple beverage -NCBITaxon:89593 Craniata -ENVO:03501339 household environment -UBERON:0002390 hematopoietic system -CHEBI:133331 metal oxide -CHEBI:36895 monoatomic fluorine -ENVO:03400015 sleet pellet -ENVO:03501121 building corridor -ENVO:03600014 pipeline network -UBERON:0002506 iris epithelium -NCBITaxon:33090 Viridiplantae -ENVO:00000330 stalagmite -ENVO:01001395 necromass -FOODON:03315150 mammalian milk product -ENVO:01003003 particle of clay -ENVO:00000494 insequent stream -FOODON:00001160 pomaceous fruit extract -ENVO:03600033 residential backyard -ENVO:01000492 dung building floor -FOODON:00001635 bean food product -ENVO:01001464 UNEP-WCMC class 4 mountain -CHEBI:34970 saxitoxin -ENVO:03501232 movie theater -ENVO:01000016 silt -ENVO:01000224 mediterranean grassland biome -ENVO:00000376 biosphere reserve -ENVO:00000019 saline lake -ENVO:00000458 valley glacier -ENVO:00011764 ocean time series station -ENVO:01001207 ranch -UBERON:0007823 appendage girdle region -UBERON:0036302 vasculature of central nervous system plus retina -CHEBI:33328 silicon oxoacid -CHEBI:35274 ammonium ion derivative -ENVO:01000246 village biome -PO:0006001 phyllome -ENVO:00000345 grain of beach sand -ENVO:03000117 channel -PCO:0000029 multi-species collection of organisms -ENVO:00000259 lacustrine plain -ENVO:00000360 area of national forest -ENVO:01000441 andesite -CHEBI:36586 carbonyl compound -FOODON:00001181 food (cooked) -FOODON:00001135 distilled fermented grain beverage -ENVO:00000226 saline wedge estuary -ENVO:00002035 meteorite -UBERON:0000055 vessel -FOODON:00001230 mustard seed food product -ENVO:01000962 diatomite -ENVO:00003094 L-(+)-tartrate enriched soil -UBERON:0004221 intestine smooth muscle -UBERON:0014775 prosomere -ENVO:00002276 animal waste material -FOODON:00003341 brassica food product -CHEBI:33585 lead molecular entity -CHEBI:50860 organic molecular entity -CHEBI:33561 d-block element atom -ENVO:03500021 gasoline vapor -CHEBI:46670 serpentine mineral -PO:0000022 plant cuticle -CHEBI:60272 aluminium ion -CHEBI:35402 chromium oxoanion -FOODON:03400155 fruit butter, jelly, preserve or related product (us cfr) -ENVO:03501348 veterinary facility -ENVO:01001476 body of liquid -NCBITaxon:7004 Locusta migratoria -ENVO:01000959 primary atmosphere -CHEBI:32955 epoxide -ENVO:01000722 meltwater -FOODON:03400845 coffee, tea, cocoa or infusion (eurofir) -ENVO:00000558 diversionary dam -UBERON:0004471 musculature of pectoral girdle -ENVO:01000255 mineral deposit -FOODON:03401270 U.S. code of federal regulations, title 21 food product type -NCBITaxon:2864 Dinophyceae -ENVO:03605003 epiphyton -ENVO:00000464 artificial harbor -FOODON:00001025 camembert cheese food product -ENVO:00000060 underground stream -ENVO:00000382 lake shore -FOODON:00001033 emmenthal cheese food product -ENVO:00000317 tidal pool -ENVO:01000141 seal fall -ENVO:01001427 altocumulus castellanus cloud -FOODON:00001031 gorgonzola cheese food product -ENVO:00005775 salt contaminated soil -CHEBI:24837 inorganic peroxide -ENVO:01001038 moderately saline water -ENVO:01000589 bench -ENVO:01000541 thermosphere -CHEBI:15377 water -ENVO:01001830 tropical biome -CHEBI:17579 beta-carotene -ENVO:01000918 open animal house -UBERON:0005423 developing anatomical structure -CHEBI:60160 polyester polymer -ENVO:2000040 lignite power plant -ENVO:00000128 dry valley -CHEBI:35106 nitrogen hydride -CHEBI:50335 organic nitrogen anion -UBERON:0003570 respiratory system connective tissue -CHEBI:16236 ethanol -FOODON:00001054 fermented fish or seafood food product -CHEBI:26178 polyester macromolecule -ENVO:03501156 maternity unit facility -CHEBI:27638 cobalt atom -ENVO:01001776 subsurface zone of an astronomical body -UBERON:0036661 wall of ventricular system of brain -ENVO:01000084 estuarine front -ENVO:01000822 planetary photic zone -CHEBI:33317 boron group element atom -ENVO:00005759 alluvial paddy field soil -FOODON:00001067 buttermilk food product -ENVO:01001513 permafrost congelation ice -ENVO:01000447 roadside -ENVO:03501138 anaesthetics unit facility -ENVO:01000559 compressed biogas -ENVO:00003884 farmyard manure -ENVO:01000411 infralittoral zone -ENVO:02000040 mucus material -ENVO:00000162 tea plantation -ENVO:01000498 pole -ENVO:00000409 whirlpool -ENVO:03000112 snow drift -ENVO:01001318 estuarine tidal riverine coastal upper water column -ENVO:03501173 post-anesthesia care unit facility -ENVO:00000116 vineyard -ENVO:00000035 marsh -UBERON:0001886 choroid plexus -CHEBI:50325 proteinogenic amino-acid side-chain group -ENVO:00000170 dune -ENVO:00000192 mudflat -ENVO:02000152 mangrove biome sediment -CHEBI:27888 chlorophyll b -ENVO:04000012 particulate organic matter -ENVO:00000511 blanket bog -ENVO:03000077 slush ice layer -ENVO:03501315 food production environmental monitoring zone 2 -ENVO:00000473 gravel pit -ENVO:02000054 bone meal -ENVO:03600082 crustal fluid -ENVO:00000150 coral reef -FOODON:00001747 cocoa beverage -ENVO:01000934 restaurant -ENVO:01000923 petting zoo -ENVO:03501307 ceramic -ENVO:00000419 stack -ENVO:00003323 tannery -CHEBI:33673 zinc group molecular entity -CHEBI:33970 elemental gold -ENVO:00000856 city -ENVO:03501110 constructed transport system -FOODON:00001182 pickled cruciferous food product -ENVO:02000100 mineral dust -FOODON:00001037 vacherin mont dor cheese food product -ENVO:01000639 planetary structural layer -ENVO:01001463 UNEP-WCMC class 3 mountain -ENVO:03501303 natural-based polymer -CHEBI:49987 monoatomic krypton -ENVO:03400010 freezing rain -UBERON:0000344 mucosa -CHEBI:48730 aluminosilicate mineral -FOODON:00001164 tomato food product -ENVO:01001787 aquatic ecosystem -ENVO:00000300 scrubland area -ENVO:01000049 marine coral reef biome -ENVO:01000423 living room -CHEBI:33340 zinc group element atom -ENVO:00000118 coconut plantation -ENVO:03501360 equipment leg -ENVO:01001706 cold front -NCBITaxon:227570 Oedaleus -ENVO:01001128 mini-Neptune -ENVO:03501128 conference room -ENVO:01000175 woodland biome -FOODON:00002300 sweetener food product -ENVO:00000043 wetland area -ENVO:04000010 soil surface layer -CHEBI:22331 alkylamines -NCBITaxon:92621 Acridoidea -ENVO:00000140 drainage ditch -FOODON:00001091 dried milk food product -FOODON:00001010 processed meat food product -CHEBI:35757 monocarboxylic acid anion -ENVO:01001483 surface of an astronomical body -CHEBI:22728 benzopyrrole -ENVO:01001650 light fraction material -ENVO:01001419 cumulonimbus cloud -ENVO:00000324 outflow cave -UBERON:0011216 organ system subdivision -CHEBI:64708 one-carbon compound -ENVO:03501148 geriatric care unit facility -ENVO:01001482 tornado -ENVO:00005767 manured soil -CHEBI:18154 polysaccharide -ENVO:2100004 integumental system environment -UBERON:0000468 multicellular organism -ENVO:00000253 scroll plane -ENVO:01001474 astronomical observatory system -ENVO:00000290 graben -CHEBI:17544 hydrogencarbonate -ENVO:03501294 preprocessing plant -UBERON:0012275 meso-epithelium -ENVO:01001487 waterspout -ENVO:01001712 free atmosphere -PO:0025603 plant resin -ENVO:00002118 sea sand -CHEBI:36892 elemental fluorine -ENVO:00000089 inland cliff -ENVO:03501166 ophthalmology unit facility -ENVO:00002199 sandy beach -ENVO:00000442 maelstrom -ENVO:01000222 subtropical woodland biome -CHEBI:84055 pentose phosphate -NCBITaxon:197563 Mandibulata -CHEBI:33562 f-block element atom -OBI:0000968 device -ENVO:00000477 mount -ENVO:01000339 polar biome -ENVO:01001453 terrestrial mountain -NCBITaxon:6656 Arthropoda -ENVO:00002017 metamorphic rock -ENVO:01001547 land ice mass -ENVO:01001063 oxic water -ENVO:01001002 animal-associated environment -FOODON:00001092 vertebrate animal food product -ENVO:00000017 saline hydrographic feature -ENVO:00000039 fjord -ENVO:01001190 brown sea ice -FOODON:00001120 camelid milk beverage -ENVO:06105106 plastisphere -CHEBI:26398 purine ribonucleoside triphosphate -ENVO:01000248 dense settlement biome -ENVO:01001323 estuarine open water pycnocline -ENVO:01001884 surface landform -ENVO:00002007 sediment -UBERON:0010339 1st arch mandibular mesenchyme from head mesenchyme -NCBITaxon:106220 Mytiloidea -CHEBI:16042 halide anion -ENVO:00005750 grassland soil -ENVO:01001804 subtropical forest -ENVO:01001285 talc dust -ENVO:00005784 spruce forest soil -CHEBI:48109 nitrobenzenes -ENVO:01001030 environment determined by a metazoan secretion -FOODON:00001295 pecorino cheese -UBERON:0002271 periventricular zone of hypothalamus -ENVO:01001550 sea-ice lead -ENVO:01001426 cirrocumulus castellanus cloud -ENVO:01000651 ocean strait -FOODON:03400960 50220000 - cereal/grain/pulse products (gs1 gpc) -CHEBI:33847 monocyclic arene -ENVO:01001530 water ice core -ENVO:01000078 marine nutricline -FOODON:00001121 equine milk beverage -ENVO:01001325 estuarine tidal riverine coastal lower water column -FOODON:00001217 mammalian milk beverage -UBERON:0014783 cloacal muscle -ENVO:03000075 shuga -ENVO:01000315 acidic environment -ENVO:01001813 construction -UBERON:0011863 bone collagen fibril -ENVO:03501169 pediatric unit facility -NCBITaxon:9347 Eutheria -ENVO:01001512 congelation sea ice -NCBITaxon:2759 Eukaryota -CHEBI:33687 diatomic helium -ENVO:01001511 freshwater ice -ENVO:02000144 natural gas processing plant -ENVO:01000035 oceanic epipelagic zone biome -UBERON:0004177 hemopoietic organ -NCBITaxon:6101 Anthozoa -ENVO:04000009 active permafrost layer -ENVO:00000038 lagoon -CHEBI:24913 isoprenoid -ENVO:01001671 open cage mariculture facility -NCBITaxon:1162 Nostocaceae -ENVO:00002000 slope -ENVO:00002053 limestone -ENVO:00000219 landlocked sea -CHEBI:32988 amide -UBERON:0012475 skeleton of pectoral complex -ENVO:01000477 gypsum plaster -CHEBI:78616 carbohydrates and carbohydrate derivatives -CHEBI:48123 silicate ion -ENVO:04000011 bare soil surface layer -FOODON:00002791 vetch seed (whole) -PO:0005029 root primordium -CHEBI:48154 sulfur oxide -CHEBI:33350 chromium group element atom -ENVO:03600000 cleanroom -ENVO:01000216 montane shrubland biome -ENVO:03501112 public bus -ENVO:03000068 nilas -UBERON:0010258 mesenchyme from rhombencephalic neural crest -ENVO:03501235 leisure centre -FOODON:03412637 konjac plant -CHEBI:33344 niobium atom -CHEBI:21656 N-acyl-hexosamine -ENVO:00000252 terminal moraine -ENVO:01000064 marine downwelling -ENVO:01001149 protoplanet -ENVO:03501367 pneumatic conveyor -ENVO:00000415 raised beach -ENVO:01000645 solid planetary core -ENVO:00000239 pocasin -CHEBI:36785 carbobicyclic compound -ENVO:01000356 granite -CHEBI:51129 nitrohydrocarbon -ENVO:02000143 sugar refinery -ENVO:03000113 snow patch -ENVO:00000441 terracette -FOODON:00001246 hot chocolate food product -ENVO:01001467 UNEP-WCMC class 7 mountain -ENVO:01000446 ravine -CHEBI:33661 monocyclic compound -CHEBI:28938 ammonium -ENVO:01000801 star -ENVO:01001821 hydrothermally-influenced sediment -ENVO:03501242 desert island -ENVO:01000091 topographic upwelling front -ENVO:01001326 estuarine tidal riverine open water surface layer -CHEBI:53225 poly(alkylene) macromolecule -ENVO:01001413 stratus cloud -FOODON:03400147 milk or milk product analog (us cfr) -FOODON:00002196 refined or partially-refined food product -ENVO:01000213 subtropical shrubland biome -ENVO:00003090 kynurenate enriched soil -ENVO:00000504 container of an intermittent pond -UBERON:0003462 facial bone -ENVO:00000006 second-order administrative region -UBERON:0007135 neural keel -ENVO:00000407 subglacial volcano -CHEBI:143004 ultra-long-chain fatty acid -ENVO:01000820 pedosphere -UBERON:0001866 sebum -ENVO:06105268 treated wastewater -FOODON:03400861 prepared food product (eurofir) -CHEBI:33242 inorganic hydride -FOODON:00001136 distilled fermented beverage -ENVO:01003002 particle -ENVO:00000564 archeological site -ENVO:01001150 protoplanetary disk -CHEBI:33498 actinoid molecular entity -ENVO:01000448 mixed grassland -ENVO:00002121 alkaline salt lake -ENVO:01000153 sulphate-reducing sediment -ENVO:03501288 facility -CHEBI:26284 propane-1,2-diols -CHEBI:60737 polyurethane polymer -ENVO:00000398 volcanic cone -CHEBI:83811 proteinogenic amino acid derivative -ENVO:03501184 chiropractic clinic -ENVO:01000577 radio device -FOODON:00001214 candy food product -FOODON:00001859 flaxseed food product -ENVO:00000359 natural monument -UBERON:0004226 gastrointestinal system smooth muscle -ENVO:00000123 political entity -ENVO:00000392 ice tongue -CHEBI:15368 acrolein -ENVO:00000178 levee -CHEBI:37022 amino-acid anion -ENVO:00002221 shop -NCBITaxon:37267 Cyrtacanthacridinae -ENVO:03510031 oil-based paint -ENVO:2000010 bitumous coal -ENVO:00000246 volcanic crater -ENVO:01000565 lantern -FOODON:00001065 blue cheese food product -ENVO:00000133 glacier -ENVO:00010624 botanical garden -CHEBI:27547 zeaxanthin -ENVO:03501254 water tank -ENVO:01000710 flood -UBERON:0010323 cranial skeletal system -ENVO:03000007 blue ice -ENVO:03501295 processing plant -UBERON:0011814 non-neurogenic ectodermal placode -CHEBI:24828 indoles -ENVO:01001707 warm front -UBERON:0001890 forebrain -CHEBI:35479 alkali metal salt -UBERON:0001041 foregut -CHEBI:35426 ortho-fused bicyclic arene -UBERON:0006238 future brain -CHEBI:16966 heteroglycan -ENVO:01001101 transform plate boundary -ENVO:01000661 tuff -ENVO:00003900 rye grass silage -ENVO:00003978 potato silage -ENVO:00000201 fjord lake -ENVO:03510023 shellac -UBERON:0002546 cranial placode -ENVO:03501212 handrail -ENVO:01000940 fissure water -CHEBI:35131 aldose phosphate -FOODON:00001771 cow milk based food product -UBERON:0006595 presumptive endoderm -ENVO:01000329 cypress dome -ENVO:01000968 water intake -ENVO:01000957 double tree line ecotone -ENVO:01000774 oligotrophic lake -ENVO:01000606 cart -CHEBI:28838 lutein -UBERON:0009472 axilla -ENVO:00000530 apron -ENVO:01000988 ethnic food shop -FOODON:00001194 dry pea food product -UBERON:0016879 future central nervous system -ENVO:00000289 horst -CHEBI:61452 poly(ethylene terephthalate) polymer -CHEBI:134179 volatile organic compound -ENVO:02000028 ear wax material -ENVO:03501107 train -ENVO:00003088 pantothenate enriched soil -ENVO:00000034 rapids -ENVO:03501195 assisted living facility -ENVO:06105272 loamy sand -UBERON:0003501 retina blood vessel -CHEBI:26082 phosphorus molecular entity -ENVO:01001208 swamp area -ENVO:01000765 informal settlement -ENVO:01001887 letter paper -ENVO:01001869 fracking liquid -ENVO:03501352 animal rescue shelter -UBERON:0000910 chyme -ENVO:03510036 rock dust -CHEBI:33455 nitrogen oxoacid -FOODON:00001919 grain based vinegar food product -ENVO:00000532 intermittent saline evaporation pond -ENVO:01001186 acidic volcanic ash -ENVO:03600087 greenhouse -CHEBI:26167 polar amino acid -ENVO:00002230 anthrosol -ENVO:01000490 sandy building floor -UBERON:0004456 entire sense organ system -UBERON:0003729 mouth mucosa -ENVO:03501236 business park -ENVO:00000403 shield volcano -ENVO:00005765 frozen compost soil -CHEBI:27325 xanthophyll -ENVO:03501145 emergency unit room -ENVO:0010162 dry stream valley -CHEBI:61296 adenyl ribonucleotide -ENVO:01001811 temperate grassland -UBERON:0001089 sweat -FOODON:00001045 ice cream food product -UBERON:0003068 axial mesoderm -CHEBI:33579 main group molecular entity -CHEBI:35170 vanadium(0) -ENVO:00000302 rift valley -NCBITaxon:2 Bacteria -CHEBI:25701 organic oxide -UBERON:0014371 future telencephalon -ENVO:01000502 unburnt brick -NCBITaxon:1164880 Oedaleus senegalensis -CHEBI:58454 kynurenate -FOODON:00001165 solanaceous food product -ENVO:01001503 glacial surface layer -ENVO:01001016 glory -UBERON:0000061 anatomical structure -ENVO:00000539 geographic sill -FOODON:00002664 lipid food product -ENVO:01001851 geothermally active field -ENVO:01000118 sandy sediment -ENVO:03600072 ophiolites -UBERON:0009618 trunk paraxial mesoderm -CHEBI:36879 inorganic radical cation -ENVO:01001225 IUCN protected area with sustainable use of natural resources -CHEBI:16997 propane-1,2-diol -ENVO:02000127 coal ash -ENVO:03600095 stream run -ENVO:03501337 temple -ENVO:00000198 ice-covered lake -UBERON:0007779 transudate -ENVO:01000237 coastal scrubland -ENVO:02000128 fly ash -CHEBI:37578 halide -ENVO:01000976 pitfall trap -ENVO:00000283 ridge -FOODON:00001277 orange juice (unpasteurized) -ENVO:01000558 liquefied hydrocarbon gas -ENVO:00000368 ephemeral island -FOODON:03400257 fruit or vegetable product (us cfr) -ENVO:01001059 mock community culture -ENVO:03510060 gel ink -NCBITaxon:32524 Amniota -ENVO:00002014 plutonic rock -ENVO:00000512 pond bed -CHEBI:29238 tritium atom -CHEBI:35196 nitrogen oxide -ENVO:03520000 low atmospheric level -ENVO:03600048 shower curtain -ENVO:01001535 floeberg -NCBITaxon:376913 Haplorrhini -ENVO:00002132 metalimnion -ENVO:01000652 river channel -ENVO:02000091 coal -ENVO:01000564 mantle lamp -ENVO:03501134 healthcare facility -CHEBI:22323 alkyl group -CHEBI:36963 organooxygen compound -ENVO:03510019 cleaning agent -ENVO:03501214 locker -ENVO:03600096 step pool -ENVO:00003071 grass silage -ENVO:01001457 cloud forest -ENVO:03501350 physician office -ENVO:03501220 door -CHEBI:35171 elemental vanadium -ENVO:00002042 surface water -CHEBI:32952 amine -ENVO:01000960 secondary atmosphere -ENVO:01000348 maize field -FOODON:00001093 cereal grain food product -UBERON:0001277 intestinal epithelium -UBERON:0011821 irregular connective tissue -ENVO:02000153 marine salt marsh sediment -ENVO:02000024 aqueous humour material -ENVO:01001177 arable land -CHEBI:33465 elemental pnictogen -ENVO:01000628 plant litter -FOODON:00001083 sugar condiment -ENVO:2000003 agricultural wastewater treatment plant -ENVO:00002872 bagasse -ENVO:01000847 hair ice -CHEBI:33627 monoatomic aluminium -CHEBI:16474 NADPH -UBERON:0000177 pus -BFO:0000030 object -ENVO:01000288 monomictic lake -ENVO:01001364 climate system -FOODON:00002456 food (baked) -ENVO:01000271 clastic sedimentary rock -ENVO:00002052 iron meteorite -UBERON:0003457 head bone -UBERON:0002097 skin of body -ENVO:00003914 chalk soil -UBERON:0004785 respiratory system mucosa -ENVO:02000008 cell culture -CHEBI:51585 metallophthalocyanine -ENVO:01000140 whale fall -ENVO:00000022 river -FOODON:00001258 food (fermented) -NCBITaxon:169729 Elaeidinae -NCBITaxon:436492 Coelurosauria -ENVO:03501335 day care facility -CHEBI:33676 d-block molecular entity -ENVO:00000505 underground irrigation canal -ENVO:00000483 plunge pool -ENVO:03501132 fire station -CHEBI:26833 sulfur atom -ENVO:01000338 litter layer -CHEBI:22977 cadmium atom -UBERON:0000153 anterior region of body -FOODON:00001082 bitter cheese food product -ENVO:00000243 freshwater wetland ecosystem -ENVO:01001193 water-based planetary surface -CHEBI:28425 alpha-carotene -ENVO:03501116 rapid transit system -ENVO:01001692 methane gas bubble -ENVO:00002044 sludge -ENVO:00000202 oxbow lake -ENVO:01000373 biological waste material -UBERON:0011362 cranial blood vasculature -ENVO:00000523 cutoff -NCBITaxon:40551 Arecales -ENVO:01000393 tropical lower montane forest -ENVO:01000488 wooden building floor -ENVO:00005804 nest of ant -ENVO:01000927 day care building -ENVO:01001837 subalpine biome -ENVO:01001117 poultry manure -CHEBI:62764 reactive nitrogen species -ENVO:03501285 clothes dryer -ENVO:00002152 biofilter -ENVO:01001531 sea ice field -FOODON:00001891 fruit salad food product -ENVO:01001472 marine observatory system -CHEBI:33461 phosphorus oxoanion -CHEBI:28966 chlorophyll -CHEBI:72695 organic molecule -ENVO:00000000 geographic feature -ENVO:01001391 gill tissue material -FOODON:00001156 citrus fruit juice -UBERON:3010200 vasculature of respiratory integument -ENVO:01000768 primary forest -ENVO:01000463 hydraulic cement -ENVO:03501147 general surgery unit facility -CHEBI:61250 brevetoxin A -ENVO:00003091 threonine enriched soil -ENVO:00000890 small river biome -ENVO:00000544 leat -ENVO:01000669 active geological fault -CHEBI:16482 naphthalene -ENVO:01000292 warm polymictic lake -ENVO:01000516 toilet fixture -NCBITaxon:2785011 Autobranchia -CHEBI:33674 s-block molecular entity -ENVO:00003968 air filter -ENVO:00000216 fumarole -ENVO:01000058 kelp forest -ENVO:01000517 pit latrine -ENVO:00000172 sandy desert -ENVO:03600094 stream pool -UBERON:0009145 pharyngeal region of foregut -ENVO:03000074 grease ice layer -PO:0025497 collective plant structure -ENVO:03500025 secondhand smoke -CHEBI:23117 chlorine molecular entity -UBERON:0000174 excreta -ENVO:01000461 refined asphalt -ENVO:01000236 basalt -UBERON:0007109 meconium -CHEBI:36909 krypton molecular entity -ENVO:00000542 kame -CHEBI:25414 monoatomic monocation -NCBITaxon:104431 Obtectomera -CHEBI:24675 hydroxybenzoate -NCBITaxon:33317 Protostomia -ENVO:01001264 area designated for waste storage -CHEBI:43474 hydrogenphosphate -FOODON:00001212 pastry food product -UBERON:0004225 respiratory system smooth muscle -ENVO:00002059 biosolids -ENVO:00000090 coastal plain -FOODON:00001111 equine dairy food product -ENVO:01000104 eastern boundary current -ENVO:01001412 stratocumulus cloud -FOODON:00002381 food product by organism -ENVO:02000124 lead paint -FOODON:00001114 zebra dairy food product -ENVO:01003020 fiat part of an astronomical object -FOODON:00001199 chickpea food product -ENVO:00000434 outwash fan -ENVO:01000136 drop stone -ENVO:01000986 agricultural fairground -CHEBI:24840 inorganic sulfate salt -ENVO:03000071 first year ice -CHEBI:16199 urea -UBERON:0005744 bone foramen -ENVO:01001123 dwarf gas planet -UBERON:0035037 jaw epithelium -ENVO:00000541 brackish pond -FOODON:03400143 fruit or fruit product (us cfr) -ENVO:01000106 permanent marine thermocline -CHEBI:33331 yttrium atom -UBERON:0005162 multi cell part structure -CHEBI:167164 mineral nutrient -ENVO:00002267 industrial waste material -NCBITaxon:4751 Fungi -UBERON:0010336 mandibular process mesenchyme from neural crest -ENVO:01001534 tabular iceberg -UBERON:0008823 neural tube derived brain -CHEBI:26979 organic heterotricyclic compound -UBERON:0005629 vascular plexus -UBERON:0003852 rhombencephalon neural crest -ENVO:01000636 liquid planetary surface -UBERON:0010741 bone of pectoral complex -CHEBI:33309 noble gas atom -ENVO:01001243 forest ecosystem -ENVO:02000035 oronasal secretion material -UBERON:0002416 integumental system -ENVO:01000002 water well -ENVO:03501298 stable bandage -CHEBI:5186 fucoxanthin -ENVO:00003031 animal manure -ENVO:01001822 active enrichment culturing unit -ENVO:01001092 tectonic lake -ENVO:01000173 anoxic water -ENVO:03501224 carvery -NCBITaxon:1437201 Pentapetalae -ENVO:06105005 thermoset polymer -UBERON:0001046 hindgut -ENVO:01001839 safe environment for living organisms -CHEBI:27153 monoatomic trication -UBERON:0004234 iris smooth muscle -ENVO:00002869 hay -FOODON:00001021 acifified beer wort food product -NCBITaxon:71240 eudicotyledons -UBERON:0004808 gastrointestinal system epithelium -PO:0025161 portion of plant substance -ENVO:01001701 tropical environment -UBERON:0004521 vasculature of muscle organ -UBERON:0003071 eye primordium -UBERON:0003073 lens placode -ENVO:01000289 cold monomictic lake -NCBITaxon:40674 Mammalia -UBERON:0001032 sensory system -ENVO:00000077 agricultural ecosystem -ENVO:01000835 cloud droplet -UBERON:0004253 skin muscle -CHEBI:24636 proton -ENVO:0010003 agricultural environmental material -ENVO:00005754 fertilized soil -CHEBI:37015 ribonucleoside 5'-phosphate -ENVO:03501309 booth -ENVO:01000627 feedlot -FOODON:03400865 soup (eurofir) -ENVO:01000457 masonry unit -CHEBI:33694 biomacromolecule -ENVO:03600012 oil pipeline network -FOODON:00001220 sausage (smoked) -NCBITaxon:2821351 Conifers II -ENVO:00000014 canal -ENVO:01000434 sclerophyllous forest -UBERON:0002481 bone tissue -ENVO:01001180 Bondon cheese environment -ENVO:2000009 sub-bitumous coal -CHEBI:24271 glucosamines -ENVO:01000854 tropical marine coral reef biome -ENVO:01000911 automated teller machine -UBERON:0011249 appendicular skeletal system -ENVO:01001300 area of low atmospheric pressure -ENVO:03501231 hospice -ENVO:00000032 bay -UBERON:0034944 zone of organ -CHEBI:30512 silver atom -CHEBI:28315 alloxanthine -CHEBI:22985 calcium molecular entity -FOODON:00001070 miso food product -CHEBI:33233 fundamental particle -UBERON:0004088 orbital region -ENVO:03500017 soldering fumes -ENVO:02000019 bodily fluid material -CHEBI:65212 polysaccharide derivative -UBERON:0000160 intestine -UBERON:0000991 gonad -ENVO:01001582 forest floor -ENVO:02000132 constructed monument -ENVO:00000030 dead cave -CHEBI:60004 mixture -UBERON:0000062 organ -UBERON:0009663 telencephalic nucleus -ENVO:01000782 utility line -ENVO:01001638 frost-susceptible soil -ENVO:01000147 marine coral reef fore reef -ENVO:03600032 embankment dam -CHEBI:82664 iron(0) -ENVO:01000980 channel of an intermittent stream -ENVO:00000009 national geopolitical entity -UBERON:0001775 ciliary body -ENVO:00000480 peak -UBERON:0007688 anlage -CHEBI:16240 hydrogen peroxide -NCBITaxon:1892252 Microcoleaceae -PO:0025004 plant axis -ENVO:01001814 organic object -FOODON:00001272 zebra milk beverage -ENVO:01000431 mixed forest -ENVO:03501201 polling place -ENVO:00002254 vertisol -UBERON:0005769 basement membrane of epithelium -ENVO:03000033 marine sediment -ENVO:00002268 sphagnum bog -ENVO:01001477 liquid astronomical body part -UBERON:0001088 urine -CHEBI:46664 chrysotile -ENVO:03520005 cloud top -ENVO:01000310 haline environment -FOODON:00001133 condiment food product -CHEBI:50094 sulfur coordination entity -ENVO:00003074 manufactured product -ENVO:00000143 river bank -ENVO:01000571 cold-blast paraffin lantern -NCBITaxon:4447 Liliopsida -UBERON:0006211 buccopharyngeal membrane -ENVO:00002209 saline lake sediment -FOODON:00001189 oat food product -ENVO:03000069 young ice -CHEBI:49828 praseodymium atom -ENVO:01000390 temperate mixed needleleaf forest -ENVO:00000455 tarn -FOODON:00001131 poultry meat food product -ENVO:06105237 exchangeable potassium -ENVO:01000163 photophore -ENVO:01000150 marine subtidal rocky reef -PCO:0000002 ecological community -ENVO:03501234 town hall -ENVO:00000217 solfatara -ENVO:03000132 firebreak -ENVO:00002870 adobe -ENVO:00000557 dry dam -NCBITaxon:7705 Holothuroidea -ENVO:06105011 water column -ENVO:06105266 soil layer -ENVO:02000002 bedclothing -CHEBI:24436 guanidines -ENVO:01000208 mediterranean woodland biome -ENVO:00005800 desert sand -ENVO:01000554 hydrocarbon gas -FOODON:03301444 vegetable juice food product -NCBITaxon:8492 Archosauria -CHEBI:22315 alkaloid -ENVO:03600064 microbialite -ENVO:00000146 snow field -FOODON:00002262 soybean condiment -UBERON:0002405 immune system -ENVO:01001481 public prison -ENVO:01000369 vadose cave -UBERON:0005283 tela choroidea -ENVO:01000855 area of mixed forest -FOODON:00002165 organ meat product -CHEBI:47885 dinucleotide -UBERON:0001836 saliva -FOODON:00001175 plant stem food product -CHEBI:82661 diatomaceous earth -NCBITaxon:162985 Hapalosiphon -UBERON:0019264 gray matter of forebrain -ENVO:03605006 stream water -CHEBI:29412 oxonium -ENVO:03501362 belt conveyor system -UBERON:0003929 digestive tract epithelium -CHEBI:155903 copper(II) phthalocyanine -CHEBI:16670 peptide -FOODON:00001134 bovine meat food product -PCO:0000018 single-species collection of organisms -ENVO:01001353 environmental zone of processual equilibrium -ENVO:01001705 temperate environment -ENVO:00003965 anaerobic digester sludge -ENVO:01000124 marine supra-littoral zone -UBERON:0000161 orifice -ENVO:00003093 poly-beta-hydroxybutyrate enriched soil -ENVO:06105012 biota -ENVO:01000161 marine sponge reef -ENVO:01000417 house -ENVO:01000802 planetary moon -ENVO:0010001 anthropogenic environmental material -CHEBI:33672 heterobicyclic compound -ENVO:00000232 fen -ENVO:01000594 cabinet -ENVO:03605001 epilithon -ENVO:03600076 waste stabilization pond -CHEBI:27283 very long-chain fatty acid -ENVO:01000250 subpolar coniferous forest biome -UBERON:0010341 1st arch mesenchyme from head mesenchyme -ENVO:01000530 ventilated improved pit latrine -FOODON:03304497 edible seed food product -ENVO:01000755 aeroform -ENVO:01001520 area of sea ice -FOODON:03400294 butter product analog (us cfr) -ENVO:00000339 piece of rock -ENVO:00002984 petroleum -ENVO:01000129 marine hydrothermal vent chimney -CHEBI:37096 adenosine 5'-phosphate -ENVO:03000034 shallow marine sediment -ENVO:00002228 pond water -ENVO:01000397 temperate broadleaf evergreen forest -ENVO:03501227 steakhouse -ENVO:01000433 needleleaf forest -FOODON:03315904 sausage (whole) -ENVO:03600044 organic farm -ENVO:01001360 Paramo -FOODON:00002364 wine or wine-like food product -ENVO:01001543 water ice surface layer -ENVO:00000531 ice cap depression -ENVO:02000059 surface soil -ENVO:01000279 ice lens -UBERON:0010427 ciliary processes -ENVO:00000447 marine biome -UBERON:0007213 mesenchyme derived from head neural crest -CHEBI:37134 elemental barium -ENVO:01000676 contaminated air -ENVO:01001188 holothurian digestive tract contents -ENVO:03600083 mofetta -ENVO:00000160 sisal plantation -ENVO:01001817 biomaterial culturing unit -ENVO:01001347 glacial equlibrium line -CHEBI:37376 tetraphosphorus decaoxide -ENVO:01001629 polymetallic nodule ecosystem -ENVO:06105110 manufactured plastisphere -UBERON:0000912 mucus -UBERON:0010360 pharyngeal arch mesenchyme from head mesenchyme -NCBITaxon:1437183 Mesangiospermae -ENVO:01001559 cryopeg -FOODON:00001159 fermented pomaceous fruit beverage -ENVO:00000100 valley -ENVO:01000658 dense settlement -ENVO:00000209 marine photic zone -ENVO:01000003 oil well -FOODON:00002501 multi-component food product -ENVO:01000403 tropical mangrove -CHEBI:50594 carbon nanotube -ENVO:00000056 fishpond -ENVO:01001053 saline aerosol environment -CHEBI:50584 alkyl alcohol -ENVO:01000115 cobble sediment -ENVO:00000085 alpine glacier -ENVO:00002045 anaerobic sediment -ENVO:03501126 church building -UBERON:0001456 face -ENVO:00000499 trough -CHEBI:86471 pyrite -CHEBI:33768 titanium group molecular entity -FOODON:03311737 processed food product -ENVO:00000238 fluvial dambo -CHEBI:37143 organofluorine compound -ENVO:01001275 solid layer -ENVO:01000946 secondary microplastic particle -ENVO:00000167 bar -CHEBI:139292 chlorophyllide(2-) -ENVO:03501190 pain clinic -ENVO:00002015 volcanic rock -ENVO:03000067 pancake ice -ENVO:2000008 lignite -ENVO:02000004 nesting material -ENVO:01001556 pack ice mass -FOODON:03400209 fruit jelly (us cfr) -ENVO:03501202 polling station -ENVO:03600063 tube well -ENVO:00000183 stony desert -FOODON:00001014 yogurt food product -UBERON:0002200 vasculature of head -ENVO:01000290 warm monomictic lake -ENVO:03000143 cryosphere -UBERON:0001898 hypothalamus -CHEBI:33521 metal atom -ENVO:00000003 mine tailing -ENVO:00000361 site of special scientific interest -NCBITaxon:41377 Avicennia -ENVO:00005745 allotment garden -ENVO:01001882 surface hoar -CHEBI:29337 azanide -FOODON:03301467 bean substance -ENVO:00000556 wing dam -FOODON:00001190 rye food product -NCBITaxon:9604 Hominidae -ENVO:00002256 regosol -ENVO:01000596 clock -ENVO:02000116 aluminum welding fume -UBERON:0011825 loose connective tissue -FOODON:00001032 swiss cheese food product -ENVO:01000130 marine hydrothermal plume -ENVO:01001614 ice-bearing permafrost -ENVO:03000063 new ice -ENVO:01000760 cloud -CHEBI:33693 oxygen hydride -CHEBI:23824 diol -ENVO:01000762 sparsely populated settlement -ENVO:00000485 sea shore -CHEBI:58072 carbon monoxide(1+) -ENVO:01000780 public road -ENVO:03501271 Kaaba -ENVO:03501334 child care facility -UBERON:0000488 atypical epithelium -ENVO:01001060 single strain cell culture -ENVO:01000644 liquid planetary core -ENVO:01000935 campground -ENVO:06105269 desalinated water -CHEBI:33558 alpha-amino-acid anion -ENVO:01000646 lithosphere -ENVO:01000583 refrigerator -UBERON:0002020 gray matter -ENVO:00000115 orchard -ENVO:01001686 mass of environmental material -ENVO:01000566 lamp -ENVO:01001148 planetesimal -NCBITaxon:1437197 Petrosaviidae -CHEBI:26214 porphyrins -ENVO:01000736 phacolith -ENVO:06105201 water table -UBERON:0000323 late embryo -CHEBI:33692 hydrides -ENVO:00005738 foamy environmental material -ENVO:00003911 sake brewery -CHEBI:35428 ortho-fused bicyclic hydrocarbon -ENVO:01001336 marine tidal flow -CHEBI:30212 photon -ENVO:01001645 gaseous part of an atmosphere -CHEBI:33976 magnesium coordination entity -ENVO:01001558 area of seasonal sea ice -ENVO:03600070 river plume -UBERON:0001766 anterior chamber of eyeball -CHEBI:27171 organic heterobicyclic compound -ENVO:03510022 resin (gum) varnish -ENVO:01000972 take-out restaurant -ENVO:2000045 hydrocarbon-based environmental material -UBERON:0001555 digestive tract -ENVO:01000824 exorheic lake -FOODON:00001210 wheat flour food product -ENVO:00000386 river mouth -ENVO:00003083 sarcosine enriched soil -ENVO:2100003 skin environment -ENVO:01000869 area of scrub -ENVO:01000468 fence -UBERON:0002104 visual system -ENVO:01000240 conifer woodland -ENVO:01001484 fire whirl -FOODON:00002126 plant-based candy -UBERON:0003258 endoderm of foregut -FOODON:00001281 custard dessert food product -ENVO:01000196 coniferous forest biome -ENVO:00005796 marine sludge -ENVO:02000096 iron ore -CHEBI:17087 ketone -ENVO:03500020 non-lead solder -NCBITaxon:1892259 Aphanizomenonaceae -NCBITaxon:9605 Homo -UBERON:0003128 cranium -UBERON:0002443 choroidal blood vessel -FOODON:00001185 rice food product -ENVO:06105115 fishing gear -UBERON:0000175 pleural effusion -ENVO:00005780 greenhouse soil -CHEBI:33327 silicon oxide -CHEBI:46661 asbestos -ENVO:02000109 dust from plant parts -ENVO:01000424 patio -NCBITaxon:1206794 Ecdysozoa -ENVO:00000242 lacustrine mudflat -CHEBI:24533 heterodetic cyclic peptide -ENVO:06105279 sandy clay -NCBITaxon:1198 Phormidium -ENVO:01000647 asthenosphere -ENVO:01001557 water-body-derived ice -ENVO:06105010 plastic pellet -FOODON:00001105 avian egg food product -ENVO:03600073 contaminated land -ENVO:01000763 rural settlement -ENVO:00000110 lava tunnel -ENVO:01001109 Karman vortex street -ENVO:00005760 burned soil -ENVO:03501105 merchant vessel -ENVO:03501117 transport hub -CHEBI:33266 diatomic nitrogen -ENVO:01000575 wax -FOODON:00001016 cabbage food product -ENVO:01000573 battery-powered electric lamp -NCBITaxon:8457 Sauropsida -NCBITaxon:7002 Acrididae -ENVO:02000136 research nuclear reactor -ENVO:00000277 dry lake -ENVO:01001893 salt spring -ENVO:01001568 frost heave -UBERON:0000125 neural nucleus -ENVO:00000187 tundra mire -ENVO:01000278 pingo scar -ENVO:03000073 multiyear ice -ENVO:00000071 fault cave -UBERON:0000970 eye -ENVO:01000283 lake layer -ENVO:01000582 landline telephone -ENVO:01000507 iron sheet -ENVO:01001682 air mass -ENVO:00000240 saline wetland -UBERON:0013522 subdivision of tube -CHEBI:36059 hydroxy monocarboxylic acid anion -FOODON:00001192 quinoa food product -ENVO:01000615 motorcycle -ENVO:02000113 welding fume -ENVO:01001051 environment determined by a biofilm on a non-saline surface -ENVO:01001042 sterile water environment -ENVO:00000478 range of mounts -NCBITaxon:3398 Magnoliopsida -NCBITaxon:32561 Sauria -CHEBI:33499 uranium molecular entity -ENVO:00000154 flood meadow ecosystem -ENVO:00000016 sea -ENVO:03510000 wood dust -UBERON:0005409 alimentary part of gastrointestinal system -ENVO:06105101 plastic -CHEBI:38669 pyrazolopyrimidine -ENVO:01000605 car -CHEBI:33484 chalcogen oxoacid -ENVO:01000383 temperate evergreen needleleaf forest -CHEBI:25697 organic cation -ENVO:00000241 tidal mudflat -ENVO:01001825 active anaerobic enrichment culturing unit -ENVO:00003043 sewage plant -ENVO:01001805 temperate forest -ENVO:00003030 silage -FOODON:00001148 potato food product -ENVO:01000420 building part -ENVO:00002048 chondrite -FOODON:00001611 apple food product -ENVO:01000489 concrete building floor -UBERON:0005085 ectodermal placode -ENVO:03520003 cloud part -CHEBI:26677 silicon molecular entity -ENVO:00002047 urine material -CHEBI:23114 chloride salt -UBERON:0001969 blood plasma -ENVO:01001162 IUCN strict nature reserve -ENVO:01000871 puddle of water -CHEBI:26288 propanediol -NCBITaxon:1 root -ENVO:01001277 asphalt road -ENVO:01001327 estuarine tidal riverine open water upper water column -ENVO:01000531 covered latrine -ENVO:03501263 hand tool -ENVO:03510055 rubber cement -ENVO:01001126 astrogeological ice -ENVO:01000484 container glass -ENVO:00000513 reservoir bed -ENVO:03501313 food production environmental monitoring zone -ENVO:01000555 compressed natural gas -ENVO:01000143 marine reef -FOODON:00001140 fruit juice food product -UBERON:0001778 ciliary epithelium -ENVO:01001145 chthonian planet -CHEBI:49992 argon(.1+) -ENVO:00000164 rubber plantation -ENVO:01000500 brick exterior wall -FOODON:00001205 velvet bean (whole, dried) -ENVO:00000510 meander neck -ENVO:01001561 gel -NCBITaxon:1206795 Lophotrochozoa -UBERON:0010708 pectoral complex -FOODON:03420108 sugar -CHEBI:8108 pheophytin -ENVO:01001812 subpolar grassland -FOODON:03400803 seafood product (eurofir) -ENVO:01000138 plant matter fall -CHEBI:25710 organophosphorus compound -ENVO:00000328 vadose zone -ENVO:03501187 massage therapy clinic -ENVO:01000442 dacite -PO:0025025 root system -ENVO:01001337 riverine anchor ice -FOODON:03316271 sugar product -UBERON:0015203 non-connected functional system -ENVO:00001999 marine water body -ENVO:01000125 marine littoral zone -CHEBI:33535 sulfur hydride -ENVO:01000775 mesotrophic lake -NCBITaxon:2836 Bacillariophyta -ENVO:00010442 midden -ENVO:01000295 marine layer -ENVO:02000030 chyle material -FOODON:00002038 millet food product -ENVO:01001268 urban stormwater -ENVO:00002261 forest soil -ENVO:01000883 area of developed open space -CHEBI:33909 metallotetrapyrrole -CHEBI:30145 lithium atom -ENVO:03000065 ice floe -ENVO:01000051 marine black smoker biome -NCBITaxon:9606 Homo sapiens -ENVO:03600016 saprolite -UBERON:0005358 ventricle of nervous system -ENVO:00002257 podzol -PO:0009020 meristem L1 layer -CHEBI:33375 gadolinium atom -ENVO:00000013 cave system -UBERON:0000122 neuron projection bundle -ENVO:01001679 fluid front -ENVO:03000066 sea ice floe -CHEBI:33704 alpha-amino acid -ENVO:00000552 talik -ENVO:01001058 environment associated with a fungal tissue -ENVO:01000357 alkaline water -FAO:0000001 fungal structure -ENVO:03501289 wrench -ENVO:00005744 allotment garden soil -CHEBI:33709 amino acid -ENVO:01000978 wet pitfall trap -CHEBI:46676 tremolite asbestos -UBERON:0003077 paraxial mesoderm -UBERON:0000484 simple cuboidal epithelium -ENVO:00002212 thermophilic granular sludge -ENVO:06105205 compacted soil -CHEBI:37175 organic hydride -ENVO:01001127 ice giant -ENVO:01001237 humic kerogen -ENVO:01000060 particulate environmental material -ENVO:01000640 planetary mantle -ENVO:03501349 airplane -ENVO:01000936 dedicated campground -ENVO:02000150 uranium deposit -ENVO:01000319 rocky slope -ENVO:03501302 cork -ENVO:03501140 chaplaincy unit facility -ENVO:00005782 ornithogenic soil -ENVO:01001479 fluid astronomical body part -ENVO:02000157 municipal landfill -FOODON:00001147 plant root food product -ENVO:01000079 marine lysocline -ENVO:00000037 ditch -NCBITaxon:1338369 Dipnotetrapodomorpha -NCBITaxon:9526 Catarrhini -PO:0025128 phyllome primordium -UBERON:0010252 1st arch mandibular mesenchyme from neural crest -FOODON:00001058 fruit extract food product -ENVO:00002146 xylene contaminated soil -ENVO:03600022 vinasse -CHEBI:43098 heptane -ENVO:01000430 broadleaf forest -ENVO:03520006 supercooled water droplet -NCBITaxon:33511 Deuterostomia -CHEBI:38251 magnesium tetrapyrrole -ENVO:03000040 melt pond -ENVO:01000892 area of cropland -ENVO:00000344 grain of desert sand -CHEBI:22314 alkali metal atom -CHEBI:23014 carbon oxide -ENVO:01000838 smoke -CHEBI:33458 nitrogen oxoanion -FOODON:00001052 amasake food product -ENVO:00000375 world heritage site -ENVO:01001537 sea ice hummock -ENVO:01001466 UNEP-WCMC class 6 mountain -NCBITaxon:227572 Oxyinae -ENVO:01000625 manufactured cage -FOODON:00001088 flaxseed oil -ENVO:00005777 steppe soil -ENVO:00000126 sulfur spring -ENVO:01000591 bed frame -CHEBI:18367 phosphate(3-) -ENVO:01000176 shrubland biome -ENVO:00000553 multipurpose dam -PO:0025034 leaf -CHEBI:25900 aldopentose phosphate -ENVO:00002253 umbrisol -FOODON:00001069 fermented fruit food product -ENVO:01003021 area of high atmospheric pressure -ENVO:01001040 saline environment -UBERON:0005764 acellular membrane -ENVO:03510015 xanthan gum -UBERON:0003855 gonad mesenchyme -ENVO:03501344 insecure housing -CHEBI:80043 Nodularin -UBERON:0004872 splanchnic layer of lateral plate mesoderm -UBERON:0000479 tissue -CHEBI:35881 pnictogen hydride -ENVO:00000296 rice field -UBERON:0017650 developing mesenchymal structure -FOODON:00001023 mammalian milk butter -ENVO:00002240 kastanozem -ENVO:03501286 calf shed -ENVO:02000055 plant feed -ENVO:00000364 national wildlife refuge -ENVO:01001356 volcanic crater zone -CHEBI:36874 radical cation -ENVO:00003092 salicylate enriched soil -ENVO:00005802 bulk soil -ENVO:04000014 particulate organic nitrogen -UBERON:0011300 gray matter of telencephalon -FOODON:00001171 cruciferous inflorescence food product -UBERON:0011134 nonsynovial joint -ENVO:01000320 marine environment -ENVO:01001019 hypereutrophic lake -UBERON:0001798 vitreous body -UBERON:0003353 epithelium of hindgut -CHEBI:30225 positron -ENVO:01001704 subpolar environment -CHEBI:33582 carbon group molecular entity -UBERON:0004139 cardiogenic plate -ENVO:03000053 intraglacial lake -ENVO:01001610 active layer in a cryosphere -PO:0025538 plant sap -UBERON:0003439 nerve of trunk region -ENVO:01001806 tropical grassland -ENVO:03501287 livestock house -CHEBI:47901 alkanesulfonic acid -CHEBI:18140 hydrogen halide -ENVO:00000454 turlough -ENVO:01001301 aquatic estuarine layer -ENVO:2000041 solar power station -ENVO:03501161 nephrology unit facility -UBERON:0003061 blood island -ENVO:00000191 solid astronomical body part -ENVO:00000051 hot spring -ENVO:01001187 holothurian digestive tract -ENVO:01001581 sea surface layer -CHEBI:36871 inorganic radical -CHEBI:33374 samarium atom -CHEBI:25608 nucleoside phosphate -ENVO:01001715 cold occluded front -ENVO:00000163 coffee plantation -FOODON:00001149 confectionery food product -CHEBI:33424 sulfur oxoacid derivative -ENVO:00000149 artificial reef -ENVO:01000364 glacier cave -CHEBI:29067 carboxylic acid anion -ENVO:01001668 atmospheric frontal zone -ENVO:03600042 marine lake water -UBERON:0005282 ventricular system of brain -ENVO:00002203 inorganically enriched sediment -CHEBI:33485 chalcogen oxoanion -FOODON:00001039 cured meat food product -ENVO:03000072 second year ice -ENVO:01001652 atmospheric aerosol -NCBITaxon:51953 Elaeis guineensis -ENVO:03501323 residential environment -ENVO:02000027 blood plasma material -ENVO:02000133 nuclear reactor -ENVO:03501120 dairy farm -FOODON:00001274 egg food product -CHEBI:35294 carbopolycyclic compound -FOODON:00001264 legume food product -ENVO:03501108 passenger train -ENVO:01000866 photovoltaic system -ENVO:01000291 cold polymictic lake -FOODON:03460231 chocolate or cocoa -ENVO:01001384 area of attached faunal communities -ENVO:03600051 train car -UBERON:0001009 circulatory system -CHEBI:38460 methylindole -ENVO:03501101 outdoor environment -ENVO:03600052 water tap -ENVO:00000182 plateau -ENVO:01000932 nursing home -CHEBI:27376 methanesulfonic acid -ENVO:00000357 lock -UBERON:1100000 digestive tract junction -CHEBI:26562 ribose phosphate -CHEBI:24867 monoatomic ion -CHEBI:36468 polycyclic ether -ENVO:03510034 turpentine -ENVO:00000262 steppe -ENVO:06105104 mesoplastic particle -ENVO:03501139 breast screening unit facility -CHEBI:47882 cyclic polypyrrole -ENVO:03600078 oil refinery -CHEBI:26216 potassium atom -CHEBI:50402 androstanoid -ENVO:00000427 meander -ENVO:01000864 mouth of liquid discharge conduit -ENVO:00000008 fourth-order administrative region -UBERON:0003911 choroid plexus epithelium -ENVO:03510030 vitreous enamel -ENVO:00002120 acidic hot spring -ENVO:01000062 marine benthic storm -ENVO:00005757 bacteria enriched soil -ENVO:03600079 shredder -ENVO:01000873 ballast tank -ENVO:06105003 thermoplastic material -ENVO:03501325 transport boat -ENVO:01000635 planetary landmass -ENVO:03501171 pharmacy unit facility -CHEBI:52625 inorganic hydroxy compound -ENVO:01000101 warm surface current -ENVO:02000102 fibrous glass dust -PO:0025386 cuticular wax -CHEBI:37190 silicon coordination entity -ENVO:01000122 marine hydrothermal vent -UBERON:0000483 epithelium -ENVO:00000432 monadnock -PO:0009002 plant cell -UBERON:0001797 vitreous humor -FOODON:00001106 camelid dairy food product -ENVO:03510040 stain -ENVO:01000286 dimictic lake -ENVO:00000545 shingle beach -ENVO:00000293 continental divide -CHEBI:51132 nitroarene -ENVO:00003082 enriched soil -ENVO:01000421 indoor kitchen -ENVO:01000506 concrete exterior wall -UBERON:0000019 camera-type eye -UBERON:0002067 dermis -NCBITaxon:3313 Pinidae -UBERON:0000467 anatomical system -FOODON:00001696 cattle cured meat food product -ENVO:01000601 motor vehicle -UBERON:0015808 eye epithelium -ENVO:2000005 freshwater algal bloom -ENVO:01001313 estuarine coastal pycnocline -ENVO:01000113 suspended sediment -NCBITaxon:365482 Salicornia pacifica -ENVO:01000560 charcoal -NCBITaxon:2116530 Salicornia subgen. Amerocornia -ENVO:03500010 shady environment -FOODON:00001096 fermented elaeis palm beverage -ENVO:00000438 alas -ENVO:03000025 erosionally enriched ice -FOODON:03307539 food (dried) -ENVO:00002018 sewage -ENVO:01000949 lichen woodland -ENVO:01001698 polar front -ENVO:01001460 mid-elevation mountain -ENVO:01001385 Bathymodiolus-dominated oceanic mussel reef -ENVO:01000735 lopolith -CHEBI:39285 chloropicrin -ENVO:01000970 delicatessen -ENVO:01000825 eaves -ENVO:00002231 alisol -ENVO:01000471 ceiling -ENVO:03600008 intensive care unit -UBERON:0001913 milk -ENVO:02000129 bottom ash -ENVO:00005793 muddy water -ENVO:01000523 pit latrine with slab floor -FOODON:03310006 fermented bean product -CHEBI:53387 poly(hydroxyalkanoate) -ENVO:06105111 natural plastic -FOODON:00001219 sausage (cooked, smoked) -UBERON:0019042 reproductive system mucosa -CHEBI:26400 purine ribonucleotide -CHEBI:33308 carboxylic ester -ENVO:01001273 liquid layer -ENVO:01001469 observing system -CHEBI:25812 ozone -ENVO:03501199 dry market -ENVO:03600080 industrial park -UBERON:0010371 ecto-epithelium -FOODON:00001089 corn flour food product -ENVO:03400013 falling snow -FOODON:00001150 cucurbit fruit food product -ENVO:01001124 giant gas planet -ENVO:01000096 water mass front -ENVO:01001111 fossil worm burrow -FOODON:00002423 agave food product -ENVO:01001159 cirrus homogenitus cloud -ENVO:00000222 oceanic island -ENVO:01001380 neritic mussel reef -ENVO:01001001 plant-associated environment -PO:0006036 root epidermis -ENVO:01000641 planetary core -ENVO:00000377 artificial lake -ENVO:01000650 stream channel -UBERON:0000165 mouth -CHEBI:30513 antimony atom -ENVO:01000070 terrigenous sediment -ENVO:00000176 elevated landform -NCBITaxon:314293 Simiiformes -FOODON:00001170 grape berry food product -ENVO:01000778 key biodiversity area -ENVO:00000487 paternoster lake -ENVO:01001625 polar tundra ecosystem -CHEBI:2571 aliphatic alcohol -ENVO:2000039 gas power station -ENVO:01000192 tropical grassland biome -ENVO:00002275 technosol -ENVO:00002058 secondary sludge -ENVO:02000033 pleural effusion material -FOODON:00001074 barley malt vinegar -UBERON:0003585 dermis connective tissue -ENVO:01001644 material primarily composed of biogenic carbonates -CHEBI:36976 nucleotide -ENVO:01001829 human settlement -UBERON:0002297 cerumen -ENVO:01000472 building roof -UBERON:0016887 entire extraembryonic component -CHEBI:60029 homopolymer -ENVO:03510021 varnish -CHEBI:17029 chitin -ENVO:00000195 sinkhole -NCBITaxon:6993 Orthoptera -ENVO:01001141 carbon monoxide ice -BFO:0000040 material entity -ENVO:00000005 first-order administrative region -ENVO:01001276 water ice layer -FOODON:00001235 soy sauce food product -ENVO:02000026 chyme material -UBERON:0000075 subdivision of skeletal system -UBERON:0007500 epithelial tube open at both ends -CHEBI:38201 bacteriochlorophyll -CHEBI:33248 hydrocarbyl group -ENVO:01000912 cloud condensation nucleus -UBERON:0000930 stomodeum -CHEBI:37734 phosphoric ester -ENVO:01000223 montane savanna biome -ENVO:01000326 deep chlorophyll maximum layer -ENVO:00000519 agricultural terrace -FOODON:00002787 vetch food product -ENVO:00002171 hay compost -ENVO:01001166 IUCN habitat/species management area -UBERON:0003278 skeleton of lower jaw -ENVO:01000298 continental margin -UBERON:0001013 adipose tissue -FOODON:00001626 bakery food product -ENVO:01001154 volatile astrogeological material -UBERON:0000463 organism substance -ENVO:01001521 area of drift ice -ENVO:00005743 roadside soil -ENVO:01001796 temperate mixed forest -CHEBI:29233 deuteron -ENVO:03600091 clay fermentation pit -ENVO:02000104 cement dust -CHEBI:27560 boron atom -ENVO:01001794 temperate broadleaf forest -ENVO:03510035 naphtha -ENVO:00003064 drinking water -CHEBI:17548 alginic acid -ENVO:00005756 lawn soil -FOODON:00002643 food (dehydrated) -CHEBI:60242 monovalent inorganic cation -ENVO:00000400 cinder cone -ENVO:01000501 burnt brick -UBERON:0003513 trunk blood vessel -ENVO:03000027 powdery snow -ENVO:03000076 slush ice -ENVO:00000224 slightly stratified estuary -ENVO:01001684 interface layer -CHEBI:23044 carotenoid -ENVO:00005797 lake bottom mud -CHEBI:25274 methylamines -ENVO:01000272 mudstone -FOODON:00001127 cow milk cheese -ENVO:01001382 area of attached mussel assemblages -ENVO:01001203 alluvial sediment -CHEBI:33679 helium molecular entity -ENVO:03510061 soy ink -ENVO:03600045 plant pot -ENVO:03501222 brasserie -ENVO:00000384 river bed -ENVO:01000177 grassland biome -ENVO:03501244 Bailey bridge -CHEBI:33321 rare earth metal atom -ENVO:01001239 forest canopy -ENVO:01001099 divergent plate boundary -ENVO:00005787 eucalyptus forest soil -ENVO:01000387 tropical deciduous broadleaf forest -CHEBI:18310 alkane -CHEBI:24373 glycine derivative -ENVO:01000660 tephra -UBERON:0003947 brain ventricle/choroid plexus -ENVO:02000137 nuclear power reactor -ENVO:03000050 atmosphere-exposed melt pond -ENVO:01000599 river water -NCBITaxon:1890440 Schizotrichaceae -ENVO:01000977 dry pitfall trap -ENVO:01000809 minor planet -FOODON:00002012 lupine bean food product -CHEBI:36338 lepton -ENVO:01001048 sediment environment -ENVO:01001183 arable or pasturable land -ENVO:01001018 hypereutrophic water -ENVO:03500002 public park -ENVO:01000235 ultramafic lava -ENVO:00003097 bore hole water -ENVO:00002983 fuel oil -ENVO:01000211 temperate coniferous forest biome -ENVO:01001204 alluvial deposit -UBERON:0001007 digestive system -ENVO:01001885 submerged landform -ENVO:01001697 atmospheric isobaric surface -ENVO:01001404 ecological province -ENVO:00000387 container of an intermittent lake -ENVO:00000488 glacial lake -ENVO:01001462 UNEP-WCMC class 2 mountain -ENVO:01000120 clay sediment -UBERON:0005281 ventricular system of central nervous system -ENVO:01001105 aeolian lake -CHEBI:16526 carbon dioxide -ENVO:01001046 planetary subsurface environment -ENVO:01000487 brick building floor -UBERON:0001016 nervous system -CHEBI:35552 heterocyclic organic fundamental parent -ENVO:00000063 water body -CHEBI:16454 pantothenate -ENVO:01001468 intertidal ecosystem -CHEBI:38104 oxacycle -ENVO:00000288 cotton plantation -ENVO:03000038 cryoconite deposit -ENVO:03501365 bucket conveyor -ENVO:01000499 pole-reinforced mud exterior wall -CHEBI:33433 monoatomic halogen -CHEBI:36341 boson -UBERON:0002329 somite -ENVO:00000119 planted forest -CHEBI:53388 poly(hydroxybutyrate) -ENVO:01000777 nurdle -ENVO:01000052 marine white smoker biome -CHEBI:24455 guanosine phosphate -ENVO:00002210 aerobic sulfide-oxidizing bioreactor -UBERON:0003056 pre-chordal neural plate -CHEBI:30050 gold(0) -UBERON:0006311 chamber of eyeball -ENVO:00000560 nuclear weapons test site -ENVO:01000987 market -UBERON:0003089 sclerotome -ENVO:01000525 rock intrusion -CHEBI:83820 non-proteinogenic amino acid -ENVO:01000456 concrete masonry unit -ENVO:01000797 gaseous environmental material -UBERON:0000478 extraembryonic structure -CHEBI:46718 sulfide salt -NCBITaxon:35493 Streptophyta -CHEBI:35406 oxoanion -CHEBI:38077 polypyrrole -ENVO:00002131 epilimnion -CHEBI:53226 polyethylene macromolecule -ENVO:03501341 community health centre -UBERON:0004297 respiratory system blood vessel smooth muscle -ENVO:01000770 carbon dioxide emission -PCO:0000031 organismal entity -CHEBI:58941 cyclic tetrapyrrole anion -ENVO:01001173 sacred site -ENVO:01000112 polymetallic nodule -ENVO:03501218 toilet bowl -ENVO:01000469 exterior wall -ENVO:00000562 park -CHEBI:33296 alkali metal molecular entity -ENVO:03501226 greasy spoon -FOODON:00001153 muskmelon (Cucumis melo) fruit food product -NCBITaxon:41944 Myrtales -ENVO:00000166 atoll -CHEBI:24632 hydrocarbon -ENVO:01001351 ice decumulation zone -ENVO:00002223 oligotrophic water -ENVO:01000907 feasting pit site -ENVO:01000910 soil biocrust -ENVO:02000151 natural nuclear fission reactor -ENVO:01000462 masonry cement -ENVO:00000346 grain of acid dune sand -ENVO:01000137 organic matter fall -ENVO:00005779 vegetable garden soil -PCO:0000001 population of organisms -ENVO:01001789 freshwater ecosystem -UBERON:0001048 primordium -NCBITaxon:403651 Pfiesteriaceae -CHEBI:36927 carbon-14 atom -ENVO:00000390 mountain spur -CHEBI:51584 metallophthalocyanines -ENVO:01000967 public swimming pool -ENVO:00002229 arenosol -UBERON:0011860 collection of collagen fibrils -ENVO:00000356 pyroclastic cone -ENVO:03501205 private prison -NCBITaxon:33341 Polyneoptera -FOODON:03400650 02 vegetables (ccpr) -ENVO:01001480 domestic building -ENVO:03510005 motor oil -ENVO:01001182 tended pasturable land -UBERON:0000022 feather -ENVO:01000673 shear fracture -ENVO:02000126 wood ash -ENVO:00002236 cryosol -ENVO:01001841 volcanic soil -ENVO:03501180 patient room -ENVO:01000234 mafic lava -ENVO:01001689 mass of gas -ENVO:01001008 meteor -FOODON:00001257 milk or milk based food product -ENVO:01001677 fluid interface layer -CHEBI:30514 caesium atom -ENVO:03501239 riverfront -ENVO:01000939 time crystal -UBERON:0000948 heart -ENVO:01000225 subtropical dry broadleaf forest biome -ENVO:01000008 microbial mat -ENVO:01000405 respirable suspended particulate matter -ENVO:00000561 military training area -FOODON:00001157 pomaceous fruit juice beverage -ENVO:01000191 subtropical grassland biome -ENVO:02000044 siliceous ooze -CHEBI:37395 mucopolysaccharide -FOODON:00001139 coffee based beverage product -ENVO:01000494 thatched exterior wall -FOODON:00001013 cheese food product -UBERON:0016880 future nervous system -ENVO:01000748 continental crust -UBERON:0011642 oral epithelium from ectoderm -CHEBI:32628 leucinium -ENVO:00002133 anaerobic mud -ENVO:00000074 dam -ENVO:06105107 marine anthropogenic litter -ENVO:01001624 glacial bed -CHEBI:46717 sulfide mineral -ENVO:01000282 sedimentary stratum -UBERON:0002616 regional part of brain -ENVO:01000047 mediterranean sea biome -CHEBI:51718 alpha,beta-unsaturated aldehyde -ENVO:01000067 marine current -ENVO:00001995 rock -ENVO:00005753 urea enriched soil -ENVO:02000099 coal dust -ENVO:03501172 physiotherapy unit facility -ENVO:00000426 ocean floor -CHEBI:33241 oxoacid derivative -ENVO:01000372 household waste material -ENVO:01000504 unburnt-brick exterior wall -FOODON:00002333 vegetable pickle food product -UBERON:0015783 smooth muscle layer in fatty layer of subcutaneous tissue -ENVO:00002874 air conditioning unit -ENVO:01001876 graupel -UBERON:0003498 heart blood vessel -FOODON:00001838 fermented cereal beverage -ENVO:01000439 andesitic volcano -ENVO:01001328 estuarine tidal riverine open water pycnocline -ENVO:01000754 fumarole-derived ice tower -ENVO:01001236 sulfrous kerogen -ENVO:00005772 orchard soil -NCBITaxon:33154 Opisthokonta -CHEBI:137980 metalloid atom -ENVO:01000503 burnt-brick exterior wall -ENVO:02000048 contaminated animal feed -NCBITaxon:8287 Sarcopterygii -ENVO:01000145 marine coral reef back reef -ENVO:03510007 gasoline -CHEBI:25367 molecule -CHEBI:33306 carbon group element atom -UBERON:0004536 lymph vasculature -CHEBI:47909 3-oxo-Delta(4) steroid -ENVO:01000513 asbestos building roof -ENVO:01000556 biogas -ENVO:1000746 marine mucilage -UBERON:0001085 skin of trunk -FOODON:00002403 food material -ENVO:01001151 proplyd -ENVO:01000308 extraterrestrial environment -UBERON:0034878 prechordal mesoderm -ENVO:00002250 plinthosol -ENVO:02000142 petroleum oil refinery -ENVO:00000190 abyssal feature -ENVO:03510012 paper dye -ENVO:01001518 drifting sea ice mass -ENVO:00000181 nunatak -NCBITaxon:7088 Lepidoptera -ENVO:00000223 continental shelf -CHEBI:48041 microcystin -FOODON:00001090 sour milk beverage -CHEBI:46682 anthophyllite asbestos -CHEBI:83628 N-acylammonia -CHEBI:33434 elemental halogen -ENVO:01001132 hot Neptune -FOODON:00001196 pigeon pea (whole, dried) -ENVO:01000943 vegetated hill -ENVO:02000023 bile material -ENVO:01000842 smog -ENVO:01001110 ecosystem -UBERON:0006598 presumptive structure -ENVO:00002169 coal mine -ENVO:01001097 tectonic plate -FOODON:00002158 food (preserved) -ENVO:01001317 estuarine tidal riverine coastal surface layer -ENVO:03501293 tote bag -ENVO:01001845 hoar -UBERON:0000077 mixed endoderm/mesoderm-derived structure -ENVO:01000773 village -FOODON:00001250 fish egg food product -UBERON:0007829 pectoral girdle bone -UBERON:0004864 vasculature of retina -NCBITaxon:37567 Ditrysia -ENVO:00000270 beaver pond -PO:0020148 shoot apical meristem -CHEBI:53242 vinyl polymer macromolecule -ENVO:03510026 acrylic paint medium -NCBITaxon:1437180 Acrogymnospermae -ENVO:01001224 office -NCBITaxon:4143 Lamiales -ENVO:01001163 IUCN wilderness area -UBERON:0004296 respiratory system lymphatic vessel smooth muscle -ENVO:00000365 Ramsar site -UBERON:0003084 heart primordium -ENVO:00000378 canal head reservoir -ENVO:03501280 mausoleum -ENVO:00005788 rubber plantation soil -ENVO:00001998 soil -FOODON:00001036 pont ieveque cheese food product -ENVO:00003045 bacon curing brine -ENVO:01000814 solid environmental material -PO:0025606 native plant cell -CHEBI:29237 deuterium atom -ENVO:1000749 microcontinental island -PO:0009006 shoot system -ENVO:00005805 nest of bird -ENVO:01001352 glacial ice accumulation zone -CHEBI:28073 chromium atom -ENVO:02000045 red clay -ENVO:00000028 sand pit quarry -ENVO:01001529 glacier snout -ENVO:01001034 environment determined by a biofilm on an animal surface -FOODON:00001218 bee food product -CHEBI:15422 ATP -ENVO:01000215 temperate shrubland biome -ENVO:01001514 congelation ice in a fresh water body -FOODON:00002301 pork cured meat food product -CHEBI:66933 N-alkylglycine -CHEBI:33415 elemental carbon -ENVO:00000214 hadalpelagic zone -ENVO:00002274 stagnosol -ENVO:01000102 cold surface current -ENVO:00000083 hill -ENVO:01001115 manure storage space -UBERON:0001418 skin of thorax -CHEBI:33833 heteroarene -CHEBI:33431 elemental chlorine -UBERON:0003456 respiratory system lymphatic vessel -ENVO:01000037 oceanic bathypelagic zone biome -ENVO:01001269 area of developed space -ENVO:00000177 moraine -ENVO:00000130 rocky reef -ENVO:00002247 nitisol -NCBITaxon:1583079 Erebinae -UBERON:0003103 compound organ -ENVO:01000811 nitrogen-oxygen planetary atmosphere -ENVO:00002244 gleysol -NCBITaxon:2910 Peridiniales -UBERON:0003102 surface structure -NCBITaxon:41197 Heteroneura -ENVO:01001226 terrestrial natural environment -ENVO:01000026 marine bathyal zone biome -CHEBI:27007 tin atom -FOODON:00001215 cacao food product -ENVO:01001324 estuarine tidal riverine coastal pycnocline -ENVO:01001000 environmental system determined by an organism -CHEBI:17790 methanol -ENVO:00000551 endorheic basin -UBERON:0015212 lateral structure -ENVO:00000064 road -ENVO:01000382 cold desert -ENVO:02000084 goat manure -UBERON:0000923 germ layer -ENVO:03501177 radiotherapy unit facility -ENVO:03501275 corn exchange -CHEBI:38975 methylbenzene -ENVO:00000101 delta -UBERON:0009521 anal membrane endodermal component -ENVO:03501370 stagnant water -ENVO:03600074 aquaculture farm -ENVO:00002046 activated sludge -ENVO:00000333 subjacent karst -CHEBI:22563 anion -CHEBI:41609 carbonate -UBERON:0007245 nuclear complex of neuraxis -ENVO:01001409 altocumulus cloud -ENVO:03501237 game reserve -ENVO:00000046 hedge -ENVO:00002183 oil tank -NCBITaxon:33208 Metazoa -UBERON:0004734 gastrula -ENVO:01000360 solutional cave -UBERON:0005656 lens vesicle epithelium -ENVO:00000492 resequent stream -ENVO:2000042 ocean thermal power station -ENVO:03501356 conveyor system -ENVO:00000033 pond -ENVO:01000334 talus slope -UBERON:0003566 head connective tissue -ENVO:01001142 iron planet -CHEBI:16136 hydrogen sulfide -NCBITaxon:4710 Arecaceae -ENVO:00000092 sea beach -ENVO:03501240 skerry -ENVO:01000536 factory -ENVO:00000247 volcano -CHEBI:48107 nitric acid -PO:0025387 plant cuticle proper -ENVO:01001890 chalybeate spring -CHEBI:24532 organic heterocyclic compound -ENVO:00000299 ice field -UBERON:0013754 integumentary system layer -ENVO:00005761 meadow soil -ENVO:01000944 microplastic particle -ENVO:03000110 cryoform -ENVO:01001242 canopy -FOODON:03400164 dairy product (us cfr) -NCBITaxon:436486 Dinosauria -ENVO:01000493 stone building floor -UBERON:0012361 internal anal region -UBERON:0000060 anatomical wall -ENVO:01001383 area of attached Modiolus assemblages -ENVO:03000000 neve -ENVO:01000413 old plant -ENVO:01001515 freshwater congelation ice -FOODON:00001994 leguminous vegetable food product -ENVO:00000343 particle of silt -CHEBI:36340 fermion -CHEBI:27275 vanadium molecular entity -ENVO:02000117 natural wax -ENVO:02000134 thermal nuclear reactor -CHEBI:30052 copper(0) -ENVO:00000059 underground river -UBERON:0009494 pharyngeal arch mesenchymal region -ENVO:01001104 rift zone -ENVO:01000103 western boundary current -ENVO:03501127 conference venue -ENVO:01001422 cirrus spissatus cloud -ENVO:01001517 drift ice mass -CHEBI:134438 titanium oxides -NCBITaxon:7624 Echinozoa -ENVO:01000260 nutricline within a water body -ENVO:01000638 planetary crust -UBERON:0011695 embryonic cardiovascular system -ENVO:00000500 beaver dam -NCBITaxon:117571 Euteleostomi -ENVO:00000193 olive grove -ENVO:01001675 nutricline -ENVO:03510029 primer (paint) -ENVO:01000671 dike -ENVO:00002158 ditch water -UBERON:0001802 posterior segment of eyeball -FOODON:00001714 food product component -ENVO:00000120 oil palm plantation -ENVO:06105008 plastic fragment -CHEBI:36352 neutrino -ENVO:01000273 lime mudstone -CHEBI:58954 straight-chain saturated fatty acid anion -ENVO:01001131 hot Jupiter -NCBITaxon:519494 Chortoicetes terminifera -ENVO:01001378 marine bed -ENVO:00002249 phaeozem -UBERON:0018674 heart vasculature -ENVO:01001819 cell culturing unit -ENVO:03000114 seasonal snow patch -UBERON:0011892 anterior uvea -UBERON:0008114 joint of girdle -ENVO:00002112 gold mine drainage -ENVO:01001781 part of a landmass -ENVO:01001507 floating ice calf -ENVO:01001792 tropical broadleaf forest -ENVO:01000849 flower-rich field margin strip -CHEBI:50313 onium cation -ENVO:01001826 active sulphate-reducing enrichment culturing unit -ENVO:03501185 dental clinic -ENVO:00002126 aerobic bioreactor -ENVO:01000121 colloidal sediment -ENVO:00000308 dune slack -ENVO:01000891 area of pastureland or hayfields -ENVO:03501319 food prossessing non-production area -ENVO:00000517 lost stream -FOODON:00001094 fermented beverage -ENVO:01000057 marine algal bloom -CHEBI:17972 ribonucleoside triphosphate -ENVO:03000139 ice fog -UBERON:0004755 skeletal tissue -ENVO:02000025 sweat material -ENVO:03501304 cellophane -FOODON:00001071 grape must -PO:0000225 peripheral zone -ENVO:01000914 ice ablation zone -ENVO:01001278 concrete road -ENVO:01001263 area designated for human defecation -UBERON:0010230 eyeball of camera-type eye -ENVO:03000041 brine channel -FOODON:03400187 natural cheese (us cfr) -ENVO:03000039 cryoconite hole -ENVO:01000258 fluid cline -CHEBI:27295 violaxanthin -ENVO:01000925 abattoir -ENVO:01000619 closed ecological system -UBERON:0009891 facial mesenchyme -ENVO:00000139 irrigation ditch -ENVO:03501157 mobile intensive care ambulance -ENVO:01001045 oceanic subsurface zone -ENVO:01000632 chonolith -ENVO:00000362 marine park area -ENVO:01001056 environment determined by a biofilm on a saline surface -ENVO:03501331 healthcare environment -ENVO:02000042 interstitial fluid material -CHEBI:33497 transition element molecular entity -ENVO:00003927 stable manure -ENVO:00000136 demilitarized zone -ENVO:03501230 field hospital -UBERON:0016888 transitional anatomical structure -ENVO:01000059 sea grass bed -CHEBI:75896 iron sulfides -ENVO:01000185 montane desert biome -ENVO:00002207 self-heating coal mine waste material diff --git a/notebooks/environmental_context_value_sets/soil/env_medium/discover_excludable_soils.ipynb b/notebooks/environmental_context_value_sets/soil/env_medium/discover_excludable_soils.ipynb new file mode 100644 index 00000000..6cc215dd --- /dev/null +++ b/notebooks/environmental_context_value_sets/soil/env_medium/discover_excludable_soils.ipynb @@ -0,0 +1,1466 @@ +{ + "cells": [ + { + "cell_type": "code", + "id": "initial_id", + "metadata": { + "collapsed": true, + "ExecuteTime": { + "end_time": "2024-12-17T21:08:39.462209Z", + "start_time": "2024-12-17T21:08:34.506156Z" + } + }, + "source": [ + "from oaklib import get_adapter\n", + "from oaklib.datamodels.vocabulary import IS_A\n", + "from itertools import chain\n", + "import textdistance\n", + "import pandas as pd\n", + "import textwrap\n", + "import matplotlib.pyplot as plt\n", + "import random" + ], + "outputs": [], + "execution_count": 1 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": [ + "If we are going to include 'orchard' in the soil env_local_scale enumeration, we probably shouldn't include 'orchard soil' in the soil env_medium enumeration. NMDC should provide clear guidance on which slot should capture the knowledge that the sample is from an orchard.\n", + "\n", + "Try to discover cases like this, in which a soil has a relationship with a relevant class, and there is strong string similarity between the soil and relevant class labels" + ], + "id": "8c9c90d43f3f2a19" + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:39.471237Z", + "start_time": "2024-12-17T21:08:39.464618Z" + } + }, + "cell_type": "code", + "source": "adapter_string = \"sqlite:obo:envo\"", + "id": "9f2bef41173fd084", + "outputs": [], + "execution_count": 2 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:39.475640Z", + "start_time": "2024-12-17T21:08:39.472820Z" + } + }, + "cell_type": "code", + "source": "target_labels = [\"soil\"]", + "id": "6b16af8bdda12631", + "outputs": [], + "execution_count": 3 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:39.481097Z", + "start_time": "2024-12-17T21:08:39.478230Z" + } + }, + "cell_type": "code", + "source": "output_file = \"discover_excludable_soils.tsv\"", + "id": "8d05518530e5a1a5", + "outputs": [], + "execution_count": 4 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "Not all relationships between an ABP and a soil are grounds for exclusion. 'has quality', 'participates in process' etc aren't good relationships for driving these exclusions.", + "id": "a10272332550801b" + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:39.485332Z", + "start_time": "2024-12-17T21:08:39.482616Z" + } + }, + "cell_type": "code", + "source": [ + "reasonable_relations = [\n", + " 'adjacent to',\n", + " 'composed primarily of',\n", + " 'has part',\n", + " 'located in',\n", + " 'part of',\n", + "]\n" + ], + "id": "cc4c5f1fb8a99c38", + "outputs": [], + "execution_count": 5 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:39.489404Z", + "start_time": "2024-12-17T21:08:39.486807Z" + } + }, + "cell_type": "code", + "source": "MAT_ENT = \"ENVO:00010483\"", + "id": "98c2abc1603b9fb7", + "outputs": [], + "execution_count": 6 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:39.493321Z", + "start_time": "2024-12-17T21:08:39.490725Z" + } + }, + "cell_type": "code", + "source": "ENV_MAT = \"ENVO:00010483\"", + "id": "71b1e1612aa7677e", + "outputs": [], + "execution_count": 7 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:39.497317Z", + "start_time": "2024-12-17T21:08:39.494763Z" + } + }, + "cell_type": "code", + "source": "BIOME = \"ENVO:00000428\"", + "id": "38e319a1c0c51a52", + "outputs": [], + "execution_count": 8 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:39.502189Z", + "start_time": "2024-12-17T21:08:39.498802Z" + } + }, + "cell_type": "code", + "source": "SOIL = 'ENVO:00001998'", + "id": "7d066869c1c4c2ed", + "outputs": [], + "execution_count": 9 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:39.550725Z", + "start_time": "2024-12-17T21:08:39.507475Z" + } + }, + "cell_type": "code", + "source": "adapter = get_adapter(adapter_string)", + "id": "71b097db8b835fd5", + "outputs": [], + "execution_count": 10 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:39.659377Z", + "start_time": "2024-12-17T21:08:39.552540Z" + } + }, + "cell_type": "code", + "source": "env_materials = set(adapter.descendants(ENV_MAT, predicates=[IS_A]))", + "id": "d6264fc9141a38b", + "outputs": [], + "execution_count": 11 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:39.718973Z", + "start_time": "2024-12-17T21:08:39.661060Z" + } + }, + "cell_type": "code", + "source": "mat_ents = set(adapter.descendants(MAT_ENT, predicates=[IS_A]))", + "id": "97f55197b11f324d", + "outputs": [], + "execution_count": 12 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:39.770704Z", + "start_time": "2024-12-17T21:08:39.721964Z" + } + }, + "cell_type": "code", + "source": "biomes = set(adapter.descendants(BIOME, predicates=[IS_A]))", + "id": "bbbccc244e96e993", + "outputs": [], + "execution_count": 13 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "Astronomical body parts are preferred for env_local_scale, but we'll be a little more inclusive here", + "id": "9358ddcc35428457" + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:39.775637Z", + "start_time": "2024-12-17T21:08:39.772235Z" + } + }, + "cell_type": "code", + "source": "relevant_classes = mat_ents - biomes - env_materials", + "id": "a53c8cdb5dc11a11", + "outputs": [], + "execution_count": 14 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:39.827349Z", + "start_time": "2024-12-17T21:08:39.777080Z" + } + }, + "cell_type": "code", + "source": "soils = set(adapter.descendants(SOIL, predicates=[IS_A]))", + "id": "26a168f26d93ae38", + "outputs": [], + "execution_count": 15 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "We aren't interested in relationships with 'soil' per se", + "id": "4044c2e64a151bb7" + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:39.832084Z", + "start_time": "2024-12-17T21:08:39.828904Z" + } + }, + "cell_type": "code", + "source": [ + "differentiated_targets = soils.copy()\n", + "\n", + "differentiated_targets.remove(SOIL)" + ], + "id": "273ab0be5d55acf5", + "outputs": [], + "execution_count": 16 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "Find relationships between soils and anything, in either oreientation", + "id": "1f9dea9514bbd7dd" + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:39.836357Z", + "start_time": "2024-12-17T21:08:39.833420Z" + } + }, + "cell_type": "code", + "source": "up_rels = adapter.relationships(soils)", + "id": "f13353149550e831", + "outputs": [], + "execution_count": 17 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:39.840444Z", + "start_time": "2024-12-17T21:08:39.837767Z" + } + }, + "cell_type": "code", + "source": "down_rels = adapter.relationships(objects=soils)", + "id": "58fcd6b036c084a4", + "outputs": [], + "execution_count": 18 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:39.844561Z", + "start_time": "2024-12-17T21:08:39.841940Z" + } + }, + "cell_type": "code", + "source": "rels_gen = chain(up_rels, down_rels)", + "id": "c8717815968fa5d9", + "outputs": [], + "execution_count": 19 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "Turn the soil relationships into a list of dicts, and then a dataframe", + "id": "7cc0fbf1fe74633" + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:39.848886Z", + "start_time": "2024-12-17T21:08:39.846153Z" + } + }, + "cell_type": "code", + "source": "rels_list = []", + "id": "37a5169d443d9afb", + "outputs": [], + "execution_count": 20 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:44.215912Z", + "start_time": "2024-12-17T21:08:39.850565Z" + } + }, + "cell_type": "code", + "source": [ + "for rel in rels_gen:\n", + " s, p, o = rel\n", + " p_lab_or_id = adapter.label(p) if adapter.label(p) is not None else p\n", + " inner_dict = {\n", + " \"s\": s,\n", + " \"s_is_soil\": s in differentiated_targets,\n", + " \"s_is_reasonable_other\": s in relevant_classes,\n", + " \"slab\": adapter.label(s),\n", + " \"p\": p,\n", + " \"plab\": adapter.label(p),\n", + " \"p_lab_or_id\": p_lab_or_id,\n", + " 'relation_is_reasonable': p_lab_or_id in reasonable_relations,\n", + " \"o\": o,\n", + " \"o_is_soil\": o in differentiated_targets,\n", + " \"o_is_reasonable_other\": o in relevant_classes,\n", + " \"olab\": adapter.label(o),\n", + " \"slab_olab_cosine\": textdistance.cosine(adapter.label(s), adapter.label(o))\n", + " }\n", + " if inner_dict['s_is_soil'] and not inner_dict['o_is_soil']:\n", + " inner_dict['sole_soil'] = inner_dict['slab']\n", + " if inner_dict['o_is_soil'] and not inner_dict['s_is_soil']:\n", + " inner_dict['sole_soil'] = inner_dict['olab']\n", + "\n", + " if inner_dict['s_is_reasonable_other'] and not inner_dict['o_is_reasonable_other']:\n", + " inner_dict['sole_reasonable_other'] = inner_dict['slab']\n", + " if inner_dict['o_is_reasonable_other'] and not inner_dict['s_is_reasonable_other']:\n", + " inner_dict['sole_reasonable_other'] = inner_dict['olab']\n", + "\n", + " rels_list.append(inner_dict)" + ], + "id": "e7cfa7893f8216c2", + "outputs": [], + "execution_count": 21 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:44.222376Z", + "start_time": "2024-12-17T21:08:44.217344Z" + } + }, + "cell_type": "code", + "source": "rels_frame = pd.DataFrame(rels_list)", + "id": "76ed80e1e97de3e9", + "outputs": [], + "execution_count": 22 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": [ + "Save the unfiltered dataframe of relationships to a file. This file may require manual curation before it is suitable for limiting the soil subclasses that can be excluded from the env_medium slot. Curations could be captured in the 'override' column of `discover_excludable_soils_curated.tsv`\n", + "\n", + "For example,EnvO says that 'mountain forest soil' is part of a 'mountain' and those two labels have a cosine string similarity of 0.632, but we know that 'mountain forest soil' doesn't come from just any mountain, so it shouldn't be excluded from the env_medium slot. In this case, set `override` to 'keep soil'\n", + "\n", + "On the other hand, we will take it for granted that 'farm soil' is part of a farm, even though EnvO doesn't make that assertion as of http://purl.obolibrary.org/obo/envo/releases/2024-07-01/envo.owl\n", + "\n", + "So we make a new row in the curated TSV with farm and 'farm soil' and set `override` to 'exclude soil'. We do the same for greenhouse and 'greenhouse soil'. We also did the same for volcano and 'volcanic soil' but volcanic soil might actually be found at some distance from a volcano, so that should be reconsidered.\n" + ], + "id": "892b727b1cbfb7f2" + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": [ + "- 'allotment garden soil' has a relationship with 'allotment garden'\n", + "- 'paddy field soil' has a relationship with 'paddy field'\n", + "- 'rubber plantation soil' has a relationship with 'rubber plantation'\n", + "\n", + "but 'allotment garden' etc. are more specific than the kinds of classes we usually include in an env_local_scale enumeration, so those soils may be included in the env_medium enumeration." + ], + "id": "6454e24d85398559" + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": [ + "- 'alluvial paddy field soil'\n", + "- 'beech forest soil'\n", + "- 'bluegrass field soil'\n", + "- 'eucalyptus forest soil'\n", + "- 'jungle soil'\n", + "- 'spruce forest soil'\n", + "- 'vegetable garden soil'\n", + "\n", + "may also seem like the kinds of soil classes that could be excluded from the env_medium slot, but there are no 'alluvial paddy field' etc. classes in EnvO. We could add them, but they are also more specific than the typical env_local_scale classes." + ], + "id": "f7cb6a2489a6e2d1" + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "", + "id": "fa15e2a31449c4eb" + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:44.234806Z", + "start_time": "2024-12-17T21:08:44.224133Z" + } + }, + "cell_type": "code", + "source": "rels_frame.to_csv(output_file, sep=\"\\t\", index=False)", + "id": "f6bd0f899df2e00c", + "outputs": [], + "execution_count": 23 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "Now filter the dataframe and make a visualizastion", + "id": "cadcd8d0e6e9ed8" + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:44.242474Z", + "start_time": "2024-12-17T21:08:44.236792Z" + } + }, + "cell_type": "code", + "source": [ + "reasonable_frame = rels_frame[rels_frame['relation_is_reasonable']]\n", + "# filter out rows with null/NA values\n", + "reasonable_frame = reasonable_frame.dropna()" + ], + "id": "ff2f774ec512b720", + "outputs": [], + "execution_count": 24 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:44.278156Z", + "start_time": "2024-12-17T21:08:44.244515Z" + } + }, + "cell_type": "code", + "source": "reasonable_frame", + "id": "c56ab545691d7b4f", + "outputs": [ + { + "data": { + "text/plain": [ + " s s_is_soil s_is_reasonable_other slab \\\n", + "11 ENVO:00002236 True False cryosol \n", + "32 ENVO:00002261 True False forest soil \n", + "34 ENVO:00002262 True False clay soil \n", + "37 ENVO:00002275 True False technosol \n", + "63 ENVO:00005740 True False paddy field soil \n", + "68 ENVO:00005743 True False roadside soil \n", + "70 ENVO:00005744 True False allotment garden soil \n", + "77 ENVO:00005750 True False grassland soil \n", + "84 ENVO:00005755 True False field soil \n", + "88 ENVO:00005758 True False alluvial swamp soil \n", + "92 ENVO:00005761 True False meadow soil \n", + "99 ENVO:00005764 True False pond soil \n", + "106 ENVO:00005769 True False mountain forest soil \n", + "110 ENVO:00005771 True False muddy soil \n", + "112 ENVO:00005773 True False pasture soil \n", + "115 ENVO:00005777 True False steppe soil \n", + "123 ENVO:00005786 True False upland soil \n", + "125 ENVO:00005788 True False rubber plantation soil \n", + "135 ENVO:01001526 True False frozen soil \n", + "138 ENVO:01001528 True False friable-frozen soil \n", + "142 ENVO:01001616 True False bare soil \n", + "147 ENVO:02000138 True False mangrove biome soil \n", + "179 ENVO:00002259 True False agricultural soil \n", + "181 ENVO:00002260 True False dune soil \n", + "183 ENVO:00002263 True False garden soil \n", + "184 ENVO:00002263 True False garden soil \n", + "200 ENVO:00005746 True False savanna soil \n", + "204 ENVO:00005772 True False orchard soil \n", + "205 ENVO:00005772 True False orchard soil \n", + "216 ENVO:01001525 True False hard-frozen soil \n", + "220 ENVO:01001527 True False plastic-frozen soil \n", + "227 ENVO:00000044 False False peatland \n", + "228 ENVO:00000258 False False alluvial plain \n", + "229 ENVO:00000314 False False alluvial fan \n", + "285 ENVO:04000011 False False bare soil surface layer \n", + "286 ENVO:06105272 False False loamy sand \n", + "\n", + " p plab p_lab_or_id \\\n", + "11 BFO:0000050 part of part of \n", + "32 RO:0001025 located in located in \n", + "34 RO:0002473 composed primarily of composed primarily of \n", + "37 BFO:0000050 part of part of \n", + "63 BFO:0000050 part of part of \n", + "68 RO:0001025 located in located in \n", + "70 BFO:0000050 part of part of \n", + "77 RO:0001025 located in located in \n", + "84 BFO:0000050 part of part of \n", + "88 BFO:0000050 part of part of \n", + "92 BFO:0000050 part of part of \n", + "99 RO:0002220 adjacent to adjacent to \n", + "106 BFO:0000050 part of part of \n", + "110 RO:0002473 composed primarily of composed primarily of \n", + "112 RO:0001025 located in located in \n", + "115 RO:0001025 located in located in \n", + "123 BFO:0000050 part of part of \n", + "125 BFO:0000050 part of part of \n", + "135 BFO:0000050 part of part of \n", + "138 BFO:0000051 has part has part \n", + "142 RO:0002220 adjacent to adjacent to \n", + "147 RO:0001025 located in located in \n", + "179 BFO:0000050 part of part of \n", + "181 BFO:0000050 part of part of \n", + "183 BFO:0000050 part of part of \n", + "184 RO:0001025 located in located in \n", + "200 RO:0001025 located in located in \n", + "204 BFO:0000050 part of part of \n", + "205 RO:0001025 located in located in \n", + "216 BFO:0000051 has part has part \n", + "220 BFO:0000051 has part has part \n", + "227 RO:0002473 composed primarily of composed primarily of \n", + "228 RO:0002473 composed primarily of composed primarily of \n", + "229 RO:0002473 composed primarily of composed primarily of \n", + "285 RO:0002473 composed primarily of composed primarily of \n", + "286 BFO:0000051 has part has part \n", + "\n", + " relation_is_reasonable o o_is_soil o_is_reasonable_other \\\n", + "11 True ENVO:00000134 False False \n", + "32 True ENVO:00000111 False False \n", + "34 True ENVO:00002982 False False \n", + "37 True ENVO:01000983 False False \n", + "63 True ENVO:00000297 False False \n", + "68 True ENVO:01000447 False False \n", + "70 True ENVO:00005745 False False \n", + "77 True ENVO:00000106 False False \n", + "84 True ENVO:00000114 False False \n", + "88 True ENVO:00000233 False False \n", + "92 True ENVO:00000108 False False \n", + "99 True ENVO:00000033 False False \n", + "106 True ENVO:00000081 False False \n", + "110 True ENVO:01000001 False False \n", + "112 True ENVO:00000266 False False \n", + "115 True ENVO:00000262 False False \n", + "123 True ENVO:00000176 False False \n", + "125 True ENVO:00000164 False False \n", + "135 True ENVO:01001524 False False \n", + "138 True ENVO:01000277 False False \n", + "142 True ENVO:01000540 False False \n", + "147 True ENVO:01000181 False False \n", + "179 True ENVO:00000077 False False \n", + "181 True ENVO:00000170 False False \n", + "183 True ENVO:00000011 False False \n", + "184 True ENVO:00000011 False False \n", + "200 True ENVO:00000261 False False \n", + "204 True ENVO:00000115 False False \n", + "205 True ENVO:00000115 False False \n", + "216 True ENVO:01000277 False False \n", + "220 True ENVO:00002006 False False \n", + "227 True ENVO:00005774 True False \n", + "228 True ENVO:00002871 True False \n", + "229 True ENVO:00002871 True False \n", + "285 True ENVO:01001616 True False \n", + "286 True ENVO:00002258 True False \n", + "\n", + " olab slab_olab_cosine sole_soil \n", + "11 permafrost 0.358569 cryosol \n", + "32 forested area 0.585369 forest soil \n", + "34 clay 0.666667 clay soil \n", + "37 technosphere 0.673575 technosol \n", + "63 paddy field 0.829156 paddy field soil \n", + "68 roadside 0.784465 roadside soil \n", + "70 allotment garden 0.872872 allotment garden soil \n", + "77 grassland area 0.714286 grassland soil \n", + "84 agricultural field 0.596285 field soil \n", + "88 swamp ecosystem 0.473879 alluvial swamp soil \n", + "92 meadow ecosystem 0.678401 meadow soil \n", + "99 pond 0.666667 pond soil \n", + "106 mountain 0.632456 mountain forest soil \n", + "110 mud 0.547723 muddy soil \n", + "112 pasture 0.763763 pasture soil \n", + "115 steppe 0.738549 steppe soil \n", + "123 elevated landform 0.511891 upland soil \n", + "125 rubber plantation 0.879049 rubber plantation soil \n", + "135 frozen land 0.727273 frozen soil \n", + "138 water ice 0.458831 friable-frozen soil \n", + "142 troposphere 0.402015 bare soil \n", + "147 mangrove biome 0.858395 mangrove biome soil \n", + "179 agricultural ecosystem 0.775632 agricultural soil \n", + "181 dune 0.666667 dune soil \n", + "183 garden 0.738549 garden soil \n", + "184 garden 0.738549 garden soil \n", + "200 savanna 0.763763 savanna soil \n", + "204 orchard 0.763763 orchard soil \n", + "205 orchard 0.763763 orchard soil \n", + "216 water ice 0.416667 hard-frozen soil \n", + "220 liquid water 0.529813 plastic-frozen soil \n", + "227 peat soil 0.589256 peat soil \n", + "228 alluvial soil 0.815374 alluvial soil \n", + "229 alluvial soil 0.720577 alluvial soil \n", + "285 bare soil 0.625543 bare soil \n", + "286 loam 0.632456 loam " + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ss_is_soils_is_reasonable_otherslabpplabp_lab_or_idrelation_is_reasonableoo_is_soilo_is_reasonable_otherolabslab_olab_cosinesole_soil
11ENVO:00002236TrueFalsecryosolBFO:0000050part ofpart ofTrueENVO:00000134FalseFalsepermafrost0.358569cryosol
32ENVO:00002261TrueFalseforest soilRO:0001025located inlocated inTrueENVO:00000111FalseFalseforested area0.585369forest soil
34ENVO:00002262TrueFalseclay soilRO:0002473composed primarily ofcomposed primarily ofTrueENVO:00002982FalseFalseclay0.666667clay soil
37ENVO:00002275TrueFalsetechnosolBFO:0000050part ofpart ofTrueENVO:01000983FalseFalsetechnosphere0.673575technosol
63ENVO:00005740TrueFalsepaddy field soilBFO:0000050part ofpart ofTrueENVO:00000297FalseFalsepaddy field0.829156paddy field soil
68ENVO:00005743TrueFalseroadside soilRO:0001025located inlocated inTrueENVO:01000447FalseFalseroadside0.784465roadside soil
70ENVO:00005744TrueFalseallotment garden soilBFO:0000050part ofpart ofTrueENVO:00005745FalseFalseallotment garden0.872872allotment garden soil
77ENVO:00005750TrueFalsegrassland soilRO:0001025located inlocated inTrueENVO:00000106FalseFalsegrassland area0.714286grassland soil
84ENVO:00005755TrueFalsefield soilBFO:0000050part ofpart ofTrueENVO:00000114FalseFalseagricultural field0.596285field soil
88ENVO:00005758TrueFalsealluvial swamp soilBFO:0000050part ofpart ofTrueENVO:00000233FalseFalseswamp ecosystem0.473879alluvial swamp soil
92ENVO:00005761TrueFalsemeadow soilBFO:0000050part ofpart ofTrueENVO:00000108FalseFalsemeadow ecosystem0.678401meadow soil
99ENVO:00005764TrueFalsepond soilRO:0002220adjacent toadjacent toTrueENVO:00000033FalseFalsepond0.666667pond soil
106ENVO:00005769TrueFalsemountain forest soilBFO:0000050part ofpart ofTrueENVO:00000081FalseFalsemountain0.632456mountain forest soil
110ENVO:00005771TrueFalsemuddy soilRO:0002473composed primarily ofcomposed primarily ofTrueENVO:01000001FalseFalsemud0.547723muddy soil
112ENVO:00005773TrueFalsepasture soilRO:0001025located inlocated inTrueENVO:00000266FalseFalsepasture0.763763pasture soil
115ENVO:00005777TrueFalsesteppe soilRO:0001025located inlocated inTrueENVO:00000262FalseFalsesteppe0.738549steppe soil
123ENVO:00005786TrueFalseupland soilBFO:0000050part ofpart ofTrueENVO:00000176FalseFalseelevated landform0.511891upland soil
125ENVO:00005788TrueFalserubber plantation soilBFO:0000050part ofpart ofTrueENVO:00000164FalseFalserubber plantation0.879049rubber plantation soil
135ENVO:01001526TrueFalsefrozen soilBFO:0000050part ofpart ofTrueENVO:01001524FalseFalsefrozen land0.727273frozen soil
138ENVO:01001528TrueFalsefriable-frozen soilBFO:0000051has parthas partTrueENVO:01000277FalseFalsewater ice0.458831friable-frozen soil
142ENVO:01001616TrueFalsebare soilRO:0002220adjacent toadjacent toTrueENVO:01000540FalseFalsetroposphere0.402015bare soil
147ENVO:02000138TrueFalsemangrove biome soilRO:0001025located inlocated inTrueENVO:01000181FalseFalsemangrove biome0.858395mangrove biome soil
179ENVO:00002259TrueFalseagricultural soilBFO:0000050part ofpart ofTrueENVO:00000077FalseFalseagricultural ecosystem0.775632agricultural soil
181ENVO:00002260TrueFalsedune soilBFO:0000050part ofpart ofTrueENVO:00000170FalseFalsedune0.666667dune soil
183ENVO:00002263TrueFalsegarden soilBFO:0000050part ofpart ofTrueENVO:00000011FalseFalsegarden0.738549garden soil
184ENVO:00002263TrueFalsegarden soilRO:0001025located inlocated inTrueENVO:00000011FalseFalsegarden0.738549garden soil
200ENVO:00005746TrueFalsesavanna soilRO:0001025located inlocated inTrueENVO:00000261FalseFalsesavanna0.763763savanna soil
204ENVO:00005772TrueFalseorchard soilBFO:0000050part ofpart ofTrueENVO:00000115FalseFalseorchard0.763763orchard soil
205ENVO:00005772TrueFalseorchard soilRO:0001025located inlocated inTrueENVO:00000115FalseFalseorchard0.763763orchard soil
216ENVO:01001525TrueFalsehard-frozen soilBFO:0000051has parthas partTrueENVO:01000277FalseFalsewater ice0.416667hard-frozen soil
220ENVO:01001527TrueFalseplastic-frozen soilBFO:0000051has parthas partTrueENVO:00002006FalseFalseliquid water0.529813plastic-frozen soil
227ENVO:00000044FalseFalsepeatlandRO:0002473composed primarily ofcomposed primarily ofTrueENVO:00005774TrueFalsepeat soil0.589256peat soil
228ENVO:00000258FalseFalsealluvial plainRO:0002473composed primarily ofcomposed primarily ofTrueENVO:00002871TrueFalsealluvial soil0.815374alluvial soil
229ENVO:00000314FalseFalsealluvial fanRO:0002473composed primarily ofcomposed primarily ofTrueENVO:00002871TrueFalsealluvial soil0.720577alluvial soil
285ENVO:04000011FalseFalsebare soil surface layerRO:0002473composed primarily ofcomposed primarily ofTrueENVO:01001616TrueFalsebare soil0.625543bare soil
286ENVO:06105272FalseFalseloamy sandBFO:0000051has parthas partTrueENVO:00002258TrueFalseloam0.632456loam
\n", + "
" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 25 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "Convert the filtered dataframe back to a list of dicts, for more straightforward iterating", + "id": "1a3746e5b7b08348" + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:44.285912Z", + "start_time": "2024-12-17T21:08:44.280088Z" + } + }, + "cell_type": "code", + "source": "reasonable_lod = reasonable_frame.to_dict(orient='records')", + "id": "e4a0f888ab91822c", + "outputs": [], + "execution_count": 26 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "Create plotting groups based on relationship predicates, preferably by label. (By relationship CURIe if there is no label.)", + "id": "709d5cdfedc0579c" + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:44.291944Z", + "start_time": "2024-12-17T21:08:44.287724Z" + } + }, + "cell_type": "code", + "source": [ + "# Extract unique groups from 'p_lab_or_id' and map each one to an x-axis position\n", + "groups = {item['p_lab_or_id'] for item in reasonable_lod}\n", + "group_positions = {group: idx + 1 for idx, group in\n", + " enumerate(groups)} # Assign positions for each unique 'p_lab_or_id' group" + ], + "id": "24ca2483be9c0d68", + "outputs": [], + "execution_count": 27 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "Helper function to wrap labels", + "id": "15386872d501fbb5" + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:44.303500Z", + "start_time": "2024-12-17T21:08:44.299942Z" + } + }, + "cell_type": "code", + "source": [ + "def wrap_label(label, width=15):\n", + " return \"\\n\".join(textwrap.wrap(label, width))" + ], + "id": "884082b3cc912b24", + "outputs": [], + "execution_count": 28 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "Define a set of colors, for making it easier to distinguish close or overlapping text on the plot", + "id": "acdbbfb62b144b46" + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:44.308589Z", + "start_time": "2024-12-17T21:08:44.305412Z" + } + }, + "cell_type": "code", + "source": "colors = ['#FF5733', '#33FF57', '#3357FF', '#FF33A1', '#FF8F33', '#33FFF2', '#E1FF33']", + "id": "cbca5e490e88d571", + "outputs": [], + "execution_count": 29 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:44.324252Z", + "start_time": "2024-12-17T21:08:44.310551Z" + } + }, + "cell_type": "code", + "source": [ + "%matplotlib inline\n", + "plt.rcParams[\"figure.figsize\"] = (20, 15) # Width, Height in inches\n", + "plt.rcParams[\"figure.dpi\"] = 100 # Increase resolution for clarity" + ], + "id": "c3264abd9fe82c49", + "outputs": [], + "execution_count": 30 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:08:44.835289Z", + "start_time": "2024-12-17T21:08:44.327373Z" + } + }, + "cell_type": "code", + "source": [ + "# Plot each label with more random jitter and random color\n", + "for item in reasonable_lod:\n", + " x = group_positions[item['p_lab_or_id']]\n", + " y = item['slab_olab_cosine']\n", + " label = f\"{item['slab']} ({item['olab']})\"\n", + " wrapped_label = wrap_label(label, width=50)\n", + "\n", + " # Add increased random jitter to the label position\n", + " y_jitter = random.uniform(-0.2, 0.0) # Larger random jitter in y-axis\n", + "\n", + " # Select a random color for the label\n", + " color = random.choice(colors) # Alternatively, use color = (random.random(), random.random(), random.random())\n", + "\n", + " # # Plot the label with random color\n", + " plt.text(x, y + y_jitter , wrapped_label, ha='right', va='bottom', fontsize=14, color=color)\n", + "\n", + "# Increase x-tick label size and rotate\n", + "plt.xticks(ticks=list(group_positions.values()), labels=list(group_positions.keys()), rotation=45, ha='right',\n", + " fontsize=12)\n", + "\n", + "# Configure other plot aesthetics\n", + "plt.xlabel(\"Predicate\", fontsize=12)\n", + "plt.ylabel(\"subject/object label cosine similarity\", fontsize=12)\n", + "plt.title(\"Soil Relationships (Excluding 'rdfs:subClassOf')\", fontsize=14)\n", + "\n", + "\n", + "plt.show()" + ], + "id": "ecc4cd8784643118", + "outputs": [ + { + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAABnQAAAVgCAYAAAB2ULNOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/GU6VOAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd5QUVd6H8ad7IjlnBAQEExINYMAMiooYwYRp1VV3dU2vGV1z2lXXsEYwgXFBRARRAUExEBUFI0qQHAaYHOr9g+52eqYHhiStPp9zPEerq6tu3apu4X773l8oCIIASZIkSZIkSZIkJa3wjm6AJEmSJEmSJEmSNs5AR5IkSZIkSZIkKckZ6EiSJEmSJEmSJCU5Ax1JkiRJkiRJkqQkZ6AjSZIkSZIkSZKU5Ax0JEmSJEmSJEmSkpyBjiRJkiRJkiRJUpIz0JEkSZIkSZIkSUpyBjqSJEmSJEmSJElJzkBHkiRJ29zBBx9MKBSK2zZhwgRCoRC33HLLjmlUAq1ataJVq1a/+3NsqZ9++olQKMTZZ59d6fckurc70owZM0hJSWHo0KE7uikJbe/7X9E9TLb7tK1t7Ptk2LBhdOnShRo1ahAKhbj88st/8/ZtrlAoxMEHH7zdz5PM30dbY3Pu+Y033kiNGjVYunTpb9dASZKkbcRAR5Ik6U8oOzubO++8ky5dulC9enUyMjJo3rw5Bx54INdddx0//PDDjm4it9xyC6FQKO6fqlWrsueee3LDDTewdu3aHd1EAM4++2xCoRA//fTTjm7Kn9IVV1zBrrvuSv/+/eO2l312Ev2j386QIUMIhUJMmDBhu55nypQpnH766axdu5a//vWvDBo0iN69e2/Xc+5IRUVFDB48mKOPPprGjRuTnp5OrVq12Hvvvbnxxhv5+eefd3QTN8vw4cM57rjjaNKkCenp6TRo0IDDDz+cZ599luLi4oTv2dg9b9WqVbmg7MorryQcDjNo0KDtfTmSJEnbXOqOboAkSZJ+W+vWreOAAw7giy++oG3btpxxxhnUq1ePFStW8Nlnn3H33XfTpk0b2rRps8XneP7558nJydkm7T3xxBPZc889AVi6dCmjR4/mzjvvZNSoUXz22WdkZGRsk/NsL++///6ObsI2tS3v7db64IMPmDBhAs888wzhcPnfqtWrV49LL710B7Rsx0um+/RbevvttwmCgOeff54ePXrs6OZsVz///DN9+/Zl1qxZNGrUiCOOOIKddtqJ7Oxspk+fzt13383999/P7Nmzadu27Y5u7kZlZ2dz2mmnMXLkSOrUqUOfPn3YaaedWL58OaNHj+a8887jqaeeYuTIkTRo0CDuvZt7z+vUqcP555/PQw89xHXXXUfLli2312VJkiRtcwY6kiRJfzIPPvggX3zxBeeffz5PPvlkuZkK8+bNIz8/f6vO0aJFi616f2knnXRS3OyLvLw89ttvP2bNmsXQoUM555xzttm5toetCcaS0ba8t1vr8ccfp0qVKpx00kkJX69fv35SLfH3W0qm+/Rb+uWXXwBo2rTpDm7J9rVu3Tp69erFN998w9VXX81tt91WLtz+/vvvueKKK1i/fv0OamXlnX322YwcOZI+ffrw4osvUrt27dhreXl5/O1vf+Ppp5/m+OOPZ+LEiaSm/jqUsSX3/IwzzuBf//oXTz/9NLfddts2uw5JkqTtzSXXJEmS/mSmTJkCwCWXXJJw2amdd96ZXXfdtdz22bNnc8opp9CwYUMyMjLYeeedufzyy1m5cmW5fbdn/Y7MzExOP/10AKZNm1bu9Xnz5nH++efTokULMjIyaNKkCWeffXallx765ZdfGDRoEPvtt1/sWlu1asXFF1/MsmXL4vZt1aoVzz33HLCh36JLeZVe4qeimhXZ2dkMGjSIXXfdlczMTOrWrUufPn346KOPyu0bXX5uwoQJDB06lE6dOlGlShWaNGnCZZddRm5ubrn3vPHGG/Ts2ZOGDRuSmZlJ06ZNOfzww3njjTcSXvf3339Pv379qFOnDtWqVePwww9n1qxZ5fZLdG+jy2kNGTKEN998k3322YeqVavSoEEDzj333IS1KqZPn85JJ50Uu08NGjRg77335o477kjYvrJWr17Nm2++Sa9evahZs2al3lORl19+mVAoxNFHH00QBJV6bd26ddx6663stddeVK1alVq1atG5c2duuukmCgsLN3q+jS3TV/pel1ZcXMw999xD27ZtyczMpG3bttx1112UlJQkPMem7tO7775Ljx49qFq1KvXq1WPgwIEJP8sATzzxBHvssQeZmZnstNNOXHPNNeTl5W113ZfS9X/mzJlDv379qFevXlzf5Obmcu2117LTTjuRmZnJnnvuyVNPPVXuWNGaOoMHDwbiP4/RY23tM1dSUsLTTz/NPvvsQ926dalSpQrNmzfn2GOPjbtfpfu5onZWFDQuXLiQAQMGUL9+fapWrcr+++/Pe++9V26/+++/n2+++YYzzjiDe++9N+FMxbZt2zJy5Eh23333jV7X5nznAWRlZXHzzTez++67U716dWrWrEnbtm0ZOHBg3PdsXl4eDzzwAB07dqRWrVpUq1aNVq1accopp8R9t7z33nu8/vrr7LLLLrz22mtxYQ5s+M5/8sknOeCAA/j44495/vnn4/pyY/e8Ip07d6Zt27YJ75EkSVIyc4aOJEnSn0y9evUA+Pbbb+nUqVOl3jN58mR69epFQUEBJ510Eq1atWLKlCk89NBDjBo1ik8++YT69etvx1YnVvpX2gCffvopvXr1Ijs7m2OOOYZddtmFn376iZdeeol33nmHKVOm0Lp1640e88MPP+SBBx7gsMMOY9999yUtLY0ZM2bw+OOPM3bsWKZPn06tWrUAuPzyyxkyZAizZs3isssuiw1EbqroeF5eHoceeiifffYZXbp04fLLL2fp0qW88sorjB07lmHDhnHyySeXe98jjzzCmDFj6Nu3L4ceeihjxozh4YcfZsWKFbz00kux/R5//HEuvvhimjRpEhskX7JkCZ999hnDhw/nxBNPjDvuTz/9xH777ccee+zBueeeyw8//MCbb77JIYccwpw5c2jUqNFGryfqjTfeYOzYsZx00kkcfvjhfPLJJwwePJhJkybx2WefUadOHQBmzpxJjx49SElJoW/fvrRs2ZI1a9bw9ddf8+STT3LDDTds8lwffvghhYWF7LfffpVq28b079+fMWPG8Nxzz/HQQw/FCqr/9NNPXHTRRTRq1Cg2SA+wbNkyevbsydy5c+nUqRN//etfKSkpYe7cudxzzz1ceeWV5Qalt9YFF1zAs88+y84778wll1xCXl4e//rXv/j44483+1gjR47k7bff5thjj6VHjx58+OGHPP/88/zwww9Mnjw5bt+bb76Z2267jUaNGvGXv/yFtLQ0Xn31VebOnbutLo3vv/+e/fbbjw4dOnD22WezcuVK0tPTKSkp4bjjjuO9996jQ4cOnHbaaaxcuZJ//OMfHHLIIXHHaNWqFYMGDWLEiBHlPo+1a9ferGduyJAhnHPOOQwcODBuwP+6667j3nvvpU2bNpx22mnUqFGDRYsWMXnyZN57772tCrdgQ0i5//7706BBA84//3yWL1/OK6+8Qu/evXn99dc5/vjjY/s+++yzwIb7synp6ekbfX1zvvOCIKBXr158+umn7L///vTu3ZtwOMzPP//MyJEjOfPMM2NLmA0cOJBXX32Vvfbai3POOYeMjAwWLFjA+PHj+fzzz+nYsSNALJC58sorqVKlSsI2hkIhbrjhBo466iieffZZzj333E3e803p3r07L7zwAt9++y3t2rXb5P6SJElJIZAkSdKfyptvvhkAQY0aNYIrr7wyGDt2bLBixYoK9y8uLg7atGkTAMGYMWPiXrv66qsDIDj33HPjtvfs2TMo+0fN8ePHB0AwaNCgSrVz0KBBARAMGzYsbntubm7QsWPHAAhee+212PaCgoKgVatWQY0aNYLp06fHvWfSpElBSkpKcMwxx8Rtb9myZdCyZcu4bUuXLg3WrVtXrj3PPfdcAAS333573PaBAwcGQDBv3ryE15HoHLfeemsABKeffnpQUlIS2z59+vQgPT09qF27drB27dpyfVGrVq1g7ty5se05OTlBu3btgnA4HCxatCi2vUuXLkF6enqwdOnScu0pfa/nzZsXAAEQ3H333XH73XjjjQEQ3HXXXXHbE93bwYMHx45T9hm59tprAyC49NJLY9uuuOKKAAhGjBix0fZtTPTZGzduXMLXgaBevXrBoEGDEv5T9rlat25d0LZt2yAjIyOYMWNGUFRUFPTo0SMIhULlrunEE08MgOD6668vd94lS5YEhYWFsf9OdP839sxE7/X48eNj26KfnY4dOwbr16+PbV+4cGFQv379AAgGDhwYd5yN3afU1NRg8uTJse1FRUXBwQcfHADBlClTYtu/+eabICUlJWjWrFncs7R27dpg9913D4CgZ8+e5a6hsko/fzfffHO516Pt7d27d1BUVBTb/sUXXwTp6ekJv08q6tvNeeai5y3bp3Xr1g2aNm0aZGdnlzvGypUry71/8ODB5far6Hsw2g+nnXZa3HfCrFmzgvT09KBBgwZBTk5OEARB8NNPPwVA0Lx583LH35St/c774osvAiA4/vjjy+2fl5cXO86aNWuCUCgUdO3aNe7eBcGG52316tWx/27VqlUABN99991G256TkxOkpqYG6enpccfc1HdwRR566KEACJ599tnNep8kSdKO5JJrkiRJfzLHHXccDzzwAEEQ8MADD9Cr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YujQoRx44IE8//zznH766bH9Nvf+buqayn5+WrZsSbNmzViwYEG5JTI315Z859WrV4///Oc/LFq0iK+//ppHHnmEunXrMmjQIO69997YflWrVuX222/nxx9/5Mcff+SZZ56hffv2PPTQQ/zjH/+I7dejRw8A3n///Y22deLEiRQVFbH33nsnXPZuc0W/OyoKDSVJkpKRgY4kSZJiQqFQXI0OIFaPZsKECeX2z87OZurUqVSpUiWutsv2lJmZyf33308QBFx77bWx7fvuuy8AU6ZM2eJjr1ixgqysLLp3715uVsLUqVMTLq8UHVisbEhSs2ZNWrduzffff58wFIj2c6dOnTav8RWIzsx55ZVXOPTQQ/n666/5/vvvt8mxy5o0aVK5bevXr2fmzJmx6y6rSpUqHHzwwTzwwANcf/315ObmMm7cuE2eq0OHDgDbdKm/66+/nmnTpnH99dfzwgsvsGrVKs4888y45aS6detGOBxm/PjxW7x8VJ06dYDEoVCiZbU6duwIJO7fRNu2leh5P/roo3KvRWe8bU8dO3YkOzs7LriN2prr3tJnrrSmTZsyYMAAxowZQ9u2bXnvvfdi3w+be3+j5s+fz88//1xue/RaS9cGi9a4uv322zfZ1o0F0VvynRcVCoXYbbfduOSSS2L9V3q5ztJ23nlnzj33XCZOnEj16tXj9jv77LMB+Ne//lXhjLsgCGI1jc4999wK27Q5ot8d0e8SSZKk3wMDHUmSpD+ZJ554osJC9yNGjGDOnDnUrl2bPffcE9hQK6NNmza888475Ypj33777axcuZIBAwYkrIGxvfTt25cuXbowbty42GBn3759adGiBf/617/48MMPy72nsLCQyZMnb/S4DRs2pEqVKkyfPj1uSaDVq1fzt7/9LeF7onUYNrVcUGkDBw6ksLCQ6667jiAIYtu/+OILhgwZQq1atTj++OMrfbyyJkyYEHdc2HD90V+kZ2ZmbvGxN+a9995j7NixcdvuuOMO1qxZw1lnnRWbuTBlypSEA7fRmQiVaV90ptWnn366tc0GYNy4cTzwwAPst99+DBo0iGOOOYZLLrmECRMmxNXRadSoESeeeCI//PADt956a7njLFu2LOHMjNL23ntvAIYMGRK3/fXXX2fixInl9j/zzDMB+Oc//xm3ZOCiRYt46KGHKn2Nm6t///6Ew2EeeOCBuNlB2dnZ3HHHHdvtvFHR677hhhviAtMvv/ySF154YbOOtTnPXFZWFnPnzmXx4sWxbfn5+QlDrOzsbNavX09aWlrs+e7atSuhUIiXX3457pzffffdRu9XcXEx119/fbnvhBdeeIEGDRpw9NFHx7ZfddVVtG/fnueff57rr78+4VKQ8+bN4/jjj+frr7+u8Jyb+533008/8dNPP5XbXrYfly9fzuzZs8vtt3r1avLz8+P6+4gjjuCEE07g22+/5ZRTTik3iyk/P5+//vWvfPjhh/To0YOzzjqrwuvZHJ9++impqamxGUKSJEm/B6k7ugGSJEn6bb3zzjtcdNFFtG3blv3335+mTZuSnZ3NjBkzmDRpEuFwmMcee4yMjAxgw/JBQ4YMoVevXhx99NGcfPLJtGzZkilTpjBhwgTatGlTrnD8b+GWW27huOOO4+abb2b8+PFkZGTw+uuvc9RRR9GzZ08OPfRQOnToQCgU4ueff2bSpEnUq1ePuXPnVnjMcDjMxRdfzAMPPEDHjh059thjWbt2Le+88w4tW7akadOm5d5z6KGHcv/993PBBRdw4oknUq1aNVq2bBkbjE7kmmuu4e233+aFF15gzpw5HHbYYSxbtoxXXnmFoqIinnrqKWrUqLHFfXP88cdTs2ZN9ttvP1q2bElhYSHjxo3j66+/5qSTTkpYeH1bOOaYYzj22GM56aSTaNWqFZ988gnjx4+nTZs2/POf/4ztd8899zB+/HgOOuggdt55ZzIzM5k+fTrvv/8+rVu3pl+/fps811577UXr1q03OrNixYoV3HLLLRW+ftFFF9G4cWNWrFjBwIEDqVGjBkOHDo3Vk7n//vuZOHEigwYN4rDDDovNAnvssceYPXs2d9xxB6NHj+bQQw8lCAK+/fZb3n33XZYuXRpbmi2Rvn370qZNG4YMGcKCBQvo3Lkzc+bM4YMPPuDoo49m9OjRcfsfcsghnHPOOQwePJgOHTrQr18/8vPzeeWVV9hvv/0YNWrUJvtrS7Rv355rr72WO++8kw4dOnDKKaeQmprK//73Pzp06MDs2bNjIcb2MHDgQIYOHcqYMWPo3LkzRx11FKtWrWLYsGEceeSRm3Xdm/PMDR8+nHPOOYeBAwfGQrfc3Fz2339/2rVrR9euXWnRogXr169n1KhRLFmyhKuuuir2nRmdvTN06FC6du1K7969WbZsGcOHD6d379688cYbCdu41157MXnyZPbee28OP/xwli9fHvtOePLJJ2N1o2BDDbSxY8fSt29f7rrrLgYPHsyRRx5J8+bNycnJYcaMGXz00UekpqZy//33V9gvm/udN3PmTE444QT22Wcfdt99dxo3bsyiRYsYMWIE4XA4tpTaokWL6Ny5Mx07dmSvvfaiWbNmrFy5kjfffJPCwkKuuuqquOM+99xz5OXl8dZbb9G6dWv69OnDTjvtxPLlyxk9ejSLFi1i3333Zfjw4bHP59ZYv349n3zyCUcccUS5WamSJElJLZAkSdKfyty5c4N77703OOKII4Kdd945yMzMDDIzM4M2bdoEAwcODKZOnZrwfV988UVw0kknBfXr1w/S0tKCli1bBpdddlmwfPnycvv27NkzKPtHzfHjxwdAMGjQoEq1c9CgQQEQDBs2rMJ9unXrFgDB+++/H9u2cOHC4LLLLgt22WWXICMjI6hZs2aw2267Beeff37cfkEQBC1btgxatmwZt62goCC44447Yu9v0aJFcOWVVwbr1q1LuH8QBMG9994b7LLLLkFaWloABD179tzoOYIgCNavXx/cdNNNQbt27YL09PSgdu3awVFHHRVMmjSpwr4YP358udcGDx4cAMHgwYNj2x577LHguOOOC1q2bBlkZmYG9erVC/bZZ5/g8ccfDwoKCmL7zZs3LwCCgQMHljtuEATlriUIEt/b0m0YMWJEsPfeewdVqlQJ6tWrF5x99tnB4sWL4/YfM2ZMcNZZZwXt27cPatSoEVSvXj3Yfffdg+uvvz7h81SRe+65JwCCTz/9NGHbN/XPjBkzgiAIgmOOOSYAghdffLHccb788ssgMzMzaN26dbB27drY9qysrOCmm24Kdt111yAjIyOoVatW0KlTp+Dmm2+O6+OK7v+8efOC448/PqhRo0ZQrVq14LDDDgs+//zzCu91UVFRcNdddwWtW7cO0tPTg9atWwd33nln8P333ye8h5u6T2Vt7PP52GOPBbvttluQnp4eNG/ePLjqqquCBQsWBEDQt2/fcvtX1qaevyAIguzs7OCaa64JmjVrFmRkZAS777578OSTT1bY3oEDBwZAMG/evLjtm/PMRfupdLsKCgqCe+65JzjyyCOD5s2bB+np6UGjRo2Cgw46KBg6dGhQUlISd4ycnJzg73//e9CoUaMg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QHq2zu+Ps5vsZjc9ZBf4vJ4nz5KZ2ZnvlEA4nz3nnHvuubRu3ZoHH3wQMHP3PP3001x77bVcffXV/P333zzwwANcc8011a5XRERERERERERERESkOhIu0JkxYwaWZVXrPdXdHmDMmDFs2bKFO++8k40bN9K7d2+mTZtG8+bNAVi9ejUOR2kHpn322Yfp06dz/fXXc8ABB9C6dWuuvfZabr755mofW0REREREREREREREpDos27bteBexp6jO5EYiIiIiIiIiIiIiIrJ7q05usEfOoSMiIiIiIiIiIiIiIrIrUaAjIiIiIiIiIiIiIiKS4BJuDh2Hw4HD4aCwsJDk5GQcDkelc+RYloXP56unCkVEREREREREREREROpXwgU6d955J5Zl4XK5Ir4XERERERERERERERHZU1m2bdvxLmJPUZ3JjUREREREREREREREZPdWndxAc+iIiIiIiIiIiIiIiIgkuIQbcq083333HStWrGD79u2U7VRkWRbXX399nCoTERERERERERERERHZuRI+0Jk7dy5jxoxh2bJlUUFOiAIdERERERERERERERHZnSV8oHPxxRezefNmnn/+eQ4++GCysrLiXZKIiIiIiIiIiIiIiEi9SvhAZ9GiRdxzzz1ccskl8S5FREREREREREREREQkLhzxLqAynTt3xrKseJchIiIiIiIiIiIiIiISNwkf6IwbN45nnnmGdevWxbsUERERERERERERERGRuEj4IddGjx5NcXExXbt2ZdiwYbRp0wan0xmxjWVZ/O9//4tThSIiIiIiIiIiIiIiIjuXZdu2He8iKjJz5kyOP/548vLyyt3Gsiz8fn89VlUzubm5ZGVlkZOTQ2ZmZrzLERERERERERERERGROKpObpDwQ65dffXVZGZmMn36dHbs2EEgEIj62hXCHBERERERERERERERkZpK+CHXli1bxkMPPcTw4cPjXYqIiIiIiIiIiIiIiEhcJHwPnR49epCTkxPvMkREREREREREREREROIm4QOdxx57jPHjx/Pbb7/FuxQREREREREREREREZG4SPgh1x5//HEaNmzIIYccQvfu3Wnbti1OpzNiG8uy+OSTT+JUoYiIiIiIiIiIiIiIyM6V8IHO/PnzsSyLtm3bkp+fz+LFi6O2sSwrDpWJiIiIiIiIiIiIiIjUj4QPdP755594lyAiIiIiIiIiIiIiIhJXCT+HjoiIiIiIiIiIiIiIyJ4u4XrorF69GoC2bdtGfF+Z0PYiIiIiIiIiIiIiIiK7m4QLdNq1a4dlWRQVFZGcnFzyfWX8fn89VCciIiIiIiIiIiIiIlL/Ei7QeeWVV7Asi6SkpIjvRURERERERERERERE9lSWbdt2vIvYU+Tm5pKVlUVOTg6ZmZnxLkdEREREREREREREROKoOrmBo55qqnMej4eCgoJ4lyEiIiIiIiIiIiIiIrLTJXyg8/bbb3P99ddHLLv77rtp0KABjRo14qSTTiI/Pz9O1YmIiIiIiIiIiIiIiOx8CR/oPP744xE9cX766Sfuvvtujj76aK6//nqmTZvG/fffH8cKRUREREREREREREREdi5XvAuozPLlyznvvPNKvn/rrbdo0aIFH330ES6Xi0AgwAcffMCDDz4YxypFRERERERERERERER2noTvoeN2u0lNTS35/osvvuDYY4/F5TJZVPfu3Vm7dm28yhMREREREREREREREdnpEj7Qad++PV999RUAs2bNYtmyZRxzzDEl6zdt2kSDBg3iVZ6IiIiIiIiIiIiIiMhOl/BDrl122WVce+21LF68mLVr19KmTRtGjhxZsv7HH3+kR48ecaxQRERERERERERERERk50r4QOfqq68mNTWVqVOn0q9fP26++WbS0tIAyM7OZuPGjYwdOzbOVYqIiIiIiIiIiIiIiOw8lm3bdryL2FPk5uaSlZVFTk4OmZmZ8S5HRERERERERERERETiqDq5QcLPoSMiIiIiIiIiIiIiIrKnU6AjIiIiIiIiIiIiIiKS4BToiIiIiIiIiIiIiIiIJDgFOiIiIiIiIiIiIiIiIglOgY7IbmT9Zuh/Oox7Nt6V7Fzlnee4Z83y9Zurt7/HX4Nhl0BBUd3VuDNN/tac5+Rv6/e4F98F591ev8cUERERERERERERY5cLdHJycvD7/fEuQ0R2E6s3wHtfwDkjISMt3tUktktPgUXLYfpP8a5ERERERERERERkz7NLBDqzZs3imGOOIT09nb322ouZM2cCsHXrVk444QS+/fbb+BYoIvWqWRN4/3G46oza7+ulD8HlglOPqv2+dncH9YRu7WH8e2Db8a5GRERERERERERkz5Lwgc5PP/3EoEGD+Pvvvzn77LMJBAIl65o2bUpOTg7jx4+PY4UiUt9cLmjXGpo2rt1+duTBV7/A4Qeqd05VHTvI9Gr6fWG8KxEREREREREREdmzuOJdQGVuu+029ttvP3755Rfy8vJ46aWXItYffvjhvPbaa3GqTvZUPj+8MRk+ngFbtpseIyccDsMPgROvhZGHwbgrSreftQg++x7mLYEt2WZZu9Zw0hEw+sjo/fc/HfruB/ddDU9Pgl/nQ3YuPPcf6N8D/IHS42/Ojjx+ebJz4NWP4fs5sGkbpKeZY1x2KnTaJ3LbUVeZ13ceg2ffhq9+hZw82LcVXDwajhxQtesUCMCn38KHX8PajeD2QFZD6NoOzhphziXcp9/CB1/CirXm+w5t4JThMGpo5HbrN8Px10Rf5+qa/iN4vDCsnPPZkQvPvA3fzoLCYujYBi44EfIL4e7n4a6xkbV98g3MnAV/r4JtOZCaDN07wvknRJ/rrEUw9l645GQYcAC88L4Zziy/EGa9bbbJyQ8e/3czv0/o+BX5exW88jHM+dPcs6aN4bB+Zri0Rg1Ltwu/hheNhv+9CbMXg9cHB3SG686BLvtG7//IAfDfN2DyTNNjR0REREREREREROpHwgc6v//+Ow8++CApKSnk5+dHrW/dujUbN26MQ2WyJ7vneZj6PbRuZobq8njhrakw/+/Y27/2KazZCD07Q7MDIa8Qfp4LD7wEqzbA9edEvycnHy64A7IawFEDwe2FBulm3f0vmPAj/Phvfgbzl8Y+/tqNcNk9sCnbhAdD+5uAaMZv8Ms8ExTt3znyPT4/XHU/5BbAEQdBsRu++Blu/R80SIMBvSq/Tk9PgtcnQ5vmcPShphfM5mwTbP22MDLkeHQCvDOtNJwCU9/dz8OSf+Df51d+vOr6fZF57dkpel1hMVx6jwmXDuhiwq9N2+C2J8s/90degc77mqCjcaY515mz4Ir74JEbzHUva/5SE7T17wEnDYONW83yYre5Z8tWm4Clb3dz/Fv/Z+5hLDNnmfWWBUP6Q/O9YOVaeHe6uc8T7oPMBpHvWb8Fzr/DhEXHD4W1m8x+xt4D7z0OezWK3L75XuYrdO1ERERERERERESkfiR8oJOUlBQxzFpZ69ato0GDBuWuF6lrvy0wYU6XdvDK3ZCaYpZfdBKcdUvs99xykQlfwvn8cO1D8PbncMax0KJp5Prla0zvj/9cCs6wwRFnLTJhTpd94eW7IS3VLL/gRDjz5tjHv/NZ2LoDnroVDgkLIy46Cc69He57Ed5+JPI9W7ab3iXj74Kk4N8UxxwKV9wPb06tWqDzyTewd2Oz79B1CskJy2fn/GnCnPat4dV7S4OrS08xYcPb02DYwdBnv8qPWR3zlpgAqWxoAfDaJybMOWkY3H5J6fJRQ8w1iOXdx6Pv89btcM5t8OTE2IHOrwvgzrEmTIk4/qcmzDnpCLj90tLlxw2Gqx+M3s+OPLjzGdML5+W7oeXepeum/wS3PwnPvwc3XRD5vjl/mrmIzj+hdNlz78DLH5leOOHLQ7p3gG9+h3Wbo89XREREREREREREdo6En0NnwIABvP/++zHXFRQU8OqrrzJkyJB6rkr2ZJ//YF4vGR0ZUjRtDKcfG/s9sRq9XU44ebgZPm1WjN4OSS649szIMAfM0G0AF59cGuaACSZiHf+vlaYXyIjDIsMcMEOonXiECQ6WrYl+77/OLQ1zwPQ8adkUFi+PfZ6xJLnAEeNvmqywHHbKTPN66SmlYQ6Y3iSXnmz+PHlm1Y9ZFV4fbM+FJlmx13/+g6l97KmRyw/qWX4PmVj3uWljOOJgWL0RNmyJXt+tfXSYAyY0THLBZadFLj+kFxy0f/T2n31nhmW78vTIMAfg6IHmOF/8FLvmc0dFLgv1kFpUzn0OXbPN22Kvl7pRzCxW058dRM4Tt4lLWU2MdHAn2sF4VtOfYmbVeB8+1rOa/mxjXJXf42cr27iLdYxgNQexmv4EyKtxDXVpCzewnlOw8dd4H9sYx2r642N9ybKaXKe6sI5RrGNU5RtWoC6ek7pQneu6lTtYx0hs3PVcpYiIiIiIiEj1JXwPnbvvvpshQ4YwYsQIzjjjDADmzZvHihUreOyxx9iyZQt33HFHnKuUPcnSVea1d7fodb26xn5PQRFMnGLmQlm7CYrKtBtt2R79nlbNoFFm9PK/g8fvE+P4sZYtDA4Dl50D49+LXv9PsL3rn3WRc+k0zIgdUDTbCxaUM7RbWUcNhPe+gDE3wlGHmGHFenYxc8uEW/KPee3XPXofoWHZQte9ruQE24Qbpkevyy80Q5F1aBO7906vrvDL/OjlazfBhE/g94Xmnnq8keu3bI8OW7p3jH38dZvN8ZvGOH7vbmbIunCh+7xwmamjLI/X9OLZkRv5XHXZNzpwa7ZXsI6C6P1A6bBtOxKjXV12Y9u4m2J+IZ2jcWH+grJIruRdO18xsyliJntxPxbOeJcjtZDFxWzgNHKZRBbnx7scERERERERkQolfKBz8MEHM3XqVC6//HLOPfdcAG644QYAOnbsyNSpUznggHI+Li+yExQUgcOKnGA+JFZvD6/PzIXy10ro2s4MmZXV0PS82bAFpnwX3fAPsFc5PUfyC8s/fqz35AQb5X/4w3yVp7hMyNQgLfZ2TgcE7PL3E+6G86DV3qZ3zcsfma+UJDjyELj+7NJgIXRNG8cIsJpkmTlhCoqqdsyqSgm2CbtjXPvQsWLVE6qprDUb4bzbzXv79YDD+pk5gywLZi82Q5tV9T7X5Pih+/zeF7HfE1LkhkZh32fEuM+uYPu0v5zRLt0e81p2GD3ZfTVkDBkcjZMW9XZMGy/F/EoqB9GU++rtuFWRw/M4aUk6w+NdSp1pxnPxLqHONOIqMjkfJ5WPCZnEvqRxGLlMoCFjcFDOP34iIiIiIiIiCSDhAx2AI444giVLljB37lz+/vtvAoEAHTt2pF+/fliWFe/yZA+TkWYCjR150Q3u2TnR28+cZcKcEw6HOy6LXDf9JxPoVEeD9PKPvy3G8UMN9jeeD2OOqd6xasvlhHNGma8t2TD7T5j8rRkebNsOePq20hoDduwh0LJzwbZjBw+10TDD1JebH70udKztubHfG+s+vzUVcgvgnitNaBfugZdMoFNVNTl+6D1vPxrZ02pnCF2z8gIn2f04aYQzIgrc+fxsAwI42bvSbeuTh+W4+YNMLsRK/JFrqyyJNvEuoc44aYqTppVvGJTBcRTxDYVMpwEn7rzCRERERERERGppl2qJ6N27N6eeeipjxoyhf//+CnMkLrrsa17nLYleNz/GUGSh4a+GxJjyYu5f1T9+5+Dx/4jx3ljL9u9kXhf8Xf1j1aW9m8Axh8JTt8I+LeC3BVAc7OnRtZ15nb04+n2hZaHrXpc67mOGVvP6Ipc3SDc9i9ZsjB2eVOc+23bsZ6UiDdLNcHdrNsLWHdHrYz03Jfe5isPh1caqDSYMa9dq5x9rd2LjJY+32cxVwTlhDmEtw9nCjXiowV8GYSqauySfyaymP/lMBsDHBlZzIJsYW06dPtYyjHWMwCZQ4f7z+YQt/It1jGI1A1nLEWzmqlrPobKJS1nPSAAKmMJq+kfMf+JjCzsYz0bOZy3DWc0hrGMU2TyEn+yo/ZXOqbKOPN5mPScH3zOSHF4oOc+qKAhex3SOjFrnZRXb+R8bOIu1DGM1A1nPaHbwFAEKa3AlSlU0x03ZeZVyeCl4z6fE3L6QGcH5mZ6pcP/Vvc7V5WU127ibdRwf/Hk4gg2cwXYexyayK6iPDWzjHtZxLKsZwDqOYxv34GNj1H5jzaFTkTQGYZFKQTnXS0RERERERCRR7DKBzuLFi5kyZQpvvPEGr7/+etSXSH05ZpB5ffGD0kACTMP7pM+jt28R/JBw2Ub42Yvho6+rf/wRwd4fL30ARcWlyzdnw9sxjr9/J/M1/Sf44qfo9YFA7CCltjze2EFGkRsKi8HlMsOsAYwcYl5f/MAMKReSXwgvvh+5TV3qu5+pM9b8PMcMMkFP2XmHZi2Cn+dFb1/efZ7wCSxfU/3ajhscPP67kct/mRc9fw7A8UNNL51n34l9vGJ33YR6Xp+Z86h7Bw25Vl0BctjO/2HjIY2BZHImqfSjiB/ZxEW4WVQvdbhoSQp9cDMHH9ETLhXxAwFyyOCYSnugbOcR/GSTykHB8xmEmwVs5goK+bbGNWYwioaYefOS6EIml5DJJaQxFAA3c8hjIk6akM7RNGQMLtqQz/ts4gICxOh6B2znf+TwEikcQANOBiCHF8ipxnBjxfyGRRpJRE+AVcg3FPApLlqTwQgacjIOMsnlNTZzJTa+GHusexkcC1gUEuMfBaCAqcHtRlS4n5pe56rwsYWNnEcBn5NMFzI5k3SOwUlT8ngP8Jds62UVGzmXAj4lmW5kcjZJdKWAT9nIOXip3SRrFkkksx9uFhCgjsf3FBEREREREalDCT/k2vLlyzn77LP57bffsO3YE3dYllUyv47IznZwT9PTZNqPcPqNMLQ/eHzw1S/QoxN8PxussDbQw/qZ3h6vT4bla6FjG9PD4Yc5MPRA+PrX6h2/fw8YNdQMXXb6TWYfHi98+TP07Azfz4l+z/3XwNh74LYnTejUrb2Zy2bjNtOjY3se/PRGLS5KDG4PXHQXtG0J+7U3gUdhsTnvbTvgnJGQnGS27bufGQ7unWkw5kY44iCzfMavsCkbTj/GbFPXDj/IXI9f50OPMm2z5x1vjv/BVyYg6dPN1PLVLzC4X/R9PvlIc09u+i8MH2DmSVrwNyxZCYP6VDx/USznjoIZv8FHM8xz03c/2LTN3OdY+2ucCfdfDTc/AWfeDIf0Mj1oPD4zV9OcP+GALqaHVG38EZwLaMiBtdvPnshBJq2YgqvMvB4elrOJC8jhGZrxbL3UksFxuJlDIdPI5LyIdaHG/nSOq3Q/LXkXF60jlvnZykbOYQdPkh4MYKqrAaPwsZ48JpFMFxoROV5lKgfSmuk4SI9Yns8UshlHHu+QxUVR+/WwhJa8XTIcl5+LWc9J5PEuWVyKRVKFdQUoxMsyUuiJhTNqfQbHkclZUfvJ4UVyGE8hXwbDlp3LRWtS6EUxs/CzNWL4MT85FPEjyXQniXYV7qem17kqivgamzwacQOZwfAuvEYr7FfUbB4kwHaacBsNGF2yPI/32M7DZPMQzWs5B5AJdP7AwyJSidGlVkRERERERCQBJHwPncsuu4wFCxbwxBNPMGfOHFauXBn1tWLFiniXKXuYcVfA2NPMcFrvTIcf/4AzjoWLTjLrG4TN95KeCs/dYUKKxcvh3S9gy3a49yo49aiaHf8/l8JVwfavd6fDT3PhrBFwQzm5Zutm8OZDpr7CYvj0W/jwa1j6D/TZzwQBdS0tBa4+04RZc/8yc8zM+BVa7g33XQ3XnBW5/Y3nw51jYa9GJsT4aAbs1dgs+/f5dV8fmJCkQxsTzpWVkQYvjjNzH/2z3tS/cp25Vv2C4VL4fe7W3swJ1K09fPO7ucYNM+Dle2C/DtWvLS0VXrgLThpmhl6bNNXU8eC1MOzg2O8Z1Nfc55FDTAj1znSY9gNs2AqjhphntrY+/wGSXKZHkFSPRXJUmAOQTEdS6Ucxf9RbD450jsQihYIyPTgC5FHEDyTRheQYPVDKKhvmgJm/JI0j8LEaHxvqrObIYzSJChnA9DixyKCY32K+L4uLIsINJ41IZwg2BVXq5eFnCxDAQZOY6100ixkKNcD88JVX186QwXGAnwKmRSwv5EvAS3oVgqWaXufqcBDd1c9J6WRqPjbiZhZJdCCDkyK2a8DJuGiHm99jDr1WHc7gPfXH6LUmIiIiIiIikigSvofOjz/+yG233cbVV++EFmeRGnI54eLR5ivcxzPM674tI5e3bgaP/Cv2vma9XbVl4ZwOOP8E81XV92Y2gMvHmK/KTH66/HUv3FX5+8EMqXbe8earqo4fWrWgoFWz2Oc57grzVR1nHgf3vQBzl0DvrpHrGmfCHZeZr3B3BK/PvmXmkOnfA16+O/oY3drDZadGb1vZfc5qALdfYr7KGjU09nvatYquN5byrmFIrHW5+abX0DGDzLWR6vOwhFxex81c/GyDMgFOgB3Vmsy9phw0II3DKORLPCwlmS4AFPIV4AmGAZXzsZYcJgQb1LcAnoj1frbgomXsN9dSITPI50M8/EWAPMKH6DLBS7Rkorv6OYMhm9lHxQKYSbUcNIy53samgE8pYApelgeHJCudn6e8unaGdIaTzWMUMJVMzi5ZbnpgOcng6CrtpybXuSrSOIwdPEM2D1PM76RyCKn0xUWbiO08mLE7U+iLReTciRYOUulDPv/gYSkuWtS4HkcwRPKzo8b7EBEREREREdnZEj7Qadq0KVlZWZVvKFKPtu6AvbLACmtb2pwNL39owpZBfeNWmlTTqKGm982L78Mzt0eu27odmjaOXDZ7sZmLaN9W0D66c8Ju7c3PwB+Ay+ugp8+eyM08NnE5AGkcjIu2WMHeD0XMxMtS7DKByM6UwXEU8mXJHCYQ3th/TKXv97KGTZxHgAJS6Ucah2GRAVi4mY2bOTvtfHKZyA6ewEFjUhmAk2ZYwZ4eeUzCxhvzfQ4yYiwNDZ3mj7EuUugY5Z3Xdh4ln3dx0pw0DguGc0nBml+s1/vroCFpDKKIGXhZQRId8LIWD/NJ5dCSHikVqel1rgoXrWjOq+TwAkX8GOw5BC7a0YixpHMkADYFAOXW6wgGoKHtasrGDYBFaq32IyIiIiIiIrIzJXygM3bsWCZOnMiVV16J0xk9Xr1IPLz2iZnDpHc3aJIJG7ea7wuK4NJTzHwxsmtwOsywbj/NNfcvI2wYtWsehtQk6NLODCG3Yh38PBccDjNE3J4mswHcfQU0q7wdWGLI4RXAQzNeIpXeEes8LKxF07jpqWBEhxLlTVyfyiE4aEwh02nE1fjZiJu5wYb7yv8Sy+MtAuSyF/dE9ejJ5gHcxJjQqw7Y+MjhJZw0pQVvRTT029jk8fpOOS6AA5PwBsiNWucnm3zeI4nONOdVHGHBgJ+t5PJirY9OOU9Jefc4g+MoYgYFTKURV1EYnB+pKj2w6uM6J9OJvXkEGx8e/qSIn8jjbbZyK81pSgq9gyGhub6xBNgGULJdTfmDva+cNK5kSxEREREREZH4SfhAp0uXLvj9fnr16sWFF17IPvvsEzPYGT16dIx3i+wch/SCFWvN3Dm5+ZCSDJ3awqnDzXBUsmvZv5P5KmvkYWYOmi9+goJiaJgOg/vBBSfA/p3rv854O2tEvCvYtflYi4OsqDAnQDEe/qrVvkNDgPliDIHlDQ5ZVZaFi3SOIp93cDMLNwsAm4wqzK1ijrUWgDSGRCy3sXEzrxrVV0+AHdjkk8yBUb02PCwu6WmxMzjZGwdZMefb8bEOsEnloIgwB8DN3Fof20FDvCzDxocV9utbgCJ8rIn5njQG4SCLAqaRxRUUMA2LjKh7Fkt9XmcLFyn0JIWeJNGGbdxFET+QQm+SMWNhmh5fdsSwazY2xfwBUNLLrKZ8wXuaRIx/DEREREREREQSRMIHOmPGlE748e9//zvmNpZl4fdXPlSKSF0Z2Nt8ye7tzOPMl0hdcNGSYlbjYTnJdATAxs8OniDA9lrtO5keABTwGRkcV9Jjx818Cvi83PdlcBz5vEMBU3GzAIs00ji8iufTIniMuaRxaMnyXCbgZXlNT6VSDppgkYKHJQQoLglPAuSynUd32nEBLCxS6EMR3+Jne0RvjtBcQW7mYxMouQc+NrGDCiYmq6IUuuPlLwqYRgNGAibQ2MHT2BSVU28otHuPXF7Hx2oyGBUVOMWys6+zhz9xsQ8OGkQsD/XEsUgGzHOWQn/czKKAT2jAiSXb5vMhPlaSwoG1mj8HwM0inDQliba12o+IiIiIiIjIzpTwgc4333wT7xJERERqrSFjKOYXNnExGRwJpOBmNn42k0I/3Myu8b5N74ZeuPmdTVxACn3xs4FCZpLGYRQR+9/SFHrgYl8KmAb4SOc4HKTF3LasBpxMPpPZyk2kMxwHWbhZgJclpDKIYn6o8flUxMJBA04lj4ls5AzSGEyAAor5CSctcbL3TjluSBpDKeJbivk1Yq4hJ01J4wiKmMFGziGVg/CzjWJ+IIUDS3o01VQDTiOfyWRzL8X8ipNGuJlLgDyS6IKXpTHfZ0K798jh+ZLvq2JnX+cCppLPh6TQBxdtcJCBlxUU8RMOssjg+JJtm3ALm7iYbO6niO+D8wEtp4jvcNCYJtxSq1q8rMXPOhpwSq32IyIiIiIiIrKzJXygM2RI5cOCiIiIJLo0BtOUh8nhVQr4HItUUjmQvXmUHF6q9QBWTXmcHfyXIn7AyzKS6MLe/Bc/W8oNdMA08OfwXMmfqyqZbjTjaXJ4jkK+ARykcADNeZlCZu60QAegEVfhIJMCppDH+zhpQjpHk8WlbGBM5TuohQyGs4P/UsDUiEAHYC/GkUMrCplBHu/gogUNOZNMzmcNX9fquMl0ohlPsYOnKeRrHKSRyqE05jq2VhBopNATF23xsRonzUmhX5WPuTOvczpHY+PGzTzcLAI8OGlOA04mk3Mjetwk0Y4WvEEOL1DMzxTxA04ak8Eosri0pHdUTYXmFmqAhu8VERERERGRxGbZtm3Hu4g9RW5uLllZWeTk5JCZmRnvckRERKQGdvAcuUygFR/XOkyQ+LLxsZ7RuGhF82AvJhEREREREZH6VJ3cIOF66Bx++OE4HA6mT5+Oy+XiiCOOqPQ9lmXx9de1++SriIiISFVkci75fEQOr7AXt8e7HKmFAqbgZwN780i8SxERERERERGpVMIFOrZtEwgESr4PBAJYllXpe0RERETqg4MM9uIePCzGxo+FM94lSY1ZNOF2kukW70JEREREREREKqUh1+qRhlwTERERkZ3Nh83LeJiGl43YeIHHSKULTo6ngJG4GEdajfc/jiKm4ONTMmiFo9Lt1xOok+PW1mS83E0xd5HKKJJKlo8iP7i+QZX3ZWNzDoVkYfEM6XVea03NwsdYiriEZC4jpV6OeSmFzMHPLBrWy/HqQnnPQkUW4+dp3CwlwA5suuDgLTKq/fMQS01+RmId91d8XEkRT5DGoMT77KaIiIiIlGOXHnJNRERERERqbiIeXsRDX5wciRMX0K6GDc0S22f4+IsAryZQmJNIahKYJLJ8bK6jCDc2x5FEIyz2ouJRJOLhYFz0xsmTuDkEJ84ErFFEREREaifhA53Vq1ezevVqBg0aVLJs3rx5PP7447jdbs444wxOPPHE+BUoIiIiIpJAvsdPOvAMaSSFNej6sHmfdBrsoY28h+OiJ+k0rWW4FcDmBdz0wUnPBBtycX+cvE86jfbQe7yzLMJPNjZXkMyFZXo+XUUK55NMswS55ueSzL8o4gt8HLsbhGkiIiIiEinhA51rrrmG/Px8vvrqKwA2bdrE4YcfjsfjoWHDhrz//vu89957jB49Os6VioiIiIjE31YCZGFFhDkALizaJVgAUZ8aYNGgDs7/J/ysx+bCBPyvVOoefo93li2YUcr3jhEGNsVB0/ouqAIDcdIIiw/wKtARERER2Q0l/NgLv/32G8OHDy/5/vXXX6eoqIh58+axbt06hg0bxmOPPRbHCkVERERE4m88bvqTxzpsNmDTnzz6k1cyR8x6AvQnj3EURb23AJvxuDmNAg4lj6HkcRWFzMVX5eP7sZmAmxPJZyB5nEg+r+ImUM3zyMfmedycSgGDyWNIcF93UcSGMnsrCtZ9MgUMJI8jyOPacuqejJf+5DEZbzUrivQpXizgiBiN5X/i52GKOY0ChpDHoeQxhgIm4MZH7KlLZ+PjEgoZRB7DyONWithIgEsppD95EduG7vEsfEzGy1nB+3UphYCZQ6c/eYzHHXWcbAL8l2JGk8+hwWt1HgW8gadkm4reX9HzE24cRdxNMQB3U1zyHIafyyjyS57Lsmpy3vnBZ+9SCjmGfAaQxzHkcydFrK32ExjJnHP0+YSeo3EU0Z881sc4zhx8XE8hw8jnEPI4iXyexU1xOc9CLMvxcx2FHBb8WbiGQpbhL3d7FxZDcTEXP2tqee4iIiIikngS72NlZWRnZ9OsWbOS76dMmcKQIUPo2LEjAKNHj+a2226LV3kiIiIiIgmhH04gmUnBBvozSAagYSVDQeVgcwmFrCBAL5yMJokCYCY+LqOIh0llaBU+6X8/bj7FS2ssTiUJD/AmXuZX0Phclo3NVRSyMFjLISThADZg8x0+jiOJlsHPpLmxGUshiwjQDQdnkEw2Ab7Axy8UcT+pHFnHPRRsbGbjY18cZMa4rh/h5Xt89MHJoTgpBmbj52k8LCLAo2UmvP8FH9dShBMYjou9cTALHxdTGHP/IW/gYRZ+huBiAK5KP6X3DwHGUshWbHrjZChOirBZQYBXcXNO8FmpC0NxkYd5fobgoksdfoawvPNeSYDxeOiPk8NxkYo55+n4+BEfE8koeW6q6xKSWUog6nwqO6/38fAwbhoCg3HRBIvFBHgFD7PwMZ70qF50ZS3Dz0UUUoQZMrAtDhYFl3WpoCdWT5x8jJff8bFPHd5bEREREYm/hA909t57b1atWgXAjh07+OWXX3jooYdK1vt8Pny+qn9yUERERERkd9QfF/1xMSXYc+CyMnN9lOdRillBgP+Qwolhjb/ZBDiHQu7HzSG4SKmg8XkWPj7FSxccvEw6acFtLyDAmcFeFFWxnAALCTAUF4+VCT882BH9bl4PhiTH4uIeUrGCxxyDnwso5H6KOQQXGXU4t8lKAuQAA8tpzL+QZG4mJWIyehube4Nh11x89A7+F8yPzf0UEwDGk1ayHFK4iyI+q6B31Bz8vEY6nao4vNqdFLEVm9tJ4aQyDfyb6rgXx1CSSgKdobgYVYehWnnn3R4H02hAVpl7PQsfV1DEy3j4D6k1OuZlpDAZb7XOZwV+HsVNZxw8W2ZOowm4eRoP7+Dl7ErClkdwUwDcS2rE8GnP4ObVsJ5VZXUPPp/z8KOByUVERER2Lwk/5NqRRx7Jk08+yf/93/9x7rnnEggEOPHEE0vWL168mH322Sd+BYqIiIiI7KJ2EOBLfByIMyLMAWiCg3NIZjs2v1XSy+azYIh0McklYQ5AMxycXoMG/VhRVDIW6WH7noIXF2ZSeitseTecjAyGCt9WY8i4qtgcHCqrSTkhUQscEWEOgIXFacFrEH4d5+JnAzaDcYWFOcblpFQY1ZxEUpXDnIX4WUyAvjijwhyA5on/X8IS5Z13A6yoMAdMyNkBB7/V8XNQmQ/x4gduJCUizAE4l2QaYzG9kqH/NhJgDn4644iaC+cCkmlYwXtDz+fmagztJiIiIiK7hoTvofPQQw+xdOlS/v3vf5OcnMxjjz1G+/btAXC73bz77ruceeaZca5SRERERGTXs4gAfsADMedNCc3B8Q8BBlewn7+D2/WJ0dgea1l52uGgMw6m42MzhQzBRX+cdMGBI6xhPB+bddi0xxEzkOiHk4/wshQ/I+qwh8iOYAN5ecPYebF5By9f4GUVAQohokl9S9h3oWvWO8b1aYGDFlisK6dBvkc1rumiYIh0cDXek6gqOu9Z+JiEl4X42YEdEUHW7cB7lVsQPPrP+GOGoS7Mz1RFllbwfKRj0QUns8sJWkPh1g4FOiIiIiK7nYQPdJo3b86PP/5ITk4OaWlpJCeXfqosEAjw9ddfq4eOiIiIlJiFj7EUcQnJVR5yamcbRxFT8PEpGbSqxqfhb6CIVQR4h/SoT/1LbOXd/0spZA5+ZoV9rv1XfFxJEU+QxqDE/7V4p8gNNvjOw8+8CnrhFFXSMJyPjQOieiMA7FWNZ9eFxXOk8wJuZuDjiWDI1DjYy+VCknFiUVBJT5mmweUFVT5y1YQG7YqOvoybKOJ7/LTFYjhJNMbChbk+k/DiDbuO+ZWcQ5MKAp3qXNPQcZrtQj1xylPeeX+Fl1spJh0YgItWWKQGt52Clw31HGyEfq5eqWBYtMqE7lvjCp6P8hQHX2s2yJyIiIiIJLJd5n+uWVlZUcvS0tLo1atXHKoRERGReOpPHn1x8gLp8S5lp5mNj5n4uJ/UhA5zJuPlboq5i9Q6nSujPhyMi944eRI3h+BM6Ou8s4TmlzmbJK6rRfNvAywC2OzAjmqA3lbNxvRGWNxEKjdi8w8BfsfPO3gZjwcXcAEpJXVnl7Pv0DEzqn8qldYGpQ324Rbh53v8HIKTJ0iLeJ4W4GdSmSG2GlRyDuUtr65Qb6LNVZgrJxT5xIr28uswFHFAuQOO1eQ4L+AhGXiDDNqWCa6+wAf1HOiY59NmJg1qPIdT6PnYXoPnI/R8xgpYRURERGTXtkt8TCs3N5e7776bgw46iObNm9O8eXMOOugg7rnnHnJzc+NdnoiIiEidex4PLbEYvut8/iYh7I+T90lnTBXDpXNJZgWBYKPvnqd7cCCz+ZXMkVOZzsH/VvwRYz+xllWFhUV7nJxGMs+QBsB3wfvUAIvWWKwhEDOoCA1F1aWOhxnriBMHsCrGMdcGlx2KKyocjHUNOodNXF/WJgJsrKMQIjRM2a9VuA+Zwbq3xDi/JVUIhEJKg6HY59AQi2xsfGXWF2GXDPNXHWsJ0B5HVJizlQDrarC/2to/eM0X1OLnqkvwXObG2EchNksr2Hfo+azqPEsiIiIisutI+EBn/fr19OnTh7vvvpv8/HwOPfRQDj30UAoKChg3bhx9+/Zlw4YN8S5TREREpM4sx88f+DmWpIh5Q6RyqVi0w0mjKv6aOxAnjbD4oJIJyndXTXFwJC7mE+B1PNgxGuAX4qe4knAhNE/NS3gihmfbTIC3q3Ft1xNgfYwG+FBvhOSwn4eRJOEDnsYdUfff+JmClwbA0DoORBti0QkHf+InUOaatCwnoFmOnwkxBmnrjZMWWHyPLypQex53LSO2Uj1w0h0Hc/DzUYwhwMIDsX1xkIEJznLCzm8bAV4ud6C5aKE5XDaV89x0x4kPmBYWpNrYPI2boiofpVSLYLi3Lexc3Ng8iDsuUe0pJOEEHsXNxhjPcx42f1Vyh1vgoC9O/ibA52V+hl7FQ14F710Y3Hc/BToiIiIiu52E/8jnzTffzMaNG5kyZQrHHXdcxLrPP/+cU089lVtuuYXXXnstThWKiIjs3sLnJDkYJ8/i4S/8OIADcXENKewTo/E8mwCv4uF7fGzCJh2Lvji5jOSoTw3PwsdneJmHv2TS8HY4OIkkRpMcsd3YYHPfHPz0D2vSqmzIr6oeIyQ0rNuDpPIkbn4INmp3xsFVpNA/xq9Ry/HzFG7m4McCeuHkmhrM4zM52Hh3ZIxjhObj+ZgMvsbLx3jZhE1TLEaRxAUk44oRAs3Bxxt4mE+AQmxaBOf4uJDkkrkmwEzq/gFefsDHSgJkY9MAi944uYhkuoXdu1AtAHdTzN0lMzcQMVdNLG5s3sPLZ3hZTwA/Zq6IHji5kOSInhU+bN4ObruaAC6gG07OIpnDylyj6s6h5MJiKC4+xssaAjGf5d3dLaSyikKexM1UvPTESUMsNhHgT/ysxmYaGRHPSVn9cTEKF5PxcToFDMWFB/gSHz1x8H0V44ml+LmRYnrgoD0OmuJgMwG+xYcDODPsZ/VckvkBH1Px8Q+FHIiLbAJ8iQ8/8B9SazzcVUUOx8V4PCwgQK+w57QHDnrg4Et8bKWQ/XGwEZvv8DEIF1+XiRacWNxKKv+iiMspZDgumuJgDj42Y9MFB3/XUe+S+0jjMgq5HzdT8dETJx5sVhBgCX6+Dv68JmFxGsm8ioezKWAILgqw+R4/fXGytorxSE+cpACT8JCHXTL018XBn8nTSGIyXu6lmF/x0QiLufjJC5730mqe9xiSeRQ3Z1HIMFz4MXNk2VCj/dVWJ5zcQgoP4eZkChiIizZYFALrCDAHPyNJ4rZKApebSOEiCrmLYr7FR1scLMLPIvz0wVlu77df8ZMJ9FGgIyIiIrLbSfhAZ9q0aVx33XVRYQ7AscceyzXXXMOLL74Yh8pERET2LAvxMwEPh+BiDMksDzayzsXPq6TTJqwhfC0BLqOQTdgMwMlQHGRjMwMfv+DjOdJLhqQBeA0PawjQEyfNcJCHzc/4eAA3qwhwfXBuj1Y4uIRkXgwORzYyLMDpUklDfFWPES4fm4sppAEWx+FiOzZf4uNqiniD9Ihgahl+LqKQIkyDb6jh7SIKqz3s02/4SQM6VnBOj1PMfPwcSRLpwHf4GY+HvwnwSHB4qpD38fAwbhoCg3HRBIvFBHgFD7PwMZ50koINrjnY/B9ueuNkIC4ysVhHgO/w8RM+XiC9ZAinobjIA2biYwiuSu9BuHEU8yU+OuPgeJJICgYIs/CzGH/JNbOxuZliZuKjLRankkQR8CVe/kUR15PCWTECueroiZOP8fI7Pvap5b52RVlYvEI67+LlS7xMw0sAaIpFZ5xchKtKc3H8h1T2xcNHeHkXL82wOIskhpPE9xRUqZb9cHIeyczGx4/4ycPHXlgchItzSaZn2M9SChbPk85rePgCL2/hIRXoGwwFe++k/+qcSBIv4eFzvBGBjhOLJ0jjKTz8jI/F+NkHB9eRwsAYgQ6Y4dmeIY3n8fAlPlIxQfkDpHAtRXU2B1BbHEwknQl4+A4fk/CTDuyDgwvLBJ+Xk0wS8AlePsBLSywuJpnBuJhRxUAnC4uHSeMF3HyEt6RvTyjQ6YSTp0jjadx8jY80LA7FyXWkcEtYMFxVp5GEC3gnGHI3wGIQLq4imZtrsL+6cFIwmH4TD3/g5/tgON4CizNJZmQVns9OOHmZdJ7Czc/4+AXzQYGXSWciHv6I8Z71BJiHn9NJIkU9PEVERER2O5Zt2/U7Q2Q1paen89BDD3HNNdfEXP/kk09yyy23UFhYWM+VVV9ubi5ZWVnk5OSQmZkZ73JERESqJLxXzK2kcHJYg/cHeHgQN4Nx8l/SS5ZfSAGLCPAEaRwS1mi1igDnUkBLHLwd1lS5jgCty4QBPmyupYhZ+PmEDFqErQ/1nnkh7Jhl6y3bQ6MmxwA4lSRuJKVk6LOP8XAfbkaTxG1hIdClFDIHP/eSyrFhQdMzuHk1OMzRp2TQqpLQoxCboeTTM9hoV1aoV0xjLCaSTvPg/rzYXEkRc/DzMKkMC9awAj9nUEhHHDxLekTD/ATcPI2H60jh7OB99QQntm9Wps7l+LmAQvbHybNhdU3Gy90UV9pDKlw+NoeTTzccTCA9Yr4RPzaFlE7kPgUv4yimL06eIa0keNpIgLMpJA+bD8goCRTLu/+h+xOr59DfwWs0Ahd3lwnDRGK5gyJ+xMfkWkx6X5ECbI4in044eK3OYh3ZEzyLm9fx8H7Y34siIiIiktiqkxsk/G943bt3Z9KkSXg80eM9e71eJk2aRPfu3eNQmYiIyJ6lLRYnlWmwP4kk2mLxA362B4e0+Qs/8wkwgqSIMAfM/AwnksQyAiwLGyqmbNACZiisk0nCD8yqg9kkanKMNODqsDAHzLwdTmBx2PYbg0PodMYREeYAXEByJYOPRdqCTQBoUkkj8ekklYQ5YIZKuiIYykwJm2/hQ7z4gRtJieplcS7JNMZietj2yVhRYQ6YyeD7BYf4KTuReU3YwWOVPZITqyTMAfgsWNs1pJSEOWDmlzgzeO+m1XL+m9C13lxHk9DL7u8KUnAD78SYk6Y6irApKPPc+bH5H27c1P0cQLJ7y8XmHTycQpLCHBEREZHdVML/D+Hmm29mzJgxHHTQQVxxxRV06dIFgCVLlvD8888zf/583nnnnThXKSIisvvrhTMi2ABwYNELJ6vxsZQAB+MomYw5mwDjY0yi/U8w+PmHQMmQZQXYTMTDt/hYSyBqUuwtdTD/QU2O0RYH6WXO2YXFXljkhTXChuZn6B1jaLV0LLrgZHYVQ6nQROQNKwl0Ys2N0BMnTmBJ2LksCB73Z/z8FqMGF6X3JGQJfl7Hw1z8bMOOGmRpR3DOnppqEBxe6Uf8nEUhR+KiHy564Iia/2cJflIhYoi+EDOPkSfifGsiNIH7DgU6UkUtcTCOVLbV8plZTYCLKWRAcI6VAmAuflYQoAMOTt8DhwCUmltPgDNJZoyeGxEREZHdVsIHOqeeeioFBQXccsstjB07Fssy/+G2bZtmzZrxyiuvcMopp8S5ShERkd3fXuV82rdJcHl+sGEzFEj8gJ8fKggxQrMaeLG5jEL+IkBXHBxHEllYOIENBJiCr5afga/5McobSskJERFC6Nwbl7N9Zb1twoUGCfNU0lDcJMb9cGLRCKukHjCf2AZ4pYpXcR5+LscMZXswzohQa2YwuKvt/QB4mDRewcN0vDyLB/CQARxPEleSQmrwmAVA83KuX9OSbWrXqB56FqNnURIp3/AqDjFYkWZYHImLOfj5GRs/0AKLc0jiQlJI0xwoUg3dcNKtmnO2iYiIiMiuJeEDHYDzzz+fs88+m1mzZrFq1SoA9t13X/r374/LtUucgoiIyC5vWzm9ILKDyxsEGx5DIciNpFTpU8Iz8fEXAU4giTvKNKlPx8uUKk7CHc9jhM59eznBQnY1AodQKJRbyXuyCdCuTKjjD85/s1dYI7C5HzYzqzjXxyu48QAvkRY1qfzCOhj6LiQViytI4QpSWEeAWfj5AA+T8FIM3B68TxmUf/1CvSNqO4dJ6FqXHZJOZGdrjIO7NG+TiIiIiIhU0S6ThrhcLgYMGMCAAQPiXYqIiMgeaR5+AtgRw64FsJmHHwvoEgwXQkNjLcDPmCrsd20wEBoS49eSueUECA6o1iBbNTlGdYTOPda+CrFZWo1j7I1FFharKjnDP/DTt8z5LMCPH+gaFvTsj5O/CLAAPwOq8KvfWmyyICrMKcbmrxg1hY7kr0UvmdY4aI2Do3FxFPl8h4/bg+u64uR3/CzEHzXs2uxgENe1lnNFhK51J32yXURERERERBJYws+UOGnSJM4///xy119wwQW8++679VeQiIjIHmo1Nh+VmXz+I7ysxmYQThqHBTr742A6Pr6IMVl9ALukIR7M5PYQHYbMxhd1vJBMLDZXI9KpyTGqowUO+uLkbwJ8XmZ/r+Ihrxr7srDog5N12Gyv4BzfxsumsPVe7ODQZTAybCioU0jCCTyKm40x9peHzV9h16UlFrnA8rBlfmyewB2zB1Jo/plN1Qh0thNgWYyQKw8bD6XDzgGMCJ7LM7jxhR1jIwHexIsTOKaWQ1+Feh71U6AjIiIiIiIiCSzhe+j897//pU+fPuWuT0tL47///S+nnXZaPVYlIiKy5zkEJ4/h5kf8dMTBcgJ8j49GWNxQZhiz+0ljLIXcRjGT8NANJynARmwW4Gc7Nj/REIDDcNEKi9fxsBw/HXGyigA/4GMoLr6OMRzagTj5Eh83UERXHDgwvW86l9MgX5NjVNdNpHARhdxFMd/ioy0OFuFnEX764OSPavTSGYqLb/HxK36OKefzN/vj4EwKGE4SacB3+FlFgMNxMSws4OiEk1tI4SHcnEwBA4OTrxcC6wgwBz8jSeK24LUbQzK/UMTFFHIkSaQAs/GzGZt+OJld5jx6Bu/tJDzkYZcMW3ZxRCwTaTM2Z1FIFxx0wkEzHORgMxMfPuDssKH6RuDiG1zMxMfpFDIYJ0XAl3jJAa4jhTa1/IzSr/jJBPoo0BEREREREZEElvA9dJYsWVJhoNOrVy/++uuveqxIRERkz7Q/Tp4jjXxs3sbD7GAY8irpUQ3qrXHwJhlcRDKFwKd4+RAvS4Phxv1hAVA6Fs+RzhG4WEyAd/GwhQD3ksqp5fS8uIEUhuNiHn5ewsPzeGIOB1abY1RXJ5y8TDqH4ORnfLyLBxfwMum0rubcLMNxkQVMraD30A2kcg7J/IqPt/HiweZSknmgTLgGcBLJvEI6Q3CxED+T8PI1PnZgcybJnBl2DQbj4mFSaY2Dz/EyDR/tcPAa6bSMcR5ZWDxMGm1x8BFeng/ej4q0wsGlJNMAi9/w8yYefsBHNxw8SRqnhQU6FhYPk8p1pOAC3sHL53jpiJPHSYsIf2piPQHm4WcESaRoDh0RERERERFJYJZt2zUf8LweZGZmctttt3HLLbfEXP/QQw9x3333kZ+fX8+VVV9ubi5ZWVnk5OSQmZkZ73JERESqZBY+xlLEJSRzWQW9LqRuPYebCXj4mAxahgVm4yhiCj4+JYNWif/ZnIT3LG5ex8P7ZNS6p4+IiIiIiIhIdVUnN0j4/7X26dOHSZMm4fFEf9LT7Xbz1ltvVdiDRxKMLwDj58JJH8EhE6H/6/Dt6nhXteuatdFcw/FzI5dfOt0sr64bvoFTPgF/mU+5r86Ff38DR78HB74OQyfVuOTdXv/XzfXf3fgCcMKHcMvMeFcissc4l2SysHilkt4uUnO52LyDh1NIUpgjIiIiIiIiCS/h/+d6yy23sHDhQg4//HAmT57MihUrWLFiBZ9++ilDhw5l0aJF5fbekQQ0cRG8OB/2Toeze8AlB0C7rHhXVXWTl5kG+8nL4l1J3Zu9EWauMffEGfZXgz9gwpwf18Gg1nDxAXD+/vGrsyZqGnBJKZcDLugJX62CBVviXY3IHiEDi3tIpSUWfhK6Q/Uuaz0BziS5wvl+RERERERERBKFK94FVObYY4/l5Zdf5tprr+XEE08sWW7bNg0bNuTFF19kxIgR8StQquf7tZDugmeOhCRNPFxr+zeF90+ARnXQEPX8XGiZAcPbRS5fnw8rcuCkznD7IbU/juy6RnaEZ/+A5+bCs8PjXY3IHmEALgYk/q9ru6xuOOmGfh8RERERERGRXcMu0UJw/vnnM3r0aL788kuWL18OQMeOHTnqqKNo2LBhnKuTatlaBFkpCnPqSqqrbno4Ld8Bf2yGC3uCo8yE0FuKzGvTtNofR3ZtLgcc1Q7e+QvW5MI+mgtsT9EfF7PQv7eJYhxpjIt3ESIiIiIiIiJS73aJQAcgMzOTk08+Od5lSE2Nn2uGWgsJDX/VMgMmh93XT5fBB0thxQ7zfYdGcEoXGNUpcn+zNsLYL8zwYANawQvzYNFWyPfCrHPNNrZt9vfJMhNY+AKl+zuhc+T+3H547y/4bIXpkeK3oXEK9GhqQo4uTWDcjzDFBIrc/ZP5Kqnn3IrPvyr7D/EF4O2/4LPlZu4alwO6NYGzusNh+5R/HS7rXXENFQkNIXfkvpHLR30AGwrMn1+cX3oPw4+3oxheXmCGa9tSCA2SoV9zMzRbp8aR+wtdw49PMnMnfbIM1ubB0e1h3KFmm+wieHWh6c21qQDSk6Bvc7isV/T+VufCqwtg9iZz7DQXNM+A/i3gX/3BsiKHWgv/88iOpccE+Hs7vLIA5myCHLcJsA5rA5f2gkap0dfs47/hrT9hbS40ToWj2sPY3pVd6UhbCuHDpfDzeliXD/kec9xDW5vjNikTotX19Zu10Txn87aYWsAEhCd1htFdYtd8ZDvzfE5ZDpdr/jIREREREREREZH6sssEOrKL69fCvE7607yesZ95bZhcus2jv5lP/jdLhxOCAc6M1SY4WZIN/z4oer/zt5jG6/7N4aQusDEYPtg2/Od7mP4PtG1oGryTHPDrBrj3Z1iZA9f1L93PuB/gy1XQuTEc38lsu6kAZm2CxdtM4DJ0H8jzmOBiyD7QpXF0PeWpyv5Ddd880xyjbSac2hWKfPDlP/Cvb+D6/ibYqWu/bTBhSMdGkcvP2A+WbjeN932bm6AGSu/n9mK44HMTKvRrbnpvrMuHGavgh3Xw9DDo3Tz6eI/+Bgu3wKFtYHAbaBIMTNbmwWXTYVMhDGhprnl2sXkOflkPzw2H/fc2224phPOmmuszqDUM39f8eU0evLcEru0HLsuET1OWm2DqkgNKa+gaFqLNXAO3zjQB0JB9TCi0cge8u8Qcd8JxkBk2rN1L880QdXulwomdTej25T/wT071rvucTTBxMRzYwgyf53KYZ/39YMjz5kgTkO2M6wfw2kJzvXo2hWb7QJ4Xfl4HD/wCq3LN81bWfnuZOn/fCJdX73RFRERERERERESk5hToSP3o38J8hXq4lO1NMmeTCXPaZ8Grx5Y2Yl/aC87/3PQIGLYv9CkTDvy6Ae4caEKScB//bcKcUR3NvC8uh1nu9cNNM00j+tHtTeN0vsdM9L7fXjDhWHA6SvfjD0Chz/x5aNvSQGfoPtG9hspT1f2D6cEzc40JT8LnGbpgfzj7M3hytgkc2tTh0EeFXli2wzTqh9cGcGZ304tjynIT2JS9b0/ONiHCBfvDlX1Ll/+wFq6bYcK4D06MHsZt2XYTVrRoELn8zh/MsHxPDYNDWpcuvygXzv0M7vsZ3j7eLPt6lbkfNxxYGhCG5LhL7/llvU0Png0FsXsx7Sg2x22UCi8fAy3Dapq+Em7/3oQ3Nx1slq3JhRfnmeBx4ojSXjSX9jIBU3Uc2AKmn2p60YSbstz0xnnnL7jogOj31cX1A7jlYGhd5lnyBeDar+HtP+GMbtHHSHGa4G/xNvD4IVnDJ4qIiIiIiIiIiNQHR+WbiNSDUNBzaa/IHgmZKXBpsEF78vLo93VrEh3mgOlZkeaCmw8ubdgHE5BcGRwmavrK0uU2kOyIDh6cjsheRDVV1f1/FjzHa/pFzjPUooEJV/w2TFtJndpSBAE7enivynj98MU/Zk6ksqHDoDZwcEvT+2Pe5uj3ntMjOij4a5vpcTWiY2QYAbBvpukJs2yHCTPCpcQIFLJSopeV57MVUOA1z0XLMjUd3d48Y1/8U7ps2kpzH87sHnnNGiTHDl8q0iQtOswBGNEBMpJMz6lY6ur6lQ1zwPy8nNzFnOOsTbGPv1eqCX6yi8s9NREREREREREREalb6qEjiWFJtnntF2N4rv7B4b2WZkev6940elmxzzRa751uhpQqy2eb19DwWA2SzZwlP66Ds6aYOUL6NTfz27jqIPOszv6XZEOqywy/VVboOiyJcR1qI8dtXqsbXP2Ta+YG6tfC1FxW/xamB9WS7OieVT1inN/CreY1u8jMuRR1vJzS43ZqbOYTeuYPePhX+H2DCTH6Nq9+76WFW0qPvzYver3HDzvcpidPo1QzBB1An2bR28ZaVpkZq8w8On9lmx5Hfrt03Zai2O+pi+sHJsiauAi+XWPOvcgX+Z7QvDplhYaf21EMLTJibyMiIiIiIiIiIiJ1SoGOJIYCr+m90jjG5PNN0sAKblPWXjG2z/WYHjGbC+HF+eUfM7zx+uEh8MoC02vn2T/Msowk0/vnyj6xA4vqqOr+C7xm/pZYmqaVblOXQj1cPP7qva/AY15j3QOouN4mMd4TCpZ+WGe+ylMcvG+tGpjh+V6YZ8KyL1eZ5e2yYGwvE5xVRU7wPN5bUvF2RT5oROl5xzqH6vZymrgInphtnvsBrcwwbqH7MelP0wsqlrq4fl6/mW/nr2wzn9BxHUzPJqdlhqebsrz8Z8IdXF7bnwsRERERERERERGpMrXGSWLISDLDfm0vjm4Uzy42AU1GjKGpytsXmDlr3hhRtfekuuCKPuZrXZ6ZN+aDpaZRvdhn5uGpjaruPyOp/GGsthVFnl9dCYVoue7qvS8j2KNnWw3qtazoZaHtbjwIxnSrWg2dGsMjQ83wX39ug5/WmfmWbv0OmqZD7yr0mAkd9+1RpT1XKtw+eN7ZxdFDtGWX06MmFl8AXppvgq+3RkY+97YNry8q/711cf1mrjFhzgmd4I6BkeumrywdBjGWUHgUK4AVERERERERERGRnSLhAp327dtjxWqsrIBlWSxfXkHjoyS+rk3M0FyzN8HwdpHrZm80r12aVG1fGUnQPgtW5pghrKo7lFjrhubr6PZw1Lvw3Vq4PbguNAdO+LBY1VXR/rs2gd83muGzyg67FroOXat4Hapq7zTTM2NVbvXe1y7T9CZZvNWEUmV7a8wOzr9S1Xr339u8LthS9UAnxOWAnnubrzYN4a4f4Ye1pYGOM3TfAmbeoojjNoVvVpvjViXQ6dLYbP/H5uihz/6IMV9QeXa4Id8LB7aMDjEXbyvtBVNV1b1+oeHlhuwTvW5uJeexKtf0JqrOXEUiIiIiIiIiIiJSKwkX6AwZMqTagY7sBkZ2hE+XwYvz4JBWZt4ZgHxP6bBpIztWfX9jusFDv8J9P8O4gZBWppfIujzTy6FVA9MraFtRdGN+ngc8AWjkLF0WasDeVFD1Wqqz/xEdTaDzzBx46sjSOXY2FsCbf5pg4pj2VT92VViWmfvl2zWm1qr2ukhywlHtYPJyeHUBXN6ndN1P6+Dn9bBPQ+hVxXll9m9qvqavhMPawFFlzjNgwx+bzJw9YHrk7NOw9FkJCfVwSg67rqE5XzYVmnse7vhOZji8Z+fCAc2gY6PI9cU++Hu7CYvAXP+X5sNbi+G49qVhTL4HXq5giL+ymqSaQGxJdmQgluuGR3+r+n5Cqnv9WgSvw9zNZj6ikNkb4aO/yz/OxnzzPB/drvo1ioiIiIiIiIiISI0lXKAzYcKEeJcg8dC3uQlh3vkLxnwKR+xrls9YZRrhT+9mtqmqk7uYXi5TlsO8zXBQS9MTJbvYTA6/cCvcN9g07m8uhLOmmJ4XnRqbngc5bjMklS8AZ3cv3W/PvU0j/KQ/TSDTKBh+XHxA+bVUZ/8jOpjeHzPXwOmTYXBrM3fLl/+YuV6u6296oNS1oW1NoPPrejimQ9Xfd00/mLMJXl4A87eYQGF9Pny1ygQUdw0s7dVUFfcPhrFfwG3fm2vcbS9zvTcWmJ4n24vhp7PNtlNXwIdLTRjVpqHpmbUix4RJWclwfFgAeGAL+HoV3PQtDGxtwp4ujU2Q0TjVHPfmmXDmZBMotssy88dsKDDnd8DeJmAD2CfT3O/x8+CMyWauHqcFM1ZD58ZV7+nksODUrjBxsdnP4DZmvqGf1pmh3Pau5nw81b1+h7Uxz//ri2D5DhNkrco1PZuGtjXXK5ZfNpjXoW2rX5+IiIiIiIiIiIjUWMIFOrIHu/EgMzzX+0tKewh0yILLepteFNVhWTDuUDi0tdnXD2uh0Gd6RezTEK7tDwe3NNu2agCX9jLz2vy2wYQtjVKgWxM4fT8TAIRkpcDDQ+CFeWa/oWGxKgp0qrN/yzL7f/tPE0a985fpCdO1CZzVPfbwWHVheDv47+8wdWX1Ap3GqfDacabHysw1ZsixBkmmsf+SA6o2hFm41g3hzZHw5mITMH26zIQlTdOgT3MYtm/ptke3M9d/3mZYtM0EMM3TTZh3bo/SHigAJ3Y2QdMX/8BrC82QeSM7lvZMGdTGHPeNReYe/boB0lwmfBvVEY4tc00u6QV7p5teOh8uNc/VUe3Mszroraqf71V9Te+hKcvMc98kzQzFd2kvE2xWV3WuX3oSPDcc/jfb3LfZm8zP272DTB3lBTqfrzDne7gCHRERERERERERkfpk2bZdi8lA6kdubi7PPvss33zzDZs3b2b8+PEcdNBBZGdnM2HCBI4//ng6dapmg38c5ObmkpWVRU5ODpmZmfEuRyTSc3/AhIXw8Ummh4hIWatz4eSPTeB0Sa94VyMiIiIiIiIiIrLLq05u4KhwbQJYu3Ytffr04c4772Tt2rXMnz+f/Px8AJo0acL48eN56qmn4lylyG7g3P1ND6RXFsS7EklUL843vX3ChwkUERERERERERGRepHwQ67deOON5OXlMXfuXJo1a0azZpETrJ944olMmTIlTtWJ7EYykuCeQbB4G/gD4Ez4vFfqky8A+2aaIejSkuJdjYiIiIiIiIiIyB4n4QOdL774guuvv57u3buzbdu2qPUdOnRgzZo1cahMZDc0oJX5EinL5ah4rigRERERERERERHZqRL+I/hFRUXsvffe5a7Py8urx2pERERERERERERERETqX8IHOt27d+e7774rd/3HH39Mnz596rEiERERERERERERERGR+pXwgc51113H22+/zcMPP0xOTg4AgUCAZcuWcc455/Dzzz9z/fXXx7lKERERERERERERERGRnceybduOdxGVuf/++xk3bhy2bRMIBHA4HNi2jcPh4L777uPmm2+Od4lVkpubS1ZWFjk5OWRmZsa7HBERERERERERERERiaPq5Aa7RKADsHr1aj744AOWLVtGIBCgY8eOjB49mg4dOsS7tCpToCMiIiIiIiIiIiIiIiG7ZaCzO1CgIyIiIiIiIiIiIiIiIdXJDVz1VFOtLVy4kKlTp/LPP/8A0L59e4455hh69uwZ38JERERERERERERERER2soTvoeN2u7nssst44403SubNAQgEAliWxVlnncVLL71EcnJynCutnHroiIiIiIiIiIiIiIhISHVyA0c91VRjN998M6+//jqXX345f/75J8XFxbjdbv7880/Gjh3LxIkTuemmm+JdpoiIiIiIiIiIiIiIyE6T8D10mjZtyogRI3jttddirj/nnHP4/PPP2bp1az1XVn3qoSMiIiIiIiIiIiIiIiG7VQ8dr9fLgAEDyl0/cOBAfD5fPVYkIiIiIiIiIiIiIiJSvxI+0Dn66KOZPn16ueunTZvGUUcdVY8ViYiIiIiIiIiIiIiI1C9XvAsoKzs7O+L7e++9l9NOO43Ro0dz5ZVX0qlTJwD+/vtvnnnmGVatWsU777wTj1JFRERERERERERERETqRcLNoeNwOLAsK2JZqMTyljscjl1i2DXNoSMiIiIiIiIiIiIiIiHVyQ0SrofOnXfeGRXciIiIiIiIiIiIiIiI7MkSrofO7kw9dEREREREREREREREJKQ6uYGjnmoSERERERERERERERGRGkq4IdfK8+OPPzJnzhxycnIIBAIR6yzL4o477ohTZSIiIiIiIiIiIiIiIjtXwg+5lp2dzYgRI/jtt9+wbRvLsgiVHPqzZVn4/f44V1o5DbkmIiIiIiIiIiIiIiIhu9WQazfeeCPz58/nrbfeYsWKFdi2zfTp01m6dCljx46ld+/erF+/Pt5lioiIiIiIiIiIiIiI7DQJH+hMnTqVyy67jDFjxtCwYUMAHA4HnTp14plnnqFdu3Zcd9118S1SRERERERERERERERkJ0r4QGfHjh306NEDgAYNGgCQn59fsv6oo45i+vTpcalNRERERERERERERESkPiR8oNOqVSs2btwIQEpKCs2aNWPevHkl69etW4dlWfEqT0REREREREREREREZKdzxbuAyhx22GF8+eWX3H777QCMGTOGRx55BKfTSSAQ4IknnuDoo4+Oc5UiIiIiIiIiIiIiIiI7T8L30PnXv/7F8ccfj9vtBmDcuHEMGDCAO+64g7vuuot+/frx1FNP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NpWq6OhoevfuTe/evQFYvXo1U6ZMISxMEz+KiIiIiIiIiIiIiMiZJ+QDnfr16/Puu+9y1VVXBV0/efJkhgwZwubNm09xy0RERERERERERERERE4Na1k3oChbt24lPT290PXp6els27btFLZIRERERERERERERETk1Ar5QAfAYrEUum7hwoUkJiaeusaIiIiIiIiIiIiIiIicYiE55Np7773He++9B5gw56GHHuLpp58O2C4lJYWjR4/Sv3//U91EERERERERERERERGRUyYkA50qVarQvHlzwAy5VrNmTWrWrOm3jcViITY2lnbt2nHvvfeWRTNFREREREREREREREROCYvb7XaXdSOO5dJLL+WZZ57h8ssvL+umnLDU1FQSEhJISUkhPj6+rJsjIiIiIiIiIiIiIiJlqCS5QUhW6PiaNWtWWTdBRERERERERERERESkTFnLugFFGTNmDHfccUeh6++8806+//77U9cgERERERERERERERGRUyzkA523336byMjIQtdHR0fzzjvvnMIWiYiIiIiIiIiIiIiInFohH+isW7eONm3aFLq+VatWrF279hS2SERERERERERERERE5NQK+UDH7XZz9OjRQtcfOXKE3NzcU9cgERERERERESmSwwGf/QDXPgQdb4GkG2H2wuLtm3QjDHrhxM4/6AVznOJKXmW2/+yHEztvUVZvgntfga53m/P1f/zknu9s1Od+8+Nr0mxzvyfNLtmxZi80+y1bVzptO52dqu+IV0o6dL4T3vvu1JxPROR0EPKBTps2bRg9ejQ5OTkB6+x2O6NGjTpmBY+IiIiIiIiInHrfToFhP0Ll8nBLb7j7Oqhbo6xbVbbSM+GhN2DVRujW0dyTvl3LulVSGIcD3v8OOraCVk3Krh2TZh9fGHW6S4iDG6+AsdNgz4Gybo2ISGiwlXUDivLEE0/Qu3dvLr30Up544gmaN28OwMqVK3n11VdZtWoVP//8cxm3UkRERERERER8/bkYYqLgo6chvIS9D+P+B1GFT6d72lq1CQ6nwL394K5ry7o1Z65Pnimd40z5E7bvhScHls7xTnctGprvZmK5U3fOm3rCVz/D8PHwzKBTd14RkVAV8oHOlVdeyfDhw3nwwQe55ppr8pa73W7KlSvHsGHD6NWrV9k1UEREREREREQCHDxifsO+pGEOQN2apd+eUHDg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OQANa5d1a84uKelmjqxO7cB6Vv5KuohIoJALdDp37ozFYsHq+S+19+9FcTqd7Nmzh9dff50dO3YwYsSIY27fr18/Dhw4wHPPPcfevXtp3bo106ZNo2rVqgBs3749rw0iIiIiIiIiInL2qZBgQh059RLidO9FRAo64+bQefHFF/nggw84cOBAWTclgObQERERERERERERERERr5LkBiFXoXOirr32Ws6wjEpERERERERERERERM5yp0WgY7fbGTZsGFOnTmXr1q0A1K1bl549ezJw4ECioqLytm3ZsiUtW7Yso5aKiIiIiIiIiIiIiIiUvpCfJGbnzp20bt2aIUOGsGzZMipXrkzlypVZtmwZQ4YMoXXr1uzcubOsmykiIiIiIiIiIiIiInLShHygc99997Ft2za+//57du3axZw5c5gzZw67du1i7NixbN++nfvuu6+smykiIiIiIiIiIiIiInLShPyQazNmzODhhx/m+uuvD1h3ww03sHjxYj744IMyaJmIiIiIiIiIiIiIiMipEfIVOuXKlaNKlSqFrq9WrRrlypU7hS0SERERERERERERERE5tUI+0LnzzjsZOXIkmZmZAevS09MZMWIEAwYMKIOWiYiIiIiIiIiIiIiInBohN+TaTz/95Pf3Nm3aMGXKFJo2bcrtt99Ow4YNAdiwYQNff/01FSpU4LzzziuLpoqIiIiIiIiIiIiIiJwSFrfb7S7rRviyWq1YLBa8zfL9c2EsFgtOp/NUNO+EpKamkpCQQEpKCvHx8WXdHBEREREREZGivTAI1iyGMcll3RL4eCj8MRne/xmq1Cj942emw/efwqI/4PA+cDrhte+gbpPSP9fZ6ofP4Mdh8Oyn0Dwpf/mNSdCsLTz/efGPZc+Gh66FNhfDoKfzlwd7Z1clw0v3wHV3ww2DT/w6imv/bhhyFXTqDfcOLd4+J/s9P53MnADD/guvj4LaDcu6NSIiJ0VJcoOQq9CZNWtWWTdBRERERERERMrC7Enw6Qtwz/PQpc+pP/+o9+H3n6DtJXDxlWC1QmLFU98OKZ5JX0PaUeirofhPmVMdjHXqDRNGwHfvwZMfnPzziYiEuJALdDp37lzWTRARERERERGRUHTT/XD1HVChysk5/uK5UL02/Oedk3N8gR794MIeUKnaiR0nMx0mfwsduxXvWA1bwP/GQbnEEztvSVWo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/fr1j3EEEREREREREQHMxOmaD0SkeJ7/vKxbICIi4ifkA52XX36ZAwcO8M0335CYmMjIkSOpWrUqYCYLGjduHPfdd18Zt1JEREREREREREREROTksbjdbndZN+J4uVwu0tLSiImJITw8vKybU6TU1FQSEhJISUkhPj6+rJsjIiIiIiIiIiIiIiJlqCS5QchX6ByL1WolISGhrJshIiIiIiIiIiIiIiJyUlnLugEiIiIiIiIiIiIiIiJybAp0REREREREREREREREQpwCHRERERERERERERERkRCnQEdERERERERERERERCTEKdAREREREREREREREREJcQp0REREREREREREREREQpwCHRERERERERERERERkRCnQEdERERERERERERERCTEKdAREREREREREREREREJcQp0REREREREREREREREQpwCHRERERERERERERERkRCnQEdERERERERERERERCTEKdAREREREREREREREREJcQp0REREREREREREREREQpwCHRERERERERERERERkRCnQEdERERERERERERERCTEKdAREREREREREREREREJcQp0REREREREREREREREQpwCHRERERERERERERERkRCnQEdERERERERERERERCTEKdAREREREREREREREREJcQp0REREREREREREREREQpwCHRERERERERERERERkRCnQEdEREREAmSTzHaSOMpnfsv3MYjtJJ3SthzlM7aTRDbJx30MB7vZThKHGFp6DZOTLtj7Vti7WZQc1rKdDmQwrTSbKBJSjvIxO+iEk0Nl3RQREREROQkU6IiIiIiIyBnvCO8QTl1i6F7WTZHTXCgHxPHcAlhIKWHgKSIiIiKnBwU6IiIiIhLSytGP6owjghZl3RQ5xSryItUZd8LHyWYhdhZRjpux6J9AcgazEk8c15DORBzsKevmiIiIiEgp079mRERERCSkhZFIOHWxElXWTZFTzEY1wql7wsdJYxwWIonh8hNvlEiIi+VKwEk6E8q6KSIiIiJSymxl3QAREREROfnc5JLOj2Qxl1y24OQwVuKIpDUJDCCCpsd97KN8RirDqMKnRBWY7ySdSRzmBSrwPHH0wcEednMVkbSjKp8GaaeDXfTAQhQ1mIQFa6HHT2ciWcwhhw04OYSVKCI4l3juCGhHSbmxk8YPZDAFB7sB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AAAAAAAAAAAAGByBDgAAAAAAAAAAgMER6AAAAAAAAAAAABgcgQ4AAAAAAAAAAIDBEegAAAAAAAAAAAAYHIEOAAAAAAAAAACAwRHoAAAAAAAAAAAAGByBDgAAAAAAAAAAgMER6AAAAAAAAAAAABgcgQ4AAAAAAAAAAIDBEegAAAAAAAAAAAAYHIEOAAAAAAAAAACAwRHoAAAAAAAAAAAAGByBDgAAAAAAAAAAgMER6AAAAAAAAAAAABgcgQ4AAAAAAAAAAIDBEegAAAAAAAAAAAAYHIEOAAAAAAAAAACAwRHoAAAAAAAAAAAAGByBDgAAAAAAAAAAgMER6AAAAAAAAAAAABgcgQ4AAAAAAAAAAIDBEegAAAAAAAAAAAAYHIEOAAAAAAAAAACAwRHoAAAAAAAAAAAAGByBDgAAAAAAAAAAgMER6AAAAAAAAAAAABgcgQ4AAAAAAAAAAIDBEegAAAAAAAAAAAAYHIEOAAAAAAAAAACAwRHoAAAAAAAAAAAAGByBDgAAAAAAAAAAgMER6AAAAAAAAAAAABgcgQ4AAAAAAAAAAIDBEegAAAAAAAAAAAAYHIEOAAAAAAAAAACAwRHoAAAAAAAAAAAAGByBDgAAAAAAAAAAgMER6AAAAAAAAAAAABgcgQ4AAAAAAAAAAIDBEegAAAAAAAAAAAAYHIEOAAAAAAAAAACAwRHoAAAAAAAAAAAAGByBDgAAAAAAAAAAgMER6AAAAAAAAAAAABgcgQ4AAAAAAAAAAIDBEegAAAAAAAAAAAAYHIEOAAAAAAAAAACAwRHoAAAAAAAAAAAAGByBDgAAAAAAAAAAgMER6AAAAAAAAAAAABgcgQ4AAAAAAAAAAIDBEegAAAAAAAAAAAAYHIEOAAAAAAAAAACAwRHoAAAAAAAAAAAAGByBDgAAAAAAAAAAgMER6AAAAAAAAAAAABgcgQ4AAAAAAAAAAIDBEegAAAAAAAAAAAAYHIEOAAAAAAAAAACAwRHoAAAAAAAAAAAAGByBDgAAAAAAAAAAgMER6AAAAAAAAAAAABgcgQ4AAAAAAAAAAIDBEegAAAAAAAAAAAAYHIEOAAAAAAAAAACAwRHoAAAAAAAAAAAAGByBDgAAAAAAAAAAgMER6AAAAAAAAAAAABgcgQ4AAAAAAAAAAIDBEegAAAAAAAAAAAAYHIEOAAAAAAAAAACAwRHoAAAAAAAAAAAAGByBDgAAAAAAAAAAgMER6AAAAAAAAAAAABgcgQ4AAAAAAAAAAIDBEegAAAAAAAAAAAAYHIEOAAAAAAAAAACAwRHoAAAAAAAAAAAAGByBDgAAAAAAAAAAgMER6AAAAAAAAAAAABgcgQ4AAAAAAAAAAIDBEegAAAAAAAAAAAAYHIEOAAAAAAAAAACAwRHoAAAAAAAAAAAAGByBDgAAAAAAAAAAgMER6AAAAAAAAAAAABgcgQ4AAAAAAAAAAIDBEegAAAAAAAAAAAAYHIEOAAAAAAAAAACAwRHoAAAAAAAAAAAAGByBDgAAAAAAAAAAgMER6AAAAAAAAAAAABgcgQ4AAAAAAAAAAIDBEegAAAAAAAAAAAAYHIEOAAAAAAAAAACAwRHoAAAAAAAAAAAAGByBDgAAAAAAAAAAgMER6AAAAAAAAAAAABgcgQ4AAAAAAAAAAIDBEegAAAAAAAAAAAAYHIEOAAAAAAAAAACAwRHoAAAAAAAAAAAAGByBDgAAAAAAAAAAgMER6AAAAAAAAAAAABgcgQ4AAAAAAAAAAIDBEegAAAAAAAAAAAAYHIEOAAAAAAAAAACAwRHoAAAAAAAAAAAAGByBDgAAAAAAAAAAgMER6AAAAAAAAAAAABgcgQ4AAAAAAAAAAIDBEegAAAAAAAAAAAAYHIEOAAAAAAAAAACAwRHoAAAAAAAAAAAAGByBDgAAAAAAAAAAgMER6AAAAAAAAAAAABgcgQ4AAAAAAAAAAIDBEegAAAAAAAAAAAAYHIEOAAAAAAAAAACAwRHoAAAAAAAAAAAAGByBDgAAAAAAAAAAgMER6AAAAAAAAAAAABgcgQ4AAAAAAAAAAIDBEegAAAAAAAAAAAAYHIEOAAAAAAAAAACAwRHoAAAAAAAAAAAAGByBDgAAAAAAAAAAgMER6AAAAAAAAAAAABgcgQ4AAAAAAAAAAIDBEegAAAAAAAAAAAAYHIEOAAAAAAAAAACAwRHoAAAAAAAAAAAAGByBDgAAAAAAAAAAgMER6AAAAAAAAAAAABgcgQ4AAAAAAAAAAIDBEegAAAAAAAAAAAAYHIEOAAAAAAAAAACAwRHoAAAAAAAAAAAAGByBDgAAAAAAAAAAgMER6AAAAAAAAAAAABgcgQ4AAAAAAAAAAIDBEegAAAAAAAAAAAAYHIEOAAAAAAAAAACAwRHo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v379utzd3eXi4uJY3iCptG2MBQeA58hqtcpsNismJsaxLe7aObE3SG/cuKGiRYuqaNGiTqkTAJ4lbpizaNEixcTE6N69eypQoIC8vb316NEjeXp6qnbt2po9e7Zat26t0NBQubi4qH79+ipevHi889lstiTRiQYAyb6mTsuWLRUZGakZM2bo5s2bBDoAXrjYtkiShg4dqvXr1yswMFDe3t6OvlzOnDnVv39/2Ww2derUSS4uLmrfvr28vLyUL18+x7noqwFwluXLl6tjx44aN26cGjVq5Nh+48YNrV69Wu+8846qVaumFClSaPPmzercubOqVasmi8WiMWPGKFmyZOrbt68kyd/f3zEzjpS02jYCHQD4D8UdfWO1WuXl5aWsWbNq27Zt2rVrlyOwiXuDdMSIETpy5Ijmzp0rLy8vp9UOAAmJbatq166tlStXOrb7+Piof//+ypQpk2Px3Vq1amnOnDlq3769+vXrp5iYmHgdcUlMQwQgyfH19VWnTp3Url07pUqVytnlAHhJ+fr6qkWLFrJarZo6dar27Nmjs2fPKkeOHPFCnQEDBsjV1VUdO3bUo0eP1K1bt3jnoa8GwFksFossFovu378fb3vatGnVrl07FShQQClTptSxY8dUp04d1a5dW5999pkOHz6sjRs3avDgwXrw4IGGDRvmCG9i27Sk1LYljVgKAJzMYrFIkuLOYhn7j8eQIUNktVo1YMAAnTx5Ml6Ys2fPHm3YsEEeHh5iBkwARhDbFpnNZse2Tz/9VAcOHNC0adO0d+9etW7dWvfv31ejRo10+fJlubu7O0Yi1qpVSx9//LEuXLgQ7xwAkJT5+PgQ5gBwOj8/P7Vs2VJdu3ZVeHi4mjZtqvv378vV1dXxmTVnzpzq06eP3n///STztDqApKFu3brasmWL2rRpI8k+fXesli1bqlixYrp//75CQkKUO3duDR48WN7e3ipSpIhKly6tvHnzauTIkfr111+ddQkvBGvoAMC/FBvQnD59WuPHj9fhw4clSe+9954qVaqk119/XbNnz1aPHj1UoEABNWvWTDVr1tS6des0f/58HTp0SJs2bdJrr73m5CsB8DK7ceOG/P39n3py6YcfftCdO3e0e/duTZw4UZ6enrLZbOrfv79mz56tQoUK6auvvoo3UkeS44lQAAAAvFgRERGaN2+eQkJC9MYbb2jV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" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "execution_count": 31 + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/environmental_context_value_sets/soil/discover_excludable_soils.tsv b/notebooks/environmental_context_value_sets/soil/env_medium/discover_excludable_soils.tsv similarity index 67% rename from notebooks/environmental_context_value_sets/soil/discover_excludable_soils.tsv rename to notebooks/environmental_context_value_sets/soil/env_medium/discover_excludable_soils.tsv index 47f7f84a..08f08ab3 100644 --- a/notebooks/environmental_context_value_sets/soil/discover_excludable_soils.tsv +++ b/notebooks/environmental_context_value_sets/soil/env_medium/discover_excludable_soils.tsv @@ -1,401 +1,401 @@ -s s_is_soil s_is_reasonable_other slab p plab p_lab_or_id relation_is_reasonable o o_is_soil o_is_reasonable_other olab slab_olab_cosine sole_reasonable_other sole_soil -ENVO:00001998 False False soil BFO:0000050 part of part of True ENVO:01000820 False True pedosphere 0.31622776601683794 pedosphere -ENVO:00001998 False False soil BFO:0000051 has part has part True ENVO:00002982 False False clay 0.25 -ENVO:00001998 False False soil BFO:0000051 has part has part True ENVO:01000016 False False silt 0.75 -ENVO:00001998 False False soil BFO:0000051 has part has part True ENVO:01000017 False False sand 0.25 -ENVO:00001998 False False soil BFO:0000051 has part has part True ENVO:01000155 False False organic material 0.375 -ENVO:00001998 False False soil BFO:0000051 has part has part True ENVO:01000256 False False mineral material 0.25 -ENVO:00001998 False False soil RO:0000086 has quality has quality False PATO:0000984 False False porous 0.4082482904638631 -ENVO:00001998 False False soil RO:0000091 has disposition has disposition False ENVO:06105304 False False water-holding capacity of soil 0.3651483716701107 -ENVO:00001998 False False soil rdfs:subClassOf rdfs:subClassOf False ENVO:00010483 False False environmental material 0.31980107453341566 -ENVO:00001998 False False soil rdfs:subClassOf rdfs:subClassOf False ENVO:01000813 False True astronomical body part 0.42640143271122083 astronomical body part -ENVO:00002116 True False contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.6726727939963124 -ENVO:00002117 True False creosote contaminated soil ENVO:02000200 has increased levels of has increased levels of False ENVO:2000001 False True creosote 0.5547001962252291 creosote creosote contaminated soil -ENVO:00002117 True False creosote contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002116 True False contaminated soil 0.8086075400626399 -ENVO:00002145 True False chromate contaminated soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:35404 False True chromate(2-) 0.45291081365783825 chromate(2-) chromate contaminated soil -ENVO:00002145 True False chromate contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003081 True False metal contaminated soil 0.8996469021204838 -ENVO:00002146 True False xylene contaminated soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:27338 False True xylene 0.5 xylene xylene contaminated soil -ENVO:00002146 True False xylene contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002116 True False contaminated soil 0.8416254115301732 -ENVO:00002229 True False arenosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5303300858899106 arenosol -ENVO:00002230 True False anthrosol RO:0002353 output of output of False ENVO:01000952 False False anthropisation 0.7126966450997984 anthrosol -ENVO:00002230 True False anthrosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5 anthrosol -ENVO:00002230 True False anthrosol rdfs:subClassOf rdfs:subClassOf False ENVO:0010001 False False anthropogenic environmental material 0.4444444444444444 anthrosol -ENVO:00002231 True False alisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.8164965809277261 alisol -ENVO:00002232 True False andosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5669467095138409 andosol -ENVO:00002233 True False albeluvisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 albeluvisol -ENVO:00002234 True False acrisol rdfs:subClassOf rdfs:subClassOf False ENVO:01001397 True False ultisol 0.5714285714285714 -ENVO:00002235 True False cambisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 cambisol -ENVO:00002236 True False cryosol BFO:0000050 part of part of True ENVO:00000134 False False permafrost 0.35856858280031806 cryosol -ENVO:00002236 True False cryosol rdfs:subClassOf rdfs:subClassOf False ENVO:01001526 True False frozen soil 0.5698028822981898 -ENVO:00002237 True False chernozem rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.16666666666666666 chernozem -ENVO:00002238 True False durisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7559289460184544 durisol -ENVO:00002239 True False calcisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 calcisol -ENVO:00002240 True False kastanozem rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.31622776601683794 kastanozem -ENVO:00002241 True False leptosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5303300858899106 leptosol -ENVO:00002242 True False lixisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7559289460184544 lixisol -ENVO:00002243 True False histosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 histosol -ENVO:00002244 True False gleysol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5669467095138409 gleysol -ENVO:00002245 True False gypsisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 gypsisol -ENVO:00002246 True False ferralsol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5 ferralsol -ENVO:00002247 True False nitisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7559289460184544 nitisol -ENVO:00002248 True False luvisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7559289460184544 luvisol -ENVO:00002249 True False phaeozem rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.17677669529663687 phaeozem -ENVO:00002250 True False plinthosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6324555320336759 plinthosol -ENVO:00002251 True False planosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5303300858899106 planosol -ENVO:00002252 True False solonchak rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5 solonchak -ENVO:00002253 True False umbrisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 umbrisol -ENVO:00002254 True False vertisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 vertisol -ENVO:00002255 True False solonetz rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5303300858899106 solonetz -ENVO:00002256 True False regosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5669467095138409 regosol -ENVO:00002257 True False podzol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.4082482904638631 podzol -ENVO:00002258 True False loam RO:0000053 has characteristic has characteristic False ENVO:06105271 False False soil texture 0.2886751345948129 loam -ENVO:00002258 True False loam rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5 loam -ENVO:00002259 True False agricultural soil BFO:0000050 part of part of True ENVO:00000077 False True agricultural ecosystem 0.7756315349925288 agricultural ecosystem agricultural soil -ENVO:00002259 True False agricultural soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.48507125007266594 agricultural soil -ENVO:00002260 True False dune soil BFO:0000050 part of part of True ENVO:00000170 False True dune 0.6666666666666666 dune dune soil -ENVO:00002260 True False dune soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005786 True False upland soil 0.8040302522073697 -ENVO:00002261 True False forest soil RO:0001025 located in located in True ENVO:00000111 False True forested area 0.5853694070049635 forested area forest soil -ENVO:00002261 True False forest soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 forest soil -ENVO:00002262 True False clay soil RO:0002473 composed primarily of composed primarily of True ENVO:00002982 False False clay 0.6666666666666666 clay soil -ENVO:00002262 True False clay soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6666666666666666 clay soil -ENVO:00002263 True False garden soil BFO:0000050 part of part of True ENVO:00000011 False True garden 0.7385489458759964 garden garden soil -ENVO:00002263 True False garden soil RO:0001025 located in located in True ENVO:00000011 False True garden 0.7385489458759964 garden garden soil -ENVO:00002263 True False garden soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 garden soil -ENVO:00002273 True False fluvisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 fluvisol -ENVO:00002274 True False stagnosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5 stagnosol -ENVO:00002275 True False technosol BFO:0000050 part of part of True ENVO:01000983 False True technosphere 0.6735753140545634 technosphere technosol -ENVO:00002275 True False technosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5 technosol -ENVO:00002871 True False alluvial soil RO:0002353 output of output of False ENVO:01001346 False False erosion 0.3144854510165755 alluvial soil -ENVO:00002871 True False alluvial soil RO:0002354 formed as result of formed as result of False ENVO:01000982 False False water flow process 0.3268602252303067 alluvial soil -ENVO:00002871 True False alluvial soil RO:0002354 formed as result of formed as result of False ENVO:01001346 False False erosion 0.3144854510165755 alluvial soil -ENVO:00002871 True False alluvial soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5547001962252291 alluvial soil -ENVO:00002875 True False oil contaminated soil ENVO:02000200 has increased levels of has increased levels of False ENVO:00002985 False False oil 0.3779644730092272 oil contaminated soil -ENVO:00002875 True False oil contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002116 True False contaminated soil 0.8997354108424374 -ENVO:00003081 True False metal contaminated soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:33521 False True metal atom 0.659380473395787 metal atom metal contaminated soil -ENVO:00003081 True False metal contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002116 True False contaminated soil 0.8597269536210951 -ENVO:00003082 True False enriched soil ENVO:02000200 has increased levels of has increased levels of False BFO:0000040 False True material entity 0.5728918992315464 material entity enriched soil -ENVO:00003082 True False enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5547001962252291 enriched soil -ENVO:00003083 True False sarcosine enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:15611 False True sarcosine 0.6255432421712243 sarcosine sarcosine enriched soil -ENVO:00003083 True False sarcosine enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7518094115561123 -ENVO:00003084 True False trimethylamine enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:18139 False True trimethylamine 0.7071067811865476 trimethylamine trimethylamine enriched soil -ENVO:00003084 True False trimethylamine enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.6813851438692469 -ENVO:00003085 True False skatole enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:9171 False True skatole 0.5773502691896257 skatole skatole enriched soil -ENVO:00003085 True False skatole enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7867957924694432 -ENVO:00003086 True False ethanol enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:16236 False True ethanol 0.5773502691896257 ethanol ethanol enriched soil -ENVO:00003086 True False ethanol enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7867957924694432 -ENVO:00003087 True False acetamide enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:27856 False True acetamide 0.6255432421712243 acetamide acetamide enriched soil -ENVO:00003087 True False acetamide enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7518094115561123 -ENVO:00003088 True False pantothenate enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:16454 False True pantothenate 0.6793662204867574 pantothenate pantothenate enriched soil -ENVO:00003088 True False pantothenate enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7071067811865476 -ENVO:00003089 True False testosterone enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:17347 False True testosterone 0.6793662204867574 testosterone testosterone enriched soil -ENVO:00003089 True False testosterone enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7071067811865476 -ENVO:00003090 True False kynurenate enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:58454 False True kynurenate 0.6454972243679028 kynurenate kynurenate enriched soil -ENVO:00003090 True False kynurenate enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7359800721939872 -ENVO:00003091 True False threonine enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:26986 False True threonine 0.6255432421712243 threonine threonine enriched soil -ENVO:00003091 True False threonine enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7518094115561123 -ENVO:00003092 True False salicylate enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:30762 False True salicylate 0.6454972243679028 salicylate salicylate enriched soil -ENVO:00003092 True False salicylate enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7359800721939872 -ENVO:00003093 True False poly-beta-hydroxybutyrate enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:53388 False True poly(hydroxybutyrate) 0.6639137299238815 poly(hydroxybutyrate) poly-beta-hydroxybutyrate enriched soil -ENVO:00003093 True False poly-beta-hydroxybutyrate enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.5773502691896258 -ENVO:00003094 True False L-(+)-tartrate enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.6813851438692469 -ENVO:00003095 True False quinate enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:26490 False True quinate 0.5773502691896257 quinate quinate enriched soil -ENVO:00003095 True False quinate enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7867957924694432 -ENVO:00003914 True False chalk soil ENVO:02000200 has increased levels of has increased levels of False ENVO:00002054 False False chalk 0.7071067811865475 chalk soil -ENVO:00003914 True False chalk soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.6139406135149205 -ENVO:00005740 True False paddy field soil BFO:0000050 part of part of True ENVO:00000297 False True paddy field 0.82915619758885 paddy field paddy field soil -ENVO:00005740 True False paddy field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002259 True False agricultural soil 0.48507125007266594 -ENVO:00005740 True False paddy field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005755 True False field soil 0.7905694150420948 -ENVO:00005741 True False alpine soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 alpine soil -ENVO:00005742 True False arable soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 arable soil -ENVO:00005743 True False roadside soil RO:0001025 located in located in True ENVO:01000447 False True roadside 0.7844645405527362 roadside roadside soil -ENVO:00005743 True False roadside soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5547001962252291 roadside soil -ENVO:00005744 True False allotment garden soil BFO:0000050 part of part of True ENVO:00005745 False True allotment garden 0.8728715609439696 allotment garden allotment garden soil -ENVO:00005744 True False allotment garden soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002263 True False garden soil 0.7237468644557459 -ENVO:00005746 True False savanna soil RO:0001025 located in located in True ENVO:00000261 False True savanna 0.7637626158259734 savanna savanna soil -ENVO:00005746 True False savanna soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005750 True False grassland soil 0.6943650748294136 -ENVO:00005747 True False compost soil RO:0001000 derives from derives from False ENVO:00002170 False False compost 0.7637626158259734 compost soil -ENVO:00005747 True False compost soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5773502691896258 compost soil -ENVO:00005748 True False dry soil RO:0000086 has quality has quality False PATO:0001824 False False dry 0.6123724356957946 dry soil -ENVO:00005748 True False dry soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 dry soil -ENVO:00005749 True False farm soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6666666666666666 farm soil -ENVO:00005750 True False grassland soil RO:0001025 located in located in True ENVO:00000106 False True grassland area 0.7142857142857143 grassland area grassland soil -ENVO:00005750 True False grassland soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5345224838248488 grassland soil -ENVO:00005751 True False jungle soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 jungle soil -ENVO:00005752 True False sawah soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6324555320336759 sawah soil -ENVO:00005753 True False urea enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:16199 False True urea 0.47140452079103173 urea urea enriched soil -ENVO:00005753 True False urea enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.8498365855987974 -ENVO:00005754 True False fertilized soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5163977794943222 fertilized soil -ENVO:00005755 True False field soil BFO:0000050 part of part of True ENVO:00000114 False True agricultural field 0.5962847939999439 agricultural field field soil -ENVO:00005755 True False field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6324555320336759 field soil -ENVO:00005756 True False lawn soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6666666666666666 lawn soil -ENVO:00005757 True False bacteria enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7687061147858074 -ENVO:00005758 True False alluvial swamp soil BFO:0000050 part of part of True ENVO:00000233 False True swamp ecosystem 0.47387910220727386 swamp ecosystem alluvial swamp soil -ENVO:00005758 True False alluvial swamp soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002871 True False alluvial soil 0.827170191868511 -ENVO:00005759 True False alluvial paddy field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002871 True False alluvial soil 0.7211102550927979 -ENVO:00005759 True False alluvial paddy field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005740 True False paddy field soil 0.8 -ENVO:00005760 True False burned soil RO:0002353 output of output of False ENVO:01000839 False False combustion process 0.6396021490668313 burned soil -ENVO:00005760 True False burned soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 burned soil -ENVO:00005761 True False meadow soil BFO:0000050 part of part of True ENVO:00000108 False True meadow ecosystem 0.6784005252999682 meadow ecosystem meadow soil -ENVO:00005761 True False meadow soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 meadow soil -ENVO:00005762 True False chloropicrin enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:39285 False True chloropicrin 0.6793662204867574 chloropicrin chloropicrin enriched soil -ENVO:00005762 True False chloropicrin enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7071067811865476 -ENVO:00005763 True False humus-rich acidic ash soil ENVO:02000200 has increased levels of has increased levels of False ENVO:01000000 False False humus 0.43852900965351466 humus-rich acidic ash soil -ENVO:00005763 True False humus-rich acidic ash soil ENVO:02000200 has increased levels of has increased levels of False ENVO:02000090 False False ash 0.3396831102433787 humus-rich acidic ash soil -ENVO:00005763 True False humus-rich acidic ash soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.5439282932204212 -ENVO:00005764 True False pond soil RO:0002220 adjacent to adjacent to True ENVO:00000033 False True pond 0.6666666666666666 pond pond soil -ENVO:00005764 True False pond soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6666666666666666 pond soil -ENVO:00005765 True False frozen compost soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005747 True False compost soil 0.7947194142390263 -ENVO:00005765 True False frozen compost soil rdfs:subClassOf rdfs:subClassOf False ENVO:01001526 True False frozen soil 0.760885910252682 -ENVO:00005766 True False limed soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6324555320336759 limed soil -ENVO:00005767 True False manured soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5773502691896258 manured soil -ENVO:00005768 True False orchid soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 orchid soil -ENVO:00005769 True False mountain forest soil BFO:0000050 part of part of True ENVO:00000081 False True mountain 0.6324555320336759 mountain mountain forest soil -ENVO:00005769 True False mountain forest soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002261 True False forest soil 0.7416198487095663 -ENVO:00005769 True False mountain forest soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005786 True False upland soil 0.5393598899705937 -ENVO:00005770 True False beech forest soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002261 True False forest soil 0.8043996665398437 -ENVO:00005771 True False muddy soil RO:0002473 composed primarily of composed primarily of True ENVO:01000001 False False mud 0.5477225575051661 muddy soil -ENVO:00005771 True False muddy soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6324555320336759 muddy soil -ENVO:00005772 True False orchard soil BFO:0000050 part of part of True ENVO:00000115 False True orchard 0.7637626158259734 orchard orchard soil -ENVO:00005772 True False orchard soil RO:0001025 located in located in True ENVO:00000115 False True orchard 0.7637626158259734 orchard orchard soil -ENVO:00005772 True False orchard soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005749 True False farm soil 0.6735753140545634 -ENVO:00005773 True False pasture soil RO:0001025 located in located in True ENVO:00000266 False True pasture 0.7637626158259734 pasture pasture soil -ENVO:00005773 True False pasture soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5773502691896258 pasture soil -ENVO:00005774 True False peat soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002243 True False histosol 0.5892556509887896 -ENVO:00005775 True False salt contaminated soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:26710 False True sodium chloride 0.6055300708194984 sodium chloride salt contaminated soil -ENVO:00005775 True False salt contaminated soil RO:0000086 has quality has quality False PATO:0001657 False False increased osmolarity 0.7627700713964739 salt contaminated soil -ENVO:00005775 True False salt contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002116 True False contaminated soil 0.8790490729915326 -ENVO:00005776 True False peaty paddy field soil ENVO:02000200 has increased levels of has increased levels of False ENVO:00005774 True False peat soil 0.6396021490668313 -ENVO:00005776 True False peaty paddy field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.5321811563901744 -ENVO:00005776 True False peaty paddy field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005740 True False paddy field soil 0.8528028654224417 -ENVO:00005777 True False steppe soil RO:0001025 located in located in True ENVO:00000262 False True steppe 0.7385489458759964 steppe steppe soil -ENVO:00005777 True False steppe soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005750 True False grassland soil 0.48349377841522817 -ENVO:00005778 True False tropical soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5547001962252291 tropical soil -ENVO:00005779 True False vegetable garden soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002263 True False garden soil 0.7237468644557459 -ENVO:00005780 True False greenhouse soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5163977794943222 greenhouse soil -ENVO:00005781 True False heat stressed soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.47140452079103173 heat stressed soil -ENVO:00005782 True False ornithogenic soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.48507125007266594 ornithogenic soil -ENVO:00005783 True False leafy wood soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002261 True False forest soil 0.6227991553292184 -ENVO:00005784 True False spruce forest soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002261 True False forest soil 0.7817359599705717 -ENVO:00005786 True False upland soil BFO:0000050 part of part of True ENVO:00000176 False True elevated landform 0.5118906968889915 elevated landform upland soil -ENVO:00005786 True False upland soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 upland soil -ENVO:00005787 True False eucalyptus forest soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002261 True False forest soil 0.7071067811865476 -ENVO:00005788 True False rubber plantation soil BFO:0000050 part of part of True ENVO:00000164 False True rubber plantation 0.8790490729915326 rubber plantation rubber plantation soil -ENVO:00005788 True False rubber plantation soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002259 True False agricultural soil 0.6722139969935249 -ENVO:00005788 True False rubber plantation soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005749 True False farm soil 0.49746833816309105 -ENVO:00005789 True False bluegrass field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002259 True False agricultural soil 0.6507913734559685 -ENVO:00005790 True False red soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 red soil -ENVO:00005802 True False bulk soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6666666666666666 bulk soil -ENVO:01000427 True False carbon nanotube enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:50594 False True carbon nanotube 0.7191949522280763 carbon nanotube carbon nanotube enriched soil -ENVO:01000427 True False carbon nanotube enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.6695340634119862 -ENVO:01001185 True False acidic soil RO:0000086 has quality has quality False PATO:0001429 False False acidic 0.7385489458759964 acidic soil -ENVO:01001185 True False acidic soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 acidic soil -ENVO:01001397 True False ultisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7559289460184544 ultisol -ENVO:01001525 True False hard-frozen soil BFO:0000051 has part has part True ENVO:01000277 False False water ice 0.4166666666666667 hard-frozen soil -ENVO:01001525 True False hard-frozen soil RO:0000086 has quality has quality False PATO:0000386 False False hard 0.5 hard-frozen soil -ENVO:01001525 True False hard-frozen soil rdfs:subClassOf rdfs:subClassOf False ENVO:01000814 False False solid environmental material 0.5669467095138409 hard-frozen soil -ENVO:01001525 True False hard-frozen soil rdfs:subClassOf rdfs:subClassOf False ENVO:01001526 True False frozen soil 0.82915619758885 -ENVO:01001526 True False frozen soil BFO:0000050 part of part of True ENVO:01001524 False True frozen land 0.7272727272727273 frozen land frozen soil -ENVO:01001526 True False frozen soil RO:0000086 has quality has quality False PATO:0001985 False False frozen 0.7385489458759964 frozen soil -ENVO:01001526 True False frozen soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 frozen soil -ENVO:01001527 True False plastic-frozen soil BFO:0000051 has part has part True ENVO:00002006 False False liquid water 0.5298129428260175 plastic-frozen soil -ENVO:01001527 True False plastic-frozen soil rdfs:subClassOf rdfs:subClassOf False ENVO:01001526 True False frozen soil 0.760885910252682 -ENVO:01001528 True False friable-frozen soil BFO:0000051 has part has part True ENVO:01000277 False False water ice 0.45883146774112354 friable-frozen soil -ENVO:01001528 True False friable-frozen soil RO:0000086 has quality has quality False PATO:0000386 False False hard 0.22941573387056174 friable-frozen soil -ENVO:01001528 True False friable-frozen soil rdfs:subClassOf rdfs:subClassOf False ENVO:01000814 False False solid environmental material 0.6069769786668839 friable-frozen soil -ENVO:01001528 True False friable-frozen soil rdfs:subClassOf rdfs:subClassOf False ENVO:01001526 True False frozen soil 0.760885910252682 -ENVO:01001616 True False bare soil RO:0002220 adjacent to adjacent to True ENVO:01000540 False True troposphere 0.40201512610368484 troposphere bare soil -ENVO:01001616 True False bare soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6666666666666666 bare soil -ENVO:01001638 True False frost-susceptible soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.42640143271122083 frost-susceptible soil -ENVO:01001841 True False volcanic soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002232 True False andosol 0.628970902033151 -ENVO:02000059 True False surface soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5773502691896258 surface soil -ENVO:02000138 True False mangrove biome soil RO:0001025 located in located in True ENVO:01000181 False True mangrove biome 0.8583950752789522 mangrove biome mangrove biome soil -ENVO:02000138 True False mangrove biome soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.4588314677411235 mangrove biome soil -ENVO:03600036 True False pathogen-suppressive soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.4 pathogen-suppressive soil -ENVO:06105205 True False compacted soil RO:0000086 has quality has quality False PATO:0001485 False False condensed 0.44543540318737396 compacted soil -ENVO:06105205 True False compacted soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5345224838248488 compacted soil -ENVO:06105274 True False sandy loam ENVO:02000200 has increased levels of has increased levels of False ENVO:01000017 False False sand 0.6324555320336759 sandy loam -ENVO:06105274 True False sandy loam rdfs:subClassOf rdfs:subClassOf False ENVO:00002258 True False loam 0.6324555320336759 -ENVO:06105274 True False sandy loam rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.5262348115842176 -ENVO:06105275 True False silty loam ENVO:02000200 has increased levels of has increased levels of False ENVO:01000016 False False silt 0.6324555320336759 silty loam -ENVO:06105275 True False silty loam rdfs:subClassOf rdfs:subClassOf False ENVO:00002258 True False loam 0.6324555320336759 -ENVO:06105275 True False silty loam rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.43852900965351466 -ENVO:06105276 True False sandy clay loam ENVO:02000200 has increased levels of has increased levels of False ENVO:01000017 False False sand 0.5163977794943222 sandy clay loam -ENVO:06105276 True False sandy clay loam rdfs:subClassOf rdfs:subClassOf False ENVO:06105277 True False clay loam 0.7745966692414834 -ENVO:06105277 True False clay loam ENVO:02000200 has increased levels of has increased levels of False ENVO:00002982 False False clay 0.6666666666666666 clay loam -ENVO:06105277 True False clay loam rdfs:subClassOf rdfs:subClassOf False ENVO:00002258 True False loam 0.6666666666666666 -ENVO:06105277 True False clay loam rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.3698001308168194 -ENVO:06105278 True False silty clay loam ENVO:02000200 has increased levels of has increased levels of False ENVO:01000016 False False silt 0.5163977794943222 silty clay loam -ENVO:06105278 True False silty clay loam rdfs:subClassOf rdfs:subClassOf False ENVO:06105277 True False clay loam 0.7745966692414834 -ENVO:00000044 False True peatland RO:0002473 composed primarily of composed primarily of True ENVO:00005774 True False peat soil 0.5892556509887896 peatland peat soil -ENVO:00000258 False True alluvial plain RO:0002473 composed primarily of composed primarily of True ENVO:00002871 True False alluvial soil 0.8153742483272113 alluvial plain alluvial soil -ENVO:00000314 False True alluvial fan RO:0002473 composed primarily of composed primarily of True ENVO:00002871 True False alluvial soil 0.7205766921228921 alluvial fan alluvial soil -ENVO:00000413 False True pingo ENVO:01001307 partially_surrounded_by partially_surrounded_by False ENVO:00001998 False False soil 0.4472135954999579 pingo -ENVO:00002116 True False contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.6726727939963124 -ENVO:00002117 True False creosote contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002116 True False contaminated soil 0.8086075400626399 -ENVO:00002145 True False chromate contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003081 True False metal contaminated soil 0.8996469021204838 -ENVO:00002146 True False xylene contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002116 True False contaminated soil 0.8416254115301732 -ENVO:00002229 True False arenosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5303300858899106 arenosol -ENVO:00002230 True False anthrosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5 anthrosol -ENVO:00002231 True False alisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.8164965809277261 alisol -ENVO:00002232 True False andosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5669467095138409 andosol -ENVO:00002233 True False albeluvisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 albeluvisol -ENVO:00002234 True False acrisol rdfs:subClassOf rdfs:subClassOf False ENVO:01001397 True False ultisol 0.5714285714285714 -ENVO:00002235 True False cambisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 cambisol -ENVO:00002236 True False cryosol rdfs:subClassOf rdfs:subClassOf False ENVO:01001526 True False frozen soil 0.5698028822981898 -ENVO:00002237 True False chernozem rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.16666666666666666 chernozem -ENVO:00002238 True False durisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7559289460184544 durisol -ENVO:00002239 True False calcisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 calcisol -ENVO:00002240 True False kastanozem rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.31622776601683794 kastanozem -ENVO:00002241 True False leptosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5303300858899106 leptosol -ENVO:00002242 True False lixisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7559289460184544 lixisol -ENVO:00002243 True False histosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 histosol -ENVO:00002244 True False gleysol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5669467095138409 gleysol -ENVO:00002245 True False gypsisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 gypsisol -ENVO:00002246 True False ferralsol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5 ferralsol -ENVO:00002247 True False nitisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7559289460184544 nitisol -ENVO:00002248 True False luvisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7559289460184544 luvisol -ENVO:00002249 True False phaeozem rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.17677669529663687 phaeozem -ENVO:00002250 True False plinthosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6324555320336759 plinthosol -ENVO:00002251 True False planosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5303300858899106 planosol -ENVO:00002252 True False solonchak rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5 solonchak -ENVO:00002253 True False umbrisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 umbrisol -ENVO:00002254 True False vertisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 vertisol -ENVO:00002255 True False solonetz rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5303300858899106 solonetz -ENVO:00002256 True False regosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5669467095138409 regosol -ENVO:00002257 True False podzol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.4082482904638631 podzol -ENVO:00002258 True False loam rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5 loam -ENVO:00002259 True False agricultural soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.48507125007266594 agricultural soil -ENVO:00002260 True False dune soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005786 True False upland soil 0.8040302522073697 -ENVO:00002261 True False forest soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 forest soil -ENVO:00002262 True False clay soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6666666666666666 clay soil -ENVO:00002263 True False garden soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 garden soil -ENVO:00002273 True False fluvisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 fluvisol -ENVO:00002274 True False stagnosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5 stagnosol -ENVO:00002275 True False technosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5 technosol -ENVO:00002871 True False alluvial soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5547001962252291 alluvial soil -ENVO:00002875 True False oil contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002116 True False contaminated soil 0.8997354108424374 -ENVO:00003081 True False metal contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002116 True False contaminated soil 0.8597269536210951 -ENVO:00003082 True False enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5547001962252291 enriched soil -ENVO:00003083 True False sarcosine enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7518094115561123 -ENVO:00003084 True False trimethylamine enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.6813851438692469 -ENVO:00003085 True False skatole enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7867957924694432 -ENVO:00003086 True False ethanol enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7867957924694432 -ENVO:00003087 True False acetamide enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7518094115561123 -ENVO:00003088 True False pantothenate enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7071067811865476 -ENVO:00003089 True False testosterone enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7071067811865476 -ENVO:00003090 True False kynurenate enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7359800721939872 -ENVO:00003091 True False threonine enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7518094115561123 -ENVO:00003092 True False salicylate enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7359800721939872 -ENVO:00003093 True False poly-beta-hydroxybutyrate enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.5773502691896258 -ENVO:00003094 True False L-(+)-tartrate enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.6813851438692469 -ENVO:00003095 True False quinate enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7867957924694432 -ENVO:00003914 True False chalk soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.6139406135149205 -ENVO:00005740 True False paddy field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002259 True False agricultural soil 0.48507125007266594 -ENVO:00005740 True False paddy field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005755 True False field soil 0.7905694150420948 -ENVO:00005741 True False alpine soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 alpine soil -ENVO:00005742 True False arable soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 arable soil -ENVO:00005743 True False roadside soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5547001962252291 roadside soil -ENVO:00005744 True False allotment garden soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002263 True False garden soil 0.7237468644557459 -ENVO:00005746 True False savanna soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005750 True False grassland soil 0.6943650748294136 -ENVO:00005747 True False compost soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5773502691896258 compost soil -ENVO:00005748 True False dry soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 dry soil -ENVO:00005749 True False farm soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6666666666666666 farm soil -ENVO:00005750 True False grassland soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5345224838248488 grassland soil -ENVO:00005751 True False jungle soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 jungle soil -ENVO:00005752 True False sawah soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6324555320336759 sawah soil -ENVO:00005753 True False urea enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.8498365855987974 -ENVO:00005754 True False fertilized soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5163977794943222 fertilized soil -ENVO:00005755 True False field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6324555320336759 field soil -ENVO:00005756 True False lawn soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6666666666666666 lawn soil -ENVO:00005757 True False bacteria enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7687061147858074 -ENVO:00005758 True False alluvial swamp soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002871 True False alluvial soil 0.827170191868511 -ENVO:00005759 True False alluvial paddy field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002871 True False alluvial soil 0.7211102550927979 -ENVO:00005759 True False alluvial paddy field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005740 True False paddy field soil 0.8 -ENVO:00005760 True False burned soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 burned soil -ENVO:00005761 True False meadow soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 meadow soil -ENVO:00005762 True False chloropicrin enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7071067811865476 -ENVO:00005763 True False humus-rich acidic ash soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.5439282932204212 -ENVO:00005764 True False pond soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6666666666666666 pond soil -ENVO:00005765 True False frozen compost soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005747 True False compost soil 0.7947194142390263 -ENVO:00005765 True False frozen compost soil rdfs:subClassOf rdfs:subClassOf False ENVO:01001526 True False frozen soil 0.760885910252682 -ENVO:00005766 True False limed soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6324555320336759 limed soil -ENVO:00005767 True False manured soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5773502691896258 manured soil -ENVO:00005768 True False orchid soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 orchid soil -ENVO:00005769 True False mountain forest soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002261 True False forest soil 0.7416198487095663 -ENVO:00005769 True False mountain forest soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005786 True False upland soil 0.5393598899705937 -ENVO:00005770 True False beech forest soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002261 True False forest soil 0.8043996665398437 -ENVO:00005771 True False muddy soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6324555320336759 muddy soil -ENVO:00005772 True False orchard soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005749 True False farm soil 0.6735753140545634 -ENVO:00005773 True False pasture soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5773502691896258 pasture soil -ENVO:00005774 True False peat soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002243 True False histosol 0.5892556509887896 -ENVO:00005775 True False salt contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002116 True False contaminated soil 0.8790490729915326 -ENVO:00005776 True False peaty paddy field soil ENVO:02000200 has increased levels of has increased levels of False ENVO:00005774 True False peat soil 0.6396021490668313 -ENVO:00005776 True False peaty paddy field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.5321811563901744 -ENVO:00005776 True False peaty paddy field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005740 True False paddy field soil 0.8528028654224417 -ENVO:00005777 True False steppe soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005750 True False grassland soil 0.48349377841522817 -ENVO:00005778 True False tropical soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5547001962252291 tropical soil -ENVO:00005779 True False vegetable garden soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002263 True False garden soil 0.7237468644557459 -ENVO:00005780 True False greenhouse soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5163977794943222 greenhouse soil -ENVO:00005781 True False heat stressed soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.47140452079103173 heat stressed soil -ENVO:00005782 True False ornithogenic soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.48507125007266594 ornithogenic soil -ENVO:00005783 True False leafy wood soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002261 True False forest soil 0.6227991553292184 -ENVO:00005784 True False spruce forest soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002261 True False forest soil 0.7817359599705717 -ENVO:00005786 True False upland soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 upland soil -ENVO:00005787 True False eucalyptus forest soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002261 True False forest soil 0.7071067811865476 -ENVO:00005788 True False rubber plantation soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002259 True False agricultural soil 0.6722139969935249 -ENVO:00005788 True False rubber plantation soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005749 True False farm soil 0.49746833816309105 -ENVO:00005789 True False bluegrass field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002259 True False agricultural soil 0.6507913734559685 -ENVO:00005790 True False red soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 red soil -ENVO:00005801 False True rhizosphere BFO:0000050 part of part of True ENVO:00001998 False False soil 0.45226701686664544 rhizosphere -ENVO:00005802 True False bulk soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6666666666666666 bulk soil -ENVO:01000001 False False mud BFO:0000051 has part has part True ENVO:00001998 False False soil 0.0 -ENVO:01000427 True False carbon nanotube enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.6695340634119862 -ENVO:01000698 False False debris flow RO:0000057 has participant has participant False ENVO:00001998 False False soil 0.6030226891555273 -ENVO:01000706 False False soil erosion RO:0000057 has participant has participant False ENVO:00001998 False False soil 0.5773502691896258 -ENVO:01000820 False True pedosphere RO:0002473 composed primarily of composed primarily of True ENVO:00001998 False False soil 0.31622776601683794 pedosphere -ENVO:01001044 False True soil environment RO:0002507 determined by determined by False ENVO:00001998 False False soil 0.5 soil environment -ENVO:01001185 True False acidic soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 acidic soil -ENVO:01001397 True False ultisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7559289460184544 ultisol -ENVO:01001525 True False hard-frozen soil rdfs:subClassOf rdfs:subClassOf False ENVO:01001526 True False frozen soil 0.82915619758885 -ENVO:01001526 True False frozen soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 frozen soil -ENVO:01001527 True False plastic-frozen soil rdfs:subClassOf rdfs:subClassOf False ENVO:01001526 True False frozen soil 0.760885910252682 -ENVO:01001528 True False friable-frozen soil rdfs:subClassOf rdfs:subClassOf False ENVO:01001526 True False frozen soil 0.760885910252682 -ENVO:01001616 True False bare soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6666666666666666 bare soil -ENVO:01001638 True False frost-susceptible soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.42640143271122083 frost-susceptible soil -ENVO:01001664 False False cryoturbation of soil RO:0000057 has participant has participant False ENVO:00001998 False False soil 0.4364357804719848 -ENVO:01001841 True False volcanic soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002232 True False andosol 0.628970902033151 -ENVO:02000059 True False surface soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5773502691896258 surface soil -ENVO:02000122 False False peat drainage BFO:0000066 occurs in occurs in False ENVO:00005774 True False peat soil 0.554700196225229 peat soil -ENVO:02000138 True False mangrove biome soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.4588314677411235 mangrove biome soil -ENVO:02500038 False False soil pollution BFO:0000066 occurs in occurs in False ENVO:00001998 False False soil 0.5345224838248488 -ENVO:02500038 False False soil pollution RO:0002234 has output has output False ENVO:00002116 True False contaminated soil 0.583383351196948 contaminated soil -ENVO:03000008 False False compaction process RO:0002234 has output has output False ENVO:06105205 True False compacted soil 0.7559289460184544 compacted soil -ENVO:03600036 True False pathogen-suppressive soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.4 pathogen-suppressive soil -ENVO:04000008 False False soil organic matter BFO:0000050 part of part of True ENVO:00001998 False False soil 0.4588314677411235 -ENVO:04000011 False True bare soil surface layer RO:0002473 composed primarily of composed primarily of True ENVO:01001616 True False bare soil 0.6255432421712243 bare soil surface layer bare soil -ENVO:06105205 True False compacted soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5345224838248488 compacted soil -ENVO:06105232 False False soil albedo RO:0000052 characteristic of characteristic of False ENVO:00001998 False False soil 0.6030226891555273 -ENVO:06105241 False False soil drainage BFO:0000066 occurs in occurs in False ENVO:00001998 False False soil 0.5547001962252291 -ENVO:06105266 False True soil layer RO:0002473 composed primarily of composed primarily of True ENVO:00001998 False False soil 0.6324555320336759 soil layer -ENVO:06105271 False False soil texture RO:0000052 characteristic of characteristic of False ENVO:00001998 False False soil 0.5773502691896258 -ENVO:06105272 False False loamy sand BFO:0000051 has part has part True ENVO:00002258 True False loam 0.6324555320336759 loam -ENVO:06105274 True False sandy loam rdfs:subClassOf rdfs:subClassOf False ENVO:00002258 True False loam 0.6324555320336759 -ENVO:06105274 True False sandy loam rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.5262348115842176 -ENVO:06105275 True False silty loam rdfs:subClassOf rdfs:subClassOf False ENVO:00002258 True False loam 0.6324555320336759 -ENVO:06105275 True False silty loam rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.43852900965351466 -ENVO:06105276 True False sandy clay loam rdfs:subClassOf rdfs:subClassOf False ENVO:06105277 True False clay loam 0.7745966692414834 -ENVO:06105277 True False clay loam rdfs:subClassOf rdfs:subClassOf False ENVO:00002258 True False loam 0.6666666666666666 -ENVO:06105277 True False clay loam rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.3698001308168194 -ENVO:06105278 True False silty clay loam rdfs:subClassOf rdfs:subClassOf False ENVO:06105277 True False clay loam 0.7745966692414834 -ENVO:06105304 False False water-holding capacity of soil RO:0000052 characteristic of characteristic of False ENVO:00001998 False False soil 0.3651483716701107 -ENVO:09000028 False False evaporation of liquid water in soil BFO:0000066 occurs in occurs in False ENVO:00001998 False False soil 0.3380617018914066 -ENVO:09200005 False False mass density of soil RO:0000052 characteristic of characteristic of False ENVO:00001998 False False soil 0.4472135954999579 -ENVO:09200009 False False structure of soil RO:0000052 characteristic of characteristic of False ENVO:00001998 False False soil 0.48507125007266594 -ENVO:09200010 False False acidity of soil RO:0000052 characteristic of characteristic of False ENVO:00001998 False False soil 0.5163977794943222 -ENVO:09200012 False False temperature of soil RO:0000052 characteristic of characteristic of False ENVO:00001998 False False soil 0.4588314677411235 -ENVO:09200013 False False wetness of soil RO:0000052 characteristic of characteristic of False ENVO:00001998 False False soil 0.5163977794943222 -ENVO:09200015 False False humidity of soil RO:0000052 characteristic of characteristic of False ENVO:00001998 False False soil 0.5 -ENVO:09200016 False False conductivity of soil RO:0000052 characteristic of characteristic of False ENVO:00001998 False False soil 0.4472135954999579 -ENVO:09200021 False False color of soil RO:0000052 characteristic of characteristic of False ENVO:00001998 False False soil 0.5547001962252291 -ENVO:09200029 False False thickness of topsoil RO:0000052 characteristic of characteristic of False ENVO:02000059 True False surface soil 0.5809475019311126 surface soil -ENVO:2000008 False False lignite RO:0001000 derives from derives from False ENVO:00005774 True False peat soil 0.5039526306789696 peat soil +s s_is_soil s_is_reasonable_other slab p plab p_lab_or_id relation_is_reasonable o o_is_soil o_is_reasonable_other olab slab_olab_cosine sole_soil +ENVO:00002116 True False contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.6726727939963124 +ENVO:00002117 True False creosote contaminated soil ENVO:02000200 has increased levels of has increased levels of False ENVO:2000001 False False creosote 0.5547001962252291 creosote contaminated soil +ENVO:00002117 True False creosote contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002116 True False contaminated soil 0.8086075400626399 +ENVO:00002146 True False xylene contaminated soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:27338 False False xylene 0.5 xylene contaminated soil +ENVO:00002146 True False xylene contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002116 True False contaminated soil 0.8416254115301732 +ENVO:00002229 True False arenosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5303300858899106 arenosol +ENVO:00002231 True False alisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.8164965809277261 alisol +ENVO:00002232 True False andosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5669467095138409 andosol +ENVO:00002233 True False albeluvisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 albeluvisol +ENVO:00002234 True False acrisol rdfs:subClassOf rdfs:subClassOf False ENVO:01001397 True False ultisol 0.5714285714285714 +ENVO:00002235 True False cambisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 cambisol +ENVO:00002236 True False cryosol BFO:0000050 part of part of True ENVO:00000134 False False permafrost 0.35856858280031806 cryosol +ENVO:00002236 True False cryosol rdfs:subClassOf rdfs:subClassOf False ENVO:01001526 True False frozen soil 0.5698028822981898 +ENVO:00002237 True False chernozem rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.16666666666666666 chernozem +ENVO:00002238 True False durisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7559289460184544 durisol +ENVO:00002239 True False calcisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 calcisol +ENVO:00002240 True False kastanozem rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.31622776601683794 kastanozem +ENVO:00002241 True False leptosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5303300858899106 leptosol +ENVO:00002243 True False histosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 histosol +ENVO:00002244 True False gleysol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5669467095138409 gleysol +ENVO:00002245 True False gypsisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 gypsisol +ENVO:00002246 True False ferralsol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5 ferralsol +ENVO:00002247 True False nitisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7559289460184544 nitisol +ENVO:00002248 True False luvisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7559289460184544 luvisol +ENVO:00002249 True False phaeozem rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.17677669529663687 phaeozem +ENVO:00002250 True False plinthosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6324555320336759 plinthosol +ENVO:00002251 True False planosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5303300858899106 planosol +ENVO:00002253 True False umbrisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 umbrisol +ENVO:00002256 True False regosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5669467095138409 regosol +ENVO:00002257 True False podzol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.4082482904638631 podzol +ENVO:00002258 True False loam RO:0000053 has characteristic has characteristic False ENVO:06105271 False False soil texture 0.2886751345948129 loam +ENVO:00002258 True False loam rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5 loam +ENVO:00002261 True False forest soil RO:0001025 located in located in True ENVO:00000111 False False forested area 0.5853694070049635 forest soil +ENVO:00002261 True False forest soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 forest soil +ENVO:00002262 True False clay soil RO:0002473 composed primarily of composed primarily of True ENVO:00002982 False False clay 0.6666666666666666 clay soil +ENVO:00002262 True False clay soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6666666666666666 clay soil +ENVO:00002273 True False fluvisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 fluvisol +ENVO:00002275 True False technosol BFO:0000050 part of part of True ENVO:01000983 False False technosphere 0.6735753140545634 technosol +ENVO:00002275 True False technosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5 technosol +ENVO:00002871 True False alluvial soil RO:0002353 output of output of False ENVO:01001346 False False erosion 0.3144854510165755 alluvial soil +ENVO:00002871 True False alluvial soil RO:0002354 formed as result of formed as result of False ENVO:01000982 False False water flow process 0.3268602252303067 alluvial soil +ENVO:00002871 True False alluvial soil RO:0002354 formed as result of formed as result of False ENVO:01001346 False False erosion 0.3144854510165755 alluvial soil +ENVO:00002871 True False alluvial soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5547001962252291 alluvial soil +ENVO:00002875 True False oil contaminated soil ENVO:02000200 has increased levels of has increased levels of False ENVO:00002985 False False oil 0.3779644730092272 oil contaminated soil +ENVO:00002875 True False oil contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002116 True False contaminated soil 0.8997354108424374 +ENVO:00003082 True False enriched soil ENVO:02000200 has increased levels of has increased levels of False BFO:0000040 False False material entity 0.5728918992315464 enriched soil +ENVO:00003082 True False enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5547001962252291 enriched soil +ENVO:00003083 True False sarcosine enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:15611 False False sarcosine 0.6255432421712243 sarcosine enriched soil +ENVO:00003083 True False sarcosine enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7518094115561123 +ENVO:00003084 True False trimethylamine enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:18139 False False trimethylamine 0.7071067811865476 trimethylamine enriched soil +ENVO:00003084 True False trimethylamine enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.6813851438692469 +ENVO:00003085 True False skatole enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:9171 False False skatole 0.5773502691896257 skatole enriched soil +ENVO:00003085 True False skatole enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7867957924694432 +ENVO:00003086 True False ethanol enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:16236 False False ethanol 0.5773502691896257 ethanol enriched soil +ENVO:00003086 True False ethanol enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7867957924694432 +ENVO:00003087 True False acetamide enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:27856 False False acetamide 0.6255432421712243 acetamide enriched soil +ENVO:00003087 True False acetamide enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7518094115561123 +ENVO:00003088 True False pantothenate enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:16454 False False pantothenate 0.6793662204867574 pantothenate enriched soil +ENVO:00003088 True False pantothenate enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7071067811865476 +ENVO:00003095 True False quinate enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:26490 False False quinate 0.5773502691896257 quinate enriched soil +ENVO:00003095 True False quinate enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7867957924694432 +ENVO:00003914 True False chalk soil ENVO:02000200 has increased levels of has increased levels of False ENVO:00002054 False False chalk 0.7071067811865475 chalk soil +ENVO:00003914 True False chalk soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.6139406135149205 +ENVO:00005740 True False paddy field soil BFO:0000050 part of part of True ENVO:00000297 False False paddy field 0.82915619758885 paddy field soil +ENVO:00005740 True False paddy field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002259 True False agricultural soil 0.48507125007266594 +ENVO:00005740 True False paddy field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005755 True False field soil 0.7905694150420948 +ENVO:00005741 True False alpine soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 alpine soil +ENVO:00005742 True False arable soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 arable soil +ENVO:00005743 True False roadside soil RO:0001025 located in located in True ENVO:01000447 False False roadside 0.7844645405527362 roadside soil +ENVO:00005743 True False roadside soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5547001962252291 roadside soil +ENVO:00005744 True False allotment garden soil BFO:0000050 part of part of True ENVO:00005745 False False allotment garden 0.8728715609439696 allotment garden soil +ENVO:00005744 True False allotment garden soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002263 True False garden soil 0.7237468644557459 +ENVO:00005747 True False compost soil RO:0001000 derives from derives from False ENVO:00002170 False False compost 0.7637626158259734 compost soil +ENVO:00005747 True False compost soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5773502691896258 compost soil +ENVO:00005748 True False dry soil RO:0000086 has quality has quality False PATO:0001824 False False dry 0.6123724356957946 dry soil +ENVO:00005748 True False dry soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 dry soil +ENVO:00005749 True False farm soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6666666666666666 farm soil +ENVO:00005750 True False grassland soil RO:0001025 located in located in True ENVO:00000106 False False grassland area 0.7142857142857143 grassland soil +ENVO:00005750 True False grassland soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5345224838248488 grassland soil +ENVO:00005751 True False jungle soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 jungle soil +ENVO:00005752 True False sawah soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6324555320336759 sawah soil +ENVO:00005753 True False urea enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:16199 False False urea 0.47140452079103173 urea enriched soil +ENVO:00005753 True False urea enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.8498365855987974 +ENVO:00005754 True False fertilized soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5163977794943222 fertilized soil +ENVO:00005755 True False field soil BFO:0000050 part of part of True ENVO:00000114 False False agricultural field 0.5962847939999439 field soil +ENVO:00005755 True False field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6324555320336759 field soil +ENVO:00005756 True False lawn soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6666666666666666 lawn soil +ENVO:00005757 True False bacteria enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7687061147858074 +ENVO:00005758 True False alluvial swamp soil BFO:0000050 part of part of True ENVO:00000233 False False swamp ecosystem 0.47387910220727386 alluvial swamp soil +ENVO:00005758 True False alluvial swamp soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002871 True False alluvial soil 0.827170191868511 +ENVO:00005760 True False burned soil RO:0002353 output of output of False ENVO:01000839 False False combustion process 0.6396021490668313 burned soil +ENVO:00005760 True False burned soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 burned soil +ENVO:00005761 True False meadow soil BFO:0000050 part of part of True ENVO:00000108 False False meadow ecosystem 0.6784005252999682 meadow soil +ENVO:00005761 True False meadow soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 meadow soil +ENVO:00005762 True False chloropicrin enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:39285 False False chloropicrin 0.6793662204867574 chloropicrin enriched soil +ENVO:00005762 True False chloropicrin enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7071067811865476 +ENVO:00005763 True False humus-rich acidic ash soil ENVO:02000200 has increased levels of has increased levels of False ENVO:01000000 False False humus 0.43852900965351466 humus-rich acidic ash soil +ENVO:00005763 True False humus-rich acidic ash soil ENVO:02000200 has increased levels of has increased levels of False ENVO:02000090 False False ash 0.3396831102433787 humus-rich acidic ash soil +ENVO:00005763 True False humus-rich acidic ash soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.5439282932204212 +ENVO:00005764 True False pond soil RO:0002220 adjacent to adjacent to True ENVO:00000033 False False pond 0.6666666666666666 pond soil +ENVO:00005764 True False pond soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6666666666666666 pond soil +ENVO:00005765 True False frozen compost soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005747 True False compost soil 0.7947194142390263 +ENVO:00005765 True False frozen compost soil rdfs:subClassOf rdfs:subClassOf False ENVO:01001526 True False frozen soil 0.760885910252682 +ENVO:00005766 True False limed soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6324555320336759 limed soil +ENVO:00005767 True False manured soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5773502691896258 manured soil +ENVO:00005768 True False orchid soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 orchid soil +ENVO:00005769 True False mountain forest soil BFO:0000050 part of part of True ENVO:00000081 False False mountain 0.6324555320336759 mountain forest soil +ENVO:00005769 True False mountain forest soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002261 True False forest soil 0.7416198487095663 +ENVO:00005769 True False mountain forest soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005786 True False upland soil 0.5393598899705937 +ENVO:00005770 True False beech forest soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002261 True False forest soil 0.8043996665398437 +ENVO:00005771 True False muddy soil RO:0002473 composed primarily of composed primarily of True ENVO:01000001 False False mud 0.5477225575051661 muddy soil +ENVO:00005771 True False muddy soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6324555320336759 muddy soil +ENVO:00005773 True False pasture soil RO:0001025 located in located in True ENVO:00000266 False False pasture 0.7637626158259734 pasture soil +ENVO:00005773 True False pasture soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5773502691896258 pasture soil +ENVO:00005774 True False peat soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002243 True False histosol 0.5892556509887896 +ENVO:00005777 True False steppe soil RO:0001025 located in located in True ENVO:00000262 False False steppe 0.7385489458759964 steppe soil +ENVO:00005777 True False steppe soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005750 True False grassland soil 0.48349377841522817 +ENVO:00005778 True False tropical soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5547001962252291 tropical soil +ENVO:00005779 True False vegetable garden soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002263 True False garden soil 0.7237468644557459 +ENVO:00005781 True False heat stressed soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.47140452079103173 heat stressed soil +ENVO:00005782 True False ornithogenic soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.48507125007266594 ornithogenic soil +ENVO:00005783 True False leafy wood soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002261 True False forest soil 0.6227991553292184 +ENVO:00005784 True False spruce forest soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002261 True False forest soil 0.7817359599705717 +ENVO:00005786 True False upland soil BFO:0000050 part of part of True ENVO:00000176 False False elevated landform 0.5118906968889915 upland soil +ENVO:00005786 True False upland soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 upland soil +ENVO:00005788 True False rubber plantation soil BFO:0000050 part of part of True ENVO:00000164 False False rubber plantation 0.8790490729915326 rubber plantation soil +ENVO:00005788 True False rubber plantation soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002259 True False agricultural soil 0.6722139969935249 +ENVO:00005788 True False rubber plantation soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005749 True False farm soil 0.49746833816309105 +ENVO:00005790 True False red soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 red soil +ENVO:00005802 True False bulk soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6666666666666666 bulk soil +ENVO:01000427 True False carbon nanotube enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:50594 False False carbon nanotube 0.7191949522280763 carbon nanotube enriched soil +ENVO:01000427 True False carbon nanotube enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.6695340634119862 +ENVO:01001185 True False acidic soil RO:0000086 has quality has quality False PATO:0001429 False False acidic 0.7385489458759964 acidic soil +ENVO:01001185 True False acidic soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 acidic soil +ENVO:01001397 True False ultisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7559289460184544 ultisol +ENVO:01001526 True False frozen soil BFO:0000050 part of part of True ENVO:01001524 False False frozen land 0.7272727272727273 frozen soil +ENVO:01001526 True False frozen soil RO:0000086 has quality has quality False PATO:0001985 False False frozen 0.7385489458759964 frozen soil +ENVO:01001526 True False frozen soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 frozen soil +ENVO:01001528 True False friable-frozen soil BFO:0000051 has part has part True ENVO:01000277 False False water ice 0.45883146774112354 friable-frozen soil +ENVO:01001528 True False friable-frozen soil RO:0000086 has quality has quality False PATO:0000386 False False hard 0.22941573387056174 friable-frozen soil +ENVO:01001528 True False friable-frozen soil rdfs:subClassOf rdfs:subClassOf False ENVO:01000814 False False solid environmental material 0.6069769786668839 friable-frozen soil +ENVO:01001528 True False friable-frozen soil rdfs:subClassOf rdfs:subClassOf False ENVO:01001526 True False frozen soil 0.760885910252682 +ENVO:01001616 True False bare soil RO:0002220 adjacent to adjacent to True ENVO:01000540 False False troposphere 0.40201512610368484 bare soil +ENVO:01001616 True False bare soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6666666666666666 bare soil +ENVO:01001638 True False frost-susceptible soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.42640143271122083 frost-susceptible soil +ENVO:01001841 True False volcanic soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002232 True False andosol 0.628970902033151 +ENVO:02000059 True False surface soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5773502691896258 surface soil +ENVO:02000138 True False mangrove biome soil RO:0001025 located in located in True ENVO:01000181 False False mangrove biome 0.8583950752789522 mangrove biome soil +ENVO:02000138 True False mangrove biome soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.4588314677411235 mangrove biome soil +ENVO:03600036 True False pathogen-suppressive soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.4 pathogen-suppressive soil +ENVO:06105205 True False compacted soil RO:0000086 has quality has quality False PATO:0001485 False False condensed 0.44543540318737396 compacted soil +ENVO:06105205 True False compacted soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5345224838248488 compacted soil +ENVO:06105275 True False silty loam ENVO:02000200 has increased levels of has increased levels of False ENVO:01000016 False False silt 0.6324555320336759 silty loam +ENVO:06105275 True False silty loam rdfs:subClassOf rdfs:subClassOf False ENVO:00002258 True False loam 0.6324555320336759 +ENVO:06105275 True False silty loam rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.43852900965351466 +ENVO:06105277 True False clay loam ENVO:02000200 has increased levels of has increased levels of False ENVO:00002982 False False clay 0.6666666666666666 clay loam +ENVO:06105277 True False clay loam rdfs:subClassOf rdfs:subClassOf False ENVO:00002258 True False loam 0.6666666666666666 +ENVO:06105277 True False clay loam rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.3698001308168194 +ENVO:06105278 True False silty clay loam ENVO:02000200 has increased levels of has increased levels of False ENVO:01000016 False False silt 0.5163977794943222 silty clay loam +ENVO:06105278 True False silty clay loam rdfs:subClassOf rdfs:subClassOf False ENVO:06105277 True False clay loam 0.7745966692414834 +ENVO:00001998 False False soil BFO:0000050 part of part of True ENVO:01000820 False False pedosphere 0.31622776601683794 +ENVO:00001998 False False soil BFO:0000051 has part has part True ENVO:00002982 False False clay 0.25 +ENVO:00001998 False False soil BFO:0000051 has part has part True ENVO:01000016 False False silt 0.75 +ENVO:00001998 False False soil BFO:0000051 has part has part True ENVO:01000017 False False sand 0.25 +ENVO:00001998 False False soil BFO:0000051 has part has part True ENVO:01000155 False False organic material 0.375 +ENVO:00001998 False False soil BFO:0000051 has part has part True ENVO:01000256 False False mineral material 0.25 +ENVO:00001998 False False soil RO:0000086 has quality has quality False PATO:0000984 False False porous 0.4082482904638631 +ENVO:00001998 False False soil RO:0000091 has disposition has disposition False ENVO:06105304 False False water-holding capacity of soil 0.3651483716701107 +ENVO:00001998 False False soil rdfs:subClassOf rdfs:subClassOf False ENVO:00010483 False False environmental material 0.31980107453341566 +ENVO:00001998 False False soil rdfs:subClassOf rdfs:subClassOf False ENVO:01000813 False False astronomical body part 0.42640143271122083 +ENVO:00002145 True False chromate contaminated soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:35404 False False chromate(2-) 0.45291081365783825 chromate contaminated soil +ENVO:00002145 True False chromate contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003081 True False metal contaminated soil 0.8996469021204838 +ENVO:00002230 True False anthrosol RO:0002353 output of output of False ENVO:01000952 False False anthropisation 0.7126966450997984 anthrosol +ENVO:00002230 True False anthrosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5 anthrosol +ENVO:00002230 True False anthrosol rdfs:subClassOf rdfs:subClassOf False ENVO:0010001 False False anthropogenic environmental material 0.4444444444444444 anthrosol +ENVO:00002242 True False lixisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7559289460184544 lixisol +ENVO:00002252 True False solonchak rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5 solonchak +ENVO:00002254 True False vertisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 vertisol +ENVO:00002255 True False solonetz rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5303300858899106 solonetz +ENVO:00002259 True False agricultural soil BFO:0000050 part of part of True ENVO:00000077 False False agricultural ecosystem 0.7756315349925288 agricultural soil +ENVO:00002259 True False agricultural soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.48507125007266594 agricultural soil +ENVO:00002260 True False dune soil BFO:0000050 part of part of True ENVO:00000170 False False dune 0.6666666666666666 dune soil +ENVO:00002260 True False dune soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005786 True False upland soil 0.8040302522073697 +ENVO:00002263 True False garden soil BFO:0000050 part of part of True ENVO:00000011 False False garden 0.7385489458759964 garden soil +ENVO:00002263 True False garden soil RO:0001025 located in located in True ENVO:00000011 False False garden 0.7385489458759964 garden soil +ENVO:00002263 True False garden soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 garden soil +ENVO:00002274 True False stagnosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5 stagnosol +ENVO:00003081 True False metal contaminated soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:33521 False False metal atom 0.659380473395787 metal contaminated soil +ENVO:00003081 True False metal contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002116 True False contaminated soil 0.8597269536210951 +ENVO:00003089 True False testosterone enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:17347 False False testosterone 0.6793662204867574 testosterone enriched soil +ENVO:00003089 True False testosterone enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7071067811865476 +ENVO:00003090 True False kynurenate enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:58454 False False kynurenate 0.6454972243679028 kynurenate enriched soil +ENVO:00003090 True False kynurenate enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7359800721939872 +ENVO:00003091 True False threonine enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:26986 False False threonine 0.6255432421712243 threonine enriched soil +ENVO:00003091 True False threonine enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7518094115561123 +ENVO:00003092 True False salicylate enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:30762 False False salicylate 0.6454972243679028 salicylate enriched soil +ENVO:00003092 True False salicylate enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7359800721939872 +ENVO:00003093 True False poly-beta-hydroxybutyrate enriched soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:53388 False False poly(hydroxybutyrate) 0.6639137299238815 poly-beta-hydroxybutyrate enriched soil +ENVO:00003093 True False poly-beta-hydroxybutyrate enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.5773502691896258 +ENVO:00003094 True False L-(+)-tartrate enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.6813851438692469 +ENVO:00005746 True False savanna soil RO:0001025 located in located in True ENVO:00000261 False False savanna 0.7637626158259734 savanna soil +ENVO:00005746 True False savanna soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005750 True False grassland soil 0.6943650748294136 +ENVO:00005759 True False alluvial paddy field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002871 True False alluvial soil 0.7211102550927979 +ENVO:00005759 True False alluvial paddy field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005740 True False paddy field soil 0.8 +ENVO:00005772 True False orchard soil BFO:0000050 part of part of True ENVO:00000115 False False orchard 0.7637626158259734 orchard soil +ENVO:00005772 True False orchard soil RO:0001025 located in located in True ENVO:00000115 False False orchard 0.7637626158259734 orchard soil +ENVO:00005772 True False orchard soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005749 True False farm soil 0.6735753140545634 +ENVO:00005775 True False salt contaminated soil ENVO:02000200 has increased levels of has increased levels of False CHEBI:26710 False False sodium chloride 0.6055300708194984 salt contaminated soil +ENVO:00005775 True False salt contaminated soil RO:0000086 has quality has quality False PATO:0001657 False False increased osmolarity 0.7627700713964739 salt contaminated soil +ENVO:00005775 True False salt contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002116 True False contaminated soil 0.8790490729915326 +ENVO:00005776 True False peaty paddy field soil ENVO:02000200 has increased levels of has increased levels of False ENVO:00005774 True False peat soil 0.6396021490668313 +ENVO:00005776 True False peaty paddy field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.5321811563901744 +ENVO:00005776 True False peaty paddy field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005740 True False paddy field soil 0.8528028654224417 +ENVO:00005780 True False greenhouse soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5163977794943222 greenhouse soil +ENVO:00005787 True False eucalyptus forest soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002261 True False forest soil 0.7071067811865476 +ENVO:00005789 True False bluegrass field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002259 True False agricultural soil 0.6507913734559685 +ENVO:01001525 True False hard-frozen soil BFO:0000051 has part has part True ENVO:01000277 False False water ice 0.4166666666666667 hard-frozen soil +ENVO:01001525 True False hard-frozen soil RO:0000086 has quality has quality False PATO:0000386 False False hard 0.5 hard-frozen soil +ENVO:01001525 True False hard-frozen soil rdfs:subClassOf rdfs:subClassOf False ENVO:01000814 False False solid environmental material 0.5669467095138409 hard-frozen soil +ENVO:01001525 True False hard-frozen soil rdfs:subClassOf rdfs:subClassOf False ENVO:01001526 True False frozen soil 0.82915619758885 +ENVO:01001527 True False plastic-frozen soil BFO:0000051 has part has part True ENVO:00002006 False False liquid water 0.5298129428260175 plastic-frozen soil +ENVO:01001527 True False plastic-frozen soil rdfs:subClassOf rdfs:subClassOf False ENVO:01001526 True False frozen soil 0.760885910252682 +ENVO:06105274 True False sandy loam ENVO:02000200 has increased levels of has increased levels of False ENVO:01000017 False False sand 0.6324555320336759 sandy loam +ENVO:06105274 True False sandy loam rdfs:subClassOf rdfs:subClassOf False ENVO:00002258 True False loam 0.6324555320336759 +ENVO:06105274 True False sandy loam rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.5262348115842176 +ENVO:06105276 True False sandy clay loam ENVO:02000200 has increased levels of has increased levels of False ENVO:01000017 False False sand 0.5163977794943222 sandy clay loam +ENVO:06105276 True False sandy clay loam rdfs:subClassOf rdfs:subClassOf False ENVO:06105277 True False clay loam 0.7745966692414834 +ENVO:00000044 False False peatland RO:0002473 composed primarily of composed primarily of True ENVO:00005774 True False peat soil 0.5892556509887896 peat soil +ENVO:00000258 False False alluvial plain RO:0002473 composed primarily of composed primarily of True ENVO:00002871 True False alluvial soil 0.8153742483272113 alluvial soil +ENVO:00000314 False False alluvial fan RO:0002473 composed primarily of composed primarily of True ENVO:00002871 True False alluvial soil 0.7205766921228921 alluvial soil +ENVO:00002116 True False contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.6726727939963124 +ENVO:00002117 True False creosote contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002116 True False contaminated soil 0.8086075400626399 +ENVO:00002146 True False xylene contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002116 True False contaminated soil 0.8416254115301732 +ENVO:00002234 True False acrisol rdfs:subClassOf rdfs:subClassOf False ENVO:01001397 True False ultisol 0.5714285714285714 +ENVO:00002236 True False cryosol rdfs:subClassOf rdfs:subClassOf False ENVO:01001526 True False frozen soil 0.5698028822981898 +ENVO:00002260 True False dune soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005786 True False upland soil 0.8040302522073697 +ENVO:00002875 True False oil contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002116 True False contaminated soil 0.8997354108424374 +ENVO:00003081 True False metal contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002116 True False contaminated soil 0.8597269536210951 +ENVO:00003083 True False sarcosine enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7518094115561123 +ENVO:00003084 True False trimethylamine enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.6813851438692469 +ENVO:00003085 True False skatole enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7867957924694432 +ENVO:00003086 True False ethanol enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7867957924694432 +ENVO:00003087 True False acetamide enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7518094115561123 +ENVO:00003088 True False pantothenate enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7071067811865476 +ENVO:00003089 True False testosterone enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7071067811865476 +ENVO:00003090 True False kynurenate enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7359800721939872 +ENVO:00003091 True False threonine enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7518094115561123 +ENVO:00003092 True False salicylate enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7359800721939872 +ENVO:00003093 True False poly-beta-hydroxybutyrate enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.5773502691896258 +ENVO:00003094 True False L-(+)-tartrate enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.6813851438692469 +ENVO:00003095 True False quinate enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7867957924694432 +ENVO:00003914 True False chalk soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.6139406135149205 +ENVO:00005740 True False paddy field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005755 True False field soil 0.7905694150420948 +ENVO:00005746 True False savanna soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005750 True False grassland soil 0.6943650748294136 +ENVO:00005753 True False urea enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.8498365855987974 +ENVO:00005757 True False bacteria enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7687061147858074 +ENVO:00005758 True False alluvial swamp soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002871 True False alluvial soil 0.827170191868511 +ENVO:00005759 True False alluvial paddy field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002871 True False alluvial soil 0.7211102550927979 +ENVO:00005759 True False alluvial paddy field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005740 True False paddy field soil 0.8 +ENVO:00005762 True False chloropicrin enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.7071067811865476 +ENVO:00005763 True False humus-rich acidic ash soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.5439282932204212 +ENVO:00005765 True False frozen compost soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005747 True False compost soil 0.7947194142390263 +ENVO:00005765 True False frozen compost soil rdfs:subClassOf rdfs:subClassOf False ENVO:01001526 True False frozen soil 0.760885910252682 +ENVO:00005769 True False mountain forest soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002261 True False forest soil 0.7416198487095663 +ENVO:00005769 True False mountain forest soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005786 True False upland soil 0.5393598899705937 +ENVO:00005770 True False beech forest soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002261 True False forest soil 0.8043996665398437 +ENVO:00005772 True False orchard soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005749 True False farm soil 0.6735753140545634 +ENVO:00005774 True False peat soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002243 True False histosol 0.5892556509887896 +ENVO:00005775 True False salt contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002116 True False contaminated soil 0.8790490729915326 +ENVO:00005776 True False peaty paddy field soil ENVO:02000200 has increased levels of has increased levels of False ENVO:00005774 True False peat soil 0.6396021490668313 +ENVO:00005776 True False peaty paddy field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.5321811563901744 +ENVO:00005776 True False peaty paddy field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005740 True False paddy field soil 0.8528028654224417 +ENVO:00005777 True False steppe soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005750 True False grassland soil 0.48349377841522817 +ENVO:00005783 True False leafy wood soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002261 True False forest soil 0.6227991553292184 +ENVO:00005784 True False spruce forest soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002261 True False forest soil 0.7817359599705717 +ENVO:00005787 True False eucalyptus forest soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002261 True False forest soil 0.7071067811865476 +ENVO:00005788 True False rubber plantation soil rdfs:subClassOf rdfs:subClassOf False ENVO:00005749 True False farm soil 0.49746833816309105 +ENVO:01000427 True False carbon nanotube enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.6695340634119862 +ENVO:01001525 True False hard-frozen soil rdfs:subClassOf rdfs:subClassOf False ENVO:01001526 True False frozen soil 0.82915619758885 +ENVO:01001527 True False plastic-frozen soil rdfs:subClassOf rdfs:subClassOf False ENVO:01001526 True False frozen soil 0.760885910252682 +ENVO:01001528 True False friable-frozen soil rdfs:subClassOf rdfs:subClassOf False ENVO:01001526 True False frozen soil 0.760885910252682 +ENVO:01001841 True False volcanic soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002232 True False andosol 0.628970902033151 +ENVO:02000122 False False peat drainage BFO:0000066 occurs in occurs in False ENVO:00005774 True False peat soil 0.554700196225229 peat soil +ENVO:02500038 False False soil pollution RO:0002234 has output has output False ENVO:00002116 True False contaminated soil 0.583383351196948 contaminated soil +ENVO:03000008 False False compaction process RO:0002234 has output has output False ENVO:06105205 True False compacted soil 0.7559289460184544 compacted soil +ENVO:04000011 False False bare soil surface layer RO:0002473 composed primarily of composed primarily of True ENVO:01001616 True False bare soil 0.6255432421712243 bare soil +ENVO:06105272 False False loamy sand BFO:0000051 has part has part True ENVO:00002258 True False loam 0.6324555320336759 loam +ENVO:06105274 True False sandy loam rdfs:subClassOf rdfs:subClassOf False ENVO:00002258 True False loam 0.6324555320336759 +ENVO:06105274 True False sandy loam rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.5262348115842176 +ENVO:06105275 True False silty loam rdfs:subClassOf rdfs:subClassOf False ENVO:00002258 True False loam 0.6324555320336759 +ENVO:06105275 True False silty loam rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.43852900965351466 +ENVO:06105276 True False sandy clay loam rdfs:subClassOf rdfs:subClassOf False ENVO:06105277 True False clay loam 0.7745966692414834 +ENVO:06105277 True False clay loam rdfs:subClassOf rdfs:subClassOf False ENVO:00002258 True False loam 0.6666666666666666 +ENVO:06105277 True False clay loam rdfs:subClassOf rdfs:subClassOf False ENVO:00003082 True False enriched soil 0.3698001308168194 +ENVO:06105278 True False silty clay loam rdfs:subClassOf rdfs:subClassOf False ENVO:06105277 True False clay loam 0.7745966692414834 +ENVO:09200029 False False thickness of topsoil RO:0000052 characteristic of characteristic of False ENVO:02000059 True False surface soil 0.5809475019311126 surface soil +ENVO:2000008 False False lignite RO:0001000 derives from derives from False ENVO:00005774 True False peat soil 0.5039526306789696 peat soil +ENVO:00000413 False False pingo ENVO:01001307 partially_surrounded_by partially_surrounded_by False ENVO:00001998 False False soil 0.4472135954999579 +ENVO:00002145 True False chromate contaminated soil rdfs:subClassOf rdfs:subClassOf False ENVO:00003081 True False metal contaminated soil 0.8996469021204838 +ENVO:00002229 True False arenosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5303300858899106 arenosol +ENVO:00002230 True False anthrosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5 anthrosol +ENVO:00002231 True False alisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.8164965809277261 alisol +ENVO:00002232 True False andosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5669467095138409 andosol +ENVO:00002233 True False albeluvisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 albeluvisol +ENVO:00002235 True False cambisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 cambisol +ENVO:00002237 True False chernozem rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.16666666666666666 chernozem +ENVO:00002238 True False durisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7559289460184544 durisol +ENVO:00002239 True False calcisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 calcisol +ENVO:00002240 True False kastanozem rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.31622776601683794 kastanozem +ENVO:00002241 True False leptosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5303300858899106 leptosol +ENVO:00002242 True False lixisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7559289460184544 lixisol +ENVO:00002243 True False histosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 histosol +ENVO:00002244 True False gleysol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5669467095138409 gleysol +ENVO:00002245 True False gypsisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 gypsisol +ENVO:00002246 True False ferralsol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5 ferralsol +ENVO:00002247 True False nitisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7559289460184544 nitisol +ENVO:00002248 True False luvisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7559289460184544 luvisol +ENVO:00002249 True False phaeozem rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.17677669529663687 phaeozem +ENVO:00002250 True False plinthosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6324555320336759 plinthosol +ENVO:00002251 True False planosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5303300858899106 planosol +ENVO:00002252 True False solonchak rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5 solonchak +ENVO:00002253 True False umbrisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 umbrisol +ENVO:00002254 True False vertisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 vertisol +ENVO:00002255 True False solonetz rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5303300858899106 solonetz +ENVO:00002256 True False regosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5669467095138409 regosol +ENVO:00002257 True False podzol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.4082482904638631 podzol +ENVO:00002258 True False loam rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5 loam +ENVO:00002259 True False agricultural soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.48507125007266594 agricultural soil +ENVO:00002261 True False forest soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 forest soil +ENVO:00002262 True False clay soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6666666666666666 clay soil +ENVO:00002263 True False garden soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 garden soil +ENVO:00002273 True False fluvisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 fluvisol +ENVO:00002274 True False stagnosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5 stagnosol +ENVO:00002275 True False technosol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5 technosol +ENVO:00002871 True False alluvial soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5547001962252291 alluvial soil +ENVO:00003082 True False enriched soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5547001962252291 enriched soil +ENVO:00005740 True False paddy field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002259 True False agricultural soil 0.48507125007266594 +ENVO:00005741 True False alpine soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 alpine soil +ENVO:00005742 True False arable soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 arable soil +ENVO:00005743 True False roadside soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5547001962252291 roadside soil +ENVO:00005744 True False allotment garden soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002263 True False garden soil 0.7237468644557459 +ENVO:00005747 True False compost soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5773502691896258 compost soil +ENVO:00005748 True False dry soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 dry soil +ENVO:00005749 True False farm soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6666666666666666 farm soil +ENVO:00005750 True False grassland soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5345224838248488 grassland soil +ENVO:00005751 True False jungle soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 jungle soil +ENVO:00005752 True False sawah soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6324555320336759 sawah soil +ENVO:00005754 True False fertilized soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5163977794943222 fertilized soil +ENVO:00005755 True False field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6324555320336759 field soil +ENVO:00005756 True False lawn soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6666666666666666 lawn soil +ENVO:00005760 True False burned soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 burned soil +ENVO:00005761 True False meadow soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 meadow soil +ENVO:00005764 True False pond soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6666666666666666 pond soil +ENVO:00005766 True False limed soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6324555320336759 limed soil +ENVO:00005767 True False manured soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5773502691896258 manured soil +ENVO:00005768 True False orchid soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 orchid soil +ENVO:00005771 True False muddy soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6324555320336759 muddy soil +ENVO:00005773 True False pasture soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5773502691896258 pasture soil +ENVO:00005778 True False tropical soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5547001962252291 tropical soil +ENVO:00005779 True False vegetable garden soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002263 True False garden soil 0.7237468644557459 +ENVO:00005780 True False greenhouse soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5163977794943222 greenhouse soil +ENVO:00005781 True False heat stressed soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.47140452079103173 heat stressed soil +ENVO:00005782 True False ornithogenic soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.48507125007266594 ornithogenic soil +ENVO:00005786 True False upland soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 upland soil +ENVO:00005788 True False rubber plantation soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002259 True False agricultural soil 0.6722139969935249 +ENVO:00005789 True False bluegrass field soil rdfs:subClassOf rdfs:subClassOf False ENVO:00002259 True False agricultural soil 0.6507913734559685 +ENVO:00005790 True False red soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7071067811865475 red soil +ENVO:00005801 False False rhizosphere BFO:0000050 part of part of True ENVO:00001998 False False soil 0.45226701686664544 +ENVO:00005802 True False bulk soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6666666666666666 bulk soil +ENVO:01000001 False False mud BFO:0000051 has part has part True ENVO:00001998 False False soil 0.0 +ENVO:01000698 False False debris flow RO:0000057 has participant has participant False ENVO:00001998 False False soil 0.6030226891555273 +ENVO:01000706 False False soil erosion RO:0000057 has participant has participant False ENVO:00001998 False False soil 0.5773502691896258 +ENVO:01000820 False False pedosphere RO:0002473 composed primarily of composed primarily of True ENVO:00001998 False False soil 0.31622776601683794 +ENVO:01001044 False False soil environment RO:0002507 determined by determined by False ENVO:00001998 False False soil 0.5 +ENVO:01001185 True False acidic soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 acidic soil +ENVO:01001397 True False ultisol rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.7559289460184544 ultisol +ENVO:01001526 True False frozen soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6030226891555273 frozen soil +ENVO:01001616 True False bare soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.6666666666666666 bare soil +ENVO:01001638 True False frost-susceptible soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.42640143271122083 frost-susceptible soil +ENVO:01001664 False False cryoturbation of soil RO:0000057 has participant has participant False ENVO:00001998 False False soil 0.4364357804719848 +ENVO:02000059 True False surface soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5773502691896258 surface soil +ENVO:02000138 True False mangrove biome soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.4588314677411235 mangrove biome soil +ENVO:02500038 False False soil pollution BFO:0000066 occurs in occurs in False ENVO:00001998 False False soil 0.5345224838248488 +ENVO:03600036 True False pathogen-suppressive soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.4 pathogen-suppressive soil +ENVO:04000008 False False soil organic matter BFO:0000050 part of part of True ENVO:00001998 False False soil 0.4588314677411235 +ENVO:06105205 True False compacted soil rdfs:subClassOf rdfs:subClassOf False ENVO:00001998 False False soil 0.5345224838248488 compacted soil +ENVO:06105232 False False soil albedo RO:0000052 characteristic of characteristic of False ENVO:00001998 False False soil 0.6030226891555273 +ENVO:06105241 False False soil drainage BFO:0000066 occurs in occurs in False ENVO:00001998 False False soil 0.5547001962252291 +ENVO:06105266 False False soil layer RO:0002473 composed primarily of composed primarily of True ENVO:00001998 False False soil 0.6324555320336759 +ENVO:06105271 False False soil texture RO:0000052 characteristic of characteristic of False ENVO:00001998 False False soil 0.5773502691896258 +ENVO:06105304 False False water-holding capacity of soil RO:0000052 characteristic of characteristic of False ENVO:00001998 False False soil 0.3651483716701107 +ENVO:09000028 False False evaporation of liquid water in soil BFO:0000066 occurs in occurs in False ENVO:00001998 False False soil 0.3380617018914066 +ENVO:09200005 False False mass density of soil RO:0000052 characteristic of characteristic of False ENVO:00001998 False False soil 0.4472135954999579 +ENVO:09200009 False False structure of soil RO:0000052 characteristic of characteristic of False ENVO:00001998 False False soil 0.48507125007266594 +ENVO:09200010 False False acidity of soil RO:0000052 characteristic of characteristic of False ENVO:00001998 False False soil 0.5163977794943222 +ENVO:09200012 False False temperature of soil RO:0000052 characteristic of characteristic of False ENVO:00001998 False False soil 0.4588314677411235 +ENVO:09200013 False False wetness of soil RO:0000052 characteristic of characteristic of False ENVO:00001998 False False soil 0.5163977794943222 +ENVO:09200015 False False humidity of soil RO:0000052 characteristic of characteristic of False ENVO:00001998 False False soil 0.5 +ENVO:09200016 False False conductivity of soil RO:0000052 characteristic of characteristic of False ENVO:00001998 False False soil 0.4472135954999579 +ENVO:09200021 False False color of soil RO:0000052 characteristic of characteristic of False ENVO:00001998 False False soil 0.5547001962252291 diff --git a/notebooks/environmental_context_value_sets/soil/discover_excludable_soils_curated.tsv b/notebooks/environmental_context_value_sets/soil/env_medium/discover_excludable_soils_curated.tsv similarity index 100% rename from notebooks/environmental_context_value_sets/soil/discover_excludable_soils_curated.tsv rename to notebooks/environmental_context_value_sets/soil/env_medium/discover_excludable_soils_curated.tsv diff --git a/notebooks/environmental_context_value_sets/soil/env_medium/post_google_sheets_soil_env_medium.ipynb b/notebooks/environmental_context_value_sets/soil/env_medium/post_google_sheets_soil_env_medium.ipynb index a03c9ff8..7f672b3f 100644 --- a/notebooks/environmental_context_value_sets/soil/env_medium/post_google_sheets_soil_env_medium.ipynb +++ b/notebooks/environmental_context_value_sets/soil/env_medium/post_google_sheets_soil_env_medium.ipynb @@ -6,25 +6,30 @@ "metadata": { "collapsed": true, "ExecuteTime": { - "end_time": "2024-11-11T23:11:28.002244Z", - "start_time": "2024-11-11T23:11:25.232794Z" + "end_time": "2024-12-17T21:17:30.881234Z", + "start_time": "2024-12-17T21:17:26.605514Z" } }, "source": [ "from oaklib import get_adapter\n", "from oaklib.datamodels.vocabulary import IS_A\n", - "import csv # don't really need csv if we are importing pandas\n", "\n", "import pandas as pd " ], "outputs": [], "execution_count": 1 }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "The environmental triad squad voted on classes to include in the soil env_medium value set. The result of that was the conclusion to include all subclasses of the soil class, except for enriched soils. ", + "id": "56e994dd659ddd85" + }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-11T23:11:28.009655Z", - "start_time": "2024-11-11T23:11:28.006328Z" + "end_time": "2024-12-17T21:17:30.887406Z", + "start_time": "2024-12-17T21:17:30.884033Z" } }, "cell_type": "code", @@ -36,8 +41,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2024-11-11T23:11:28.070553Z", - "start_time": "2024-11-11T23:11:28.067705Z" + "end_time": "2024-12-17T21:17:30.892785Z", + "start_time": "2024-12-17T21:17:30.889481Z" } }, "cell_type": "code", @@ -49,8 +54,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2024-11-11T23:11:28.113552Z", - "start_time": "2024-11-11T23:11:28.110383Z" + "end_time": "2024-12-17T21:17:30.900791Z", + "start_time": "2024-12-17T21:17:30.896775Z" } }, "cell_type": "code", @@ -62,8 +67,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2024-11-11T23:11:28.160083Z", - "start_time": "2024-11-11T23:11:28.157093Z" + "end_time": "2024-12-17T21:17:30.905746Z", + "start_time": "2024-12-17T21:17:30.902489Z" } }, "cell_type": "code", @@ -75,8 +80,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2024-11-11T23:11:28.207113Z", - "start_time": "2024-11-11T23:11:28.204084Z" + "end_time": "2024-12-17T21:17:30.911711Z", + "start_time": "2024-12-17T21:17:30.907906Z" } }, "cell_type": "code", @@ -85,15 +90,21 @@ "outputs": [], "execution_count": 6 }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "We also exclude soils who are differentiated by a relationship with someting that's in the env_ocal_scale value set, like 'orchard soil' and 'orchard'. See discover_excludable_soils.ipynb.", + "id": "c1032fa3dae05c3c" + }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-11T23:11:28.263456Z", - "start_time": "2024-11-11T23:11:28.255883Z" + "end_time": "2024-12-17T21:17:31.368077Z", + "start_time": "2024-12-17T21:17:31.364454Z" } }, "cell_type": "code", - "source": "excludable_soils_filename = \"../discover_excludable_soils_curated.tsv\"", + "source": "excludable_soils_filename = \"discover_excludable_soils_curated.tsv\"", "id": "77be6f0893e612eb", "outputs": [], "execution_count": 7 @@ -101,8 +112,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2024-11-11T23:11:28.323959Z", - "start_time": "2024-11-11T23:11:28.311132Z" + "end_time": "2024-12-17T21:17:32.036524Z", + "start_time": "2024-12-17T21:17:32.023855Z" } }, "cell_type": "code", @@ -118,8 +129,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2024-11-11T23:11:28.382324Z", - "start_time": "2024-11-11T23:11:28.366835Z" + "end_time": "2024-12-17T21:17:33.318279Z", + "start_time": "2024-12-17T21:17:33.313729Z" } }, "cell_type": "code", @@ -136,8 +147,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2024-11-11T23:11:28.428504Z", - "start_time": "2024-11-11T23:11:28.423061Z" + "end_time": "2024-12-17T21:17:33.830364Z", + "start_time": "2024-12-17T21:17:33.824218Z" } }, "cell_type": "code", @@ -153,8 +164,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2024-11-11T23:11:28.475315Z", - "start_time": "2024-11-11T23:11:28.472375Z" + "end_time": "2024-12-17T21:17:34.495315Z", + "start_time": "2024-12-17T21:17:34.491968Z" } }, "cell_type": "code", @@ -166,8 +177,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2024-11-11T23:11:28.523549Z", - "start_time": "2024-11-11T23:11:28.518569Z" + "end_time": "2024-12-17T21:17:35.228352Z", + "start_time": "2024-12-17T21:17:35.222719Z" } }, "cell_type": "code", @@ -179,8 +190,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2024-11-11T23:11:28.570657Z", - "start_time": "2024-11-11T23:11:28.566311Z" + "end_time": "2024-12-17T21:17:35.994941Z", + "start_time": "2024-12-17T21:17:35.989772Z" } }, "cell_type": "code", @@ -196,44 +207,450 @@ }, { "metadata": {}, + "cell_type": "markdown", + "source": "The `sole_soil` column in this dataframe shows the soil subclasses that can be excluded based on related classes that have been included in the soil env_local_scale value set", + "id": "4de82897ab70d2ae" + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:17:37.834605Z", + "start_time": "2024-12-17T21:17:37.806070Z" + } + }, "cell_type": "code", - "outputs": [], - "execution_count": null, "source": "soils_with_local_or_override_exclusion_justification", - "id": "d2bc11248ba7bfab" + "id": "d2bc11248ba7bfab", + "outputs": [ + { + "data": { + "text/plain": [ + " s s_is_soil s_is_reasonable_other slab \\\n", + "53 ENVO:00002260 True False dune soil \n", + "59 ENVO:00002263 True False garden soil \n", + "60 ENVO:00002263 True False garden soil \n", + "108 ENVO:00005743 True False roadside soil \n", + "126 ENVO:00005755 True False field soil \n", + "156 ENVO:00005772 True False orchard soil \n", + "159 ENVO:00005773 True False pasture soil \n", + "168 ENVO:00005777 True False steppe soil \n", + "209 ENVO:02000138 True False mangrove biome soil \n", + "227 ENVO:00000044 False True peatland \n", + "400 NaN NaN NaN NaN \n", + "401 NaN NaN NaN NaN \n", + "402 NaN NaN NaN NaN \n", + "\n", + " p plab p_lab_or_id \\\n", + "53 BFO:0000050 part of part of \n", + "59 BFO:0000050 part of part of \n", + "60 RO:0001025 located in located in \n", + "108 RO:0001025 located in located in \n", + "126 BFO:0000050 part of part of \n", + "156 BFO:0000050 part of part of \n", + "159 RO:0001025 located in located in \n", + "168 RO:0001025 located in located in \n", + "209 RO:0001025 located in located in \n", + "227 RO:0002473 composed primarily of composed primarily of \n", + "400 NaN NaN NaN \n", + "401 NaN NaN NaN \n", + "402 NaN NaN NaN \n", + "\n", + " relation_is_reasonable o o_is_soil o_is_reasonable_other \\\n", + "53 True ENVO:00000170 False True \n", + "59 True ENVO:00000011 False True \n", + "60 True ENVO:00000011 False True \n", + "108 True ENVO:01000447 False True \n", + "126 True ENVO:00000114 False True \n", + "156 True ENVO:00000115 False True \n", + "159 True ENVO:00000266 False True \n", + "168 True ENVO:00000262 False True \n", + "209 True ENVO:01000181 False False \n", + "227 True ENVO:00005774 True False \n", + "400 False NaN NaN NaN \n", + "401 False NaN NaN NaN \n", + "402 False NaN NaN NaN \n", + "\n", + " olab slab_olab_cosine sole_reasonable_other \\\n", + "53 dune 0.666667 dune \n", + "59 garden 0.738549 garden \n", + "60 garden 0.738549 garden \n", + "108 roadside 0.784465 roadside \n", + "126 agricultural field 0.596285 agricultural field \n", + "156 orchard 0.763763 orchard \n", + "159 pasture 0.763763 pasture \n", + "168 steppe 0.738549 steppe \n", + "209 mangrove biome 0.858395 mangrove biome \n", + "227 peat soil 0.589256 peatland \n", + "400 NaN NaN farm \n", + "401 NaN NaN greenhouse \n", + "402 NaN NaN volcano \n", + "\n", + " sole_soil override \n", + "53 dune soil NaN \n", + "59 garden soil NaN \n", + "60 garden soil NaN \n", + "108 roadside soil NaN \n", + "126 field soil NaN \n", + "156 orchard soil exclude soil \n", + "159 pasture soil NaN \n", + "168 steppe soil NaN \n", + "209 mangrove biome soil exclude soil \n", + "227 peat soil NaN \n", + "400 farm soil exclude soil \n", + "401 greenhouse soil exclude soil \n", + "402 volcanic soil exclude soil " + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ss_is_soils_is_reasonable_otherslabpplabp_lab_or_idrelation_is_reasonableoo_is_soilo_is_reasonable_otherolabslab_olab_cosinesole_reasonable_othersole_soiloverride
53ENVO:00002260TrueFalsedune soilBFO:0000050part ofpart ofTrueENVO:00000170FalseTruedune0.666667dunedune soilNaN
59ENVO:00002263TrueFalsegarden soilBFO:0000050part ofpart ofTrueENVO:00000011FalseTruegarden0.738549gardengarden soilNaN
60ENVO:00002263TrueFalsegarden soilRO:0001025located inlocated inTrueENVO:00000011FalseTruegarden0.738549gardengarden soilNaN
108ENVO:00005743TrueFalseroadside soilRO:0001025located inlocated inTrueENVO:01000447FalseTrueroadside0.784465roadsideroadside soilNaN
126ENVO:00005755TrueFalsefield soilBFO:0000050part ofpart ofTrueENVO:00000114FalseTrueagricultural field0.596285agricultural fieldfield soilNaN
156ENVO:00005772TrueFalseorchard soilBFO:0000050part ofpart ofTrueENVO:00000115FalseTrueorchard0.763763orchardorchard soilexclude soil
159ENVO:00005773TrueFalsepasture soilRO:0001025located inlocated inTrueENVO:00000266FalseTruepasture0.763763pasturepasture soilNaN
168ENVO:00005777TrueFalsesteppe soilRO:0001025located inlocated inTrueENVO:00000262FalseTruesteppe0.738549steppesteppe soilNaN
209ENVO:02000138TrueFalsemangrove biome soilRO:0001025located inlocated inTrueENVO:01000181FalseFalsemangrove biome0.858395mangrove biomemangrove biome soilexclude soil
227ENVO:00000044FalseTruepeatlandRO:0002473composed primarily ofcomposed primarily ofTrueENVO:00005774TrueFalsepeat soil0.589256peatlandpeat soilNaN
400NaNNaNNaNNaNNaNNaNNaNFalseNaNNaNNaNNaNNaNfarmfarm soilexclude soil
401NaNNaNNaNNaNNaNNaNNaNFalseNaNNaNNaNNaNNaNgreenhousegreenhouse soilexclude soil
402NaNNaNNaNNaNNaNNaNNaNFalseNaNNaNNaNNaNNaNvolcanovolcanic soilexclude soil
\n", + "
" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 14 }, { - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:17:38.381755Z", + "start_time": "2024-12-17T21:17:38.377116Z" + } + }, "cell_type": "code", - "outputs": [], - "execution_count": null, "source": "soils_reiterating_broad_or_local = set(soils_with_local_or_override_exclusion_justification['sole_soil'].unique())\n", - "id": "b8f217ba6fd412b5" + "id": "b8f217ba6fd412b5", + "outputs": [], + "execution_count": 15 }, { - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:17:39.195365Z", + "start_time": "2024-12-17T21:17:39.146991Z" + } + }, "cell_type": "code", - "outputs": [], - "execution_count": null, "source": "adapter = get_adapter(adapter_string)", - "id": "b98d95693fb26e64" + "id": "b98d95693fb26e64", + "outputs": [], + "execution_count": 16 }, { - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:17:39.792859Z", + "start_time": "2024-12-17T21:17:39.789508Z" + } + }, "cell_type": "code", - "outputs": [], - "execution_count": null, "source": "targets = set()", - "id": "38bfe1d58a2a2e6e" + "id": "38bfe1d58a2a2e6e", + "outputs": [], + "execution_count": 17 }, { "metadata": {}, + "cell_type": "markdown", + "source": "accumulate subclasses of the target classes, by label. (Doing it by CURIe would be faster and require less code)", + "id": "8a0a368c67728dbf" + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-12-17T21:17:41.289259Z", + "start_time": "2024-12-17T21:17:41.130659Z" + } + }, "cell_type": "code", - "outputs": [], - "execution_count": null, "source": [ - "# accumulate subclasses of the target classes (by label)\n", - "# \n", "for current_label in target_labels:\n", " for class_id in adapter.basic_search(current_label):\n", " descendant = adapter.descendants(class_id, predicates=[IS_A])\n", @@ -245,19 +662,46 @@ " \n", "print(len(targets))" ], - "id": "8fc94afe92377c39" + "id": "8fc94afe92377c39", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Excluding ENVO:00005743 roadside soil because its differentia can be expressed in terms of the broad or local scale\n", + "Excluding ENVO:00002263 garden soil because its differentia can be expressed in terms of the broad or local scale\n", + "Excluding ENVO:00005773 pasture soil because its differentia can be expressed in terms of the broad or local scale\n", + "Excluding ENVO:00005772 orchard soil because its differentia can be expressed in terms of the broad or local scale\n", + "Excluding ENVO:00002260 dune soil because its differentia can be expressed in terms of the broad or local scale\n", + "Excluding ENVO:02000138 mangrove biome soil because its differentia can be expressed in terms of the broad or local scale\n", + "Excluding ENVO:00005774 peat soil because its differentia can be expressed in terms of the broad or local scale\n", + "Excluding ENVO:00005755 field soil because its differentia can be expressed in terms of the broad or local scale\n", + "Excluding ENVO:00005780 greenhouse soil because its differentia can be expressed in terms of the broad or local scale\n", + "Excluding ENVO:00005777 steppe soil because its differentia can be expressed in terms of the broad or local scale\n", + "Excluding ENVO:00005749 farm soil because its differentia can be expressed in terms of the broad or local scale\n", + "Excluding ENVO:01001841 volcanic soil because its differentia can be expressed in terms of the broad or local scale\n", + "118\n" + ] + } + ], + "execution_count": 18 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "deplete subclasses of the exclusion classes, again by label", + "id": "969871327a5f70d0" }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-11T23:11:29.044191Z", - "start_time": "2024-11-11T23:11:29.002580Z" + "end_time": "2024-12-17T21:17:48.651746Z", + "start_time": "2024-12-17T21:17:48.587424Z" } }, "cell_type": "code", "source": [ - "# deplete subclasses of the exclusion classes (by label)\n", - "# \n", + "\n", "for current_label in exclusion_labels:\n", " for class_id in adapter.basic_search(current_label):\n", " descendant = adapter.descendants(class_id, predicates=[IS_A])\n", @@ -272,17 +716,17 @@ "name": "stdout", "output_type": "stream", "text": [ - "86\n" + "85\n" ] } ], - "execution_count": 18 + "execution_count": 19 }, { "metadata": { "ExecuteTime": { - "end_time": "2024-11-11T23:11:29.107828Z", - "start_time": "2024-11-11T23:11:29.070844Z" + "end_time": "2024-12-17T21:17:49.727100Z", + "start_time": "2024-12-17T21:17:49.685996Z" } }, "cell_type": "code", @@ -302,20 +746,15 @@ ], "id": "4301a231897de6d9", "outputs": [], - "execution_count": 19 + "execution_count": 20 }, { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-11T23:11:29.140858Z", - "start_time": "2024-11-11T23:11:29.137864Z" - } - }, + "metadata": {}, "cell_type": "code", - "source": "", - "id": "8b5ac9a2750a35d9", "outputs": [], - "execution_count": null + "execution_count": null, + "source": "", + "id": "c1145ec1d3ef2696" } ], "metadata": { diff --git a/notebooks/environmental_context_value_sets/soil/env_medium/post_google_sheets_soil_env_medium.tsv b/notebooks/environmental_context_value_sets/soil/env_medium/post_google_sheets_soil_env_medium.tsv index 6b8e5ca3..46403d30 100644 --- a/notebooks/environmental_context_value_sets/soil/env_medium/post_google_sheets_soil_env_medium.tsv +++ b/notebooks/environmental_context_value_sets/soil/env_medium/post_google_sheets_soil_env_medium.tsv @@ -1,87 +1,86 @@ id label -ENVO:00005743 roadside soil -ENVO:00002251 planosol -ENVO:00005744 allotment garden soil -ENVO:00002256 regosol -ENVO:00005770 beech forest soil -ENVO:00005771 muddy soil +ENVO:00005756 lawn soil +ENVO:00002248 luvisol +ENVO:00002257 podzol +ENVO:00005759 alluvial paddy field soil +ENVO:00005750 grassland soil +ENVO:01001616 bare soil ENVO:00002274 stagnosol -ENVO:00005755 field soil -ENVO:00001998 soil -ENVO:00005790 red soil -ENVO:00002229 arenosol -ENVO:00005781 heat stressed soil -ENVO:00005802 bulk soil -ENVO:00005765 frozen compost soil +ENVO:00005779 vegetable garden soil +ENVO:00005767 manured soil +ENVO:00002251 planosol +ENVO:00005783 leafy wood soil +ENVO:00005778 tropical soil +ENVO:00002239 calcisol +ENVO:00002237 chernozem +ENVO:00005742 arable soil +ENVO:00005764 pond soil +ENVO:00002233 albeluvisol +ENVO:00005747 compost soil ENVO:00005754 fertilized soil +ENVO:00002246 ferralsol +ENVO:00002241 leptosol +ENVO:00005765 frozen compost soil +ENVO:00002255 solonetz +ENVO:02000059 surface soil +ENVO:00002232 andosol +ENVO:06105205 compacted soil +ENVO:00002259 agricultural soil ENVO:03600036 pathogen-suppressive soil -ENVO:01001528 friable-frozen soil -ENVO:00005742 arable soil -ENVO:00002258 loam ENVO:00005786 upland soil -ENVO:00002230 anthrosol -ENVO:01001638 frost-susceptible soil -ENVO:00002249 phaeozem -ENVO:01001185 acidic soil -ENVO:00002248 luvisol -ENVO:00002234 acrisol -ENVO:00005787 eucalyptus forest soil -ENVO:00002254 vertisol -ENVO:00002871 alluvial soil -ENVO:00002231 alisol -ENVO:00005767 manured soil -ENVO:00005784 spruce forest soil -ENVO:00002273 fluvisol -ENVO:01001527 plastic-frozen soil -ENVO:00002259 agricultural soil ENVO:00005746 savanna soil -ENVO:00002245 gypsisol +ENVO:00005744 allotment garden soil ENVO:00005788 rubber plantation soil +ENVO:00005751 jungle soil +ENVO:00005768 orchid soil +ENVO:00002244 gleysol +ENVO:00005752 sawah soil ENVO:00005766 limed soil -ENVO:00005747 compost soil -ENVO:00005748 dry soil -ENVO:00005782 ornithogenic soil +ENVO:00005784 spruce forest soil ENVO:00002247 nitisol -ENVO:00002250 plinthosol -ENVO:00005764 pond soil -ENVO:00005756 lawn soil -ENVO:00002253 umbrisol -ENVO:01001616 bare soil -ENVO:00002244 gleysol -ENVO:00005760 burned soil -ENVO:00002235 cambisol -ENVO:00002237 chernozem -ENVO:00002246 ferralsol -ENVO:00002239 calcisol -ENVO:00005759 alluvial paddy field soil -ENVO:00005741 alpine soil -ENVO:00002257 podzol -ENVO:00002233 albeluvisol +ENVO:01001638 frost-susceptible soil +ENVO:00002230 anthrosol +ENVO:00005789 bluegrass field soil +ENVO:01001527 plastic-frozen soil ENVO:01001397 ultisol -ENVO:00002236 cryosol -ENVO:00002240 kastanozem -ENVO:00002262 clay soil -ENVO:00002275 technosol -ENVO:00005769 mountain forest soil +ENVO:00002871 alluvial soil ENVO:00002252 solonchak -ENVO:00005752 sawah soil -ENVO:00002261 forest soil -ENVO:00002255 solonetz -ENVO:00005789 bluegrass field soil -ENVO:00002241 leptosol -ENVO:00005779 vegetable garden soil -ENVO:02000059 surface soil +ENVO:00002253 umbrisol +ENVO:00002258 loam +ENVO:00002254 vertisol +ENVO:00002249 phaeozem +ENVO:00005770 beech forest soil +ENVO:00002245 gypsisol +ENVO:00002275 technosol +ENVO:00002231 alisol +ENVO:00005802 bulk soil ENVO:00002242 lixisol +ENVO:01001185 acidic soil +ENVO:00002236 cryosol +ENVO:00005741 alpine soil +ENVO:00002243 histosol ENVO:01001526 frozen soil -ENVO:00005751 jungle soil +ENVO:00002229 arenosol +ENVO:00005758 alluvial swamp soil +ENVO:00005771 muddy soil +ENVO:00005782 ornithogenic soil +ENVO:00005781 heat stressed soil +ENVO:00002238 durisol +ENVO:01001528 friable-frozen soil ENVO:00005740 paddy field soil +ENVO:00002273 fluvisol +ENVO:00002250 plinthosol +ENVO:00002235 cambisol +ENVO:00005787 eucalyptus forest soil +ENVO:00002240 kastanozem +ENVO:00005748 dry soil +ENVO:00002262 clay soil +ENVO:00005760 burned soil +ENVO:00005761 meadow soil +ENVO:00002261 forest soil +ENVO:00002234 acrisol +ENVO:00002256 regosol +ENVO:00005769 mountain forest soil ENVO:01001525 hard-frozen soil -ENVO:00002238 durisol -ENVO:00005750 grassland soil -ENVO:00005783 leafy wood soil -ENVO:06105205 compacted soil -ENVO:00002232 andosol -ENVO:00005778 tropical soil -ENVO:00002243 histosol -ENVO:00005758 alluvial swamp soil -ENVO:00005768 orchid soil +ENVO:00001998 soil +ENVO:00005790 red soil diff --git a/notebooks/environmental_context_value_sets/soil/env_medium/post_google_sheets_soil_env_medium_retention_justification.tsv b/notebooks/environmental_context_value_sets/soil/env_medium/post_google_sheets_soil_env_medium_retention_justification.tsv deleted file mode 100644 index d7904102..00000000 --- a/notebooks/environmental_context_value_sets/soil/env_medium/post_google_sheets_soil_env_medium_retention_justification.tsv +++ /dev/null @@ -1,86 +0,0 @@ -id label retention_justification -ENVO:00005750 grassland soil -ENVO:01001397 ultisol -ENVO:01001527 plastic-frozen soil -ENVO:00002262 clay soil -ENVO:00002247 nitisol -ENVO:00002237 chernozem -ENVO:00002261 forest soil -ENVO:00005788 rubber plantation soil rubber plantation not in SLES -ENVO:01001526 frozen soil -ENVO:00001998 soil -ENVO:00005743 roadside soil -ENVO:00005758 alluvial swamp soil -ENVO:00005784 spruce forest soil no spruce forest soil pre-composed class -ENVO:00002234 acrisol -ENVO:00005748 dry soil -ENVO:00005781 heat stressed soil -ENVO:00005760 burned soil -ENVO:00002246 ferralsol -ENVO:00002243 histosol -ENVO:02000059 surface soil no surface class or otherwise usefull axiom -ENVO:00005741 alpine soil -ENVO:00005751 jungle soil no jungle class -ENVO:00002258 loam -ENVO:00002257 podzol -ENVO:00005766 limed soil -ENVO:00002239 calcisol -ENVO:00005790 red soil -ENVO:00005779 vegetable garden soil no vegetable garden pre-composed pre-composed class -ENVO:00005786 upland soil no upland class, but does have axiom with elevated landform, which is not in SLES -ENVO:00005754 fertilized soil -ENVO:01001525 hard-frozen soil -ENVO:00002253 umbrisol -ENVO:00002255 solonetz -ENVO:01001616 bare soil -ENVO:01001638 frost-susceptible soil -ENVO:00005769 mountain forest soil -ENVO:00005759 alluvial paddy field soil no alluvial paddy field pre-composed class -ENVO:00005756 lawn soil -ENVO:00002871 alluvial soil -ENVO:00002248 luvisol -ENVO:00002232 andosol -ENVO:00005782 ornithogenic soil -ENVO:00002259 agricultural soil -ENVO:00002249 phaeozem -ENVO:00005778 tropical soil -ENVO:00002231 alisol -ENVO:00005746 savanna soil -ENVO:00005744 allotment garden soil allotment garden omitted from SLES -ENVO:00005768 orchid soil -ENVO:00002235 cambisol -ENVO:00002244 gleysol -ENVO:00002250 plinthosol -ENVO:00005742 arable soil -ENVO:00005755 field soil -ENVO:00002240 kastanozem -ENVO:00002229 arenosol -ENVO:00005752 sawah soil no sawah class -ENVO:00002241 leptosol -ENVO:00002242 lixisol -ENVO:00002252 solonchak -ENVO:00005767 manured soil -ENVO:00005771 muddy soil -ENVO:00002236 cryosol -ENVO:00005802 bulk soil -ENVO:00002233 albeluvisol -ENVO:01001528 friable-frozen soil -ENVO:00002238 durisol -ENVO:00002251 planosol -ENVO:00005765 frozen compost soil -ENVO:00005764 pond soil -ENVO:00002245 gypsisol -ENVO:00005740 paddy field soil paddy field omitted from SLES -ENVO:00002273 fluvisol -ENVO:01001185 acidic soil -ENVO:00002254 vertisol -ENVO:00005783 leafy wood soil -ENVO:00002256 regosol -ENVO:00002274 stagnosol -ENVO:00005747 compost soil -ENVO:00005787 eucalyptus forest soil no eucalyptus forest pre-composed class -ENVO:00005770 beech forest soil no beech forest pre-composed class -ENVO:00002230 anthrosol -ENVO:06105205 compacted soil -ENVO:03600036 pathogen-suppressive soil -ENVO:00005789 bluegrass field soil no bluegrass field pre-composed class diff --git a/notebooks/environmental_context_value_sets/soil/gold/gold-soils-by-semsql-wide.tsv b/notebooks/environmental_context_value_sets/soil/gold/gold-soils-by-semsql-wide.tsv deleted file mode 100644 index 0c432d4d..00000000 --- a/notebooks/environmental_context_value_sets/soil/gold/gold-soils-by-semsql-wide.tsv +++ /dev/null @@ -1,87 +0,0 @@ -sub mixs:env_broad mixs:env_local mixs:env_medium mixs:host_taxon mixs:mixs_extension mixs:other rdfs:comment rdfs:label skos:closeMatch skos:exactMatch env_broad_label env_local_label env_medium_label -GOLDTERMS:4202 ENVO:01000254 ENVO:01001357 ENVO:00005800 mixs:Soil env_broad: environmental system; env_local: desert; env_medium: desert sand; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Sand > Desert ENVO:00005800 environmental system desert desert sand -GOLDTERMS:4203 ENVO:01000254 ENVO:00000446 ENVO:01000017 mixs:Soil env_broad: environmental system; env_local: terrestrial biome; env_medium: sand; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Sand ENVO:01000017 environmental system terrestrial biome sand -GOLDTERMS:4204 ENVO:01000254 ENVO:00002061 ENVO:01000017 mixs:Soil env_broad: environmental system; env_local: oil spill; env_medium: sand; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Sand > Oil-contaminated environmental system oil spill sand -GOLDTERMS:4205 ENVO:01000254 ENVO:00000446 ENVO:00002261 NCBITaxon:12908 mixs:Soil env_broad: environmental system; env_local: terrestrial biome; env_medium: forest soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Unclassified > Forest Soil ENVO:00002261 environmental system terrestrial biome forest soil -GOLDTERMS:4206 ENVO:01000254 ENVO:00000446 ENVO:00000134 NCBITaxon:12908 mixs:Soil env_broad: environmental system; env_local: terrestrial biome; env_medium: permafrost; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Unclassified > Permafrost environmental system terrestrial biome permafrost -GOLDTERMS:4209 ENVO:01000254 ENVO:01000177 ENVO:00001998 NCBITaxon:12908 mixs:Soil env_broad: environmental system; env_local: grassland biome; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Unclassified > Grasslands environmental system grassland biome soil -GOLDTERMS:4210 ENVO:01000254 ENVO:01001357 ENVO:00001998 NCBITaxon:12908 mixs:Soil env_broad: environmental system; env_local: desert; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Unclassified > Desert environmental system desert soil -GOLDTERMS:4211 ENVO:01000254 ENVO:00000446 ENVO:00001998 NCBITaxon:12908 mixs:Soil env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Unclassified > Uranium contaminated environmental system terrestrial biome soil -GOLDTERMS:4212 ENVO:01000254 ENVO:00000446 ENVO:00001998 mixs:Soil env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil environmental system terrestrial biome soil -GOLDTERMS:4213 ENVO:00000077 ENVO:00000446 ENVO:00001998 NCBITaxon:12908 mixs:Soil env_broad: agricultural ecosystem; env_local: terrestrial biome; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Unclassified > Agricultural land agricultural ecosystem terrestrial biome soil -GOLDTERMS:4214 ENVO:01000254 ENVO:00000300 ENVO:00001998 NCBITaxon:12908 mixs:Soil env_broad: environmental system; env_local: scrubland area; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Unclassified > Shrubland ENVO:00000300 environmental system scrubland area soil -GOLDTERMS:4215 ENVO:01000254 ENVO:00000446 ENVO:00001998 NCBITaxon:12908 mixs:Soil PATO:0015032 env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; other: increased contamination; partial Environmental > Terrestrial > Soil > Unclassified > Contaminated environmental system terrestrial biome soil -GOLDTERMS:4216 ENVO:01000254 ENVO:00000446 ENVO:00001998 NCBITaxon:12908 mixs:Soil env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Unclassified > Tropical rainforest environmental system terrestrial biome soil -GOLDTERMS:4217 ENVO:01000254 ENVO:01000250 ENVO:00001998 NCBITaxon:12908 mixs:Soil env_broad: environmental system; env_local: subpolar coniferous forest biome; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Unclassified > Boreal forest ENVO:01000250 environmental system subpolar coniferous forest biome soil -GOLDTERMS:4218 ENVO:01000254 ENVO:00000076 ENVO:00001998 NCBITaxon:12908 mixs:Soil env_broad: environmental system; env_local: mine; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Unclassified > Mine environmental system mine soil -GOLDTERMS:4220 ENVO:01000254 ENVO:00002061 ENVO:00001998 NCBITaxon:12908 mixs:Soil env_broad: environmental system; env_local: oil spill; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Unclassified > Oil-contaminated environmental system oil spill soil -GOLDTERMS:4221 ENVO:01000254 ENVO:00001996 ENVO:00001998 NCBITaxon:12908 mixs:Soil env_broad: environmental system; env_local: mine drainage; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Unclassified > Mine drainage environmental system mine drainage soil -GOLDTERMS:4223 ENVO:01000254 ENVO:01000177 ENVO:01000017 mixs:Soil env_broad: environmental system; env_local: grassland biome; env_medium: sand; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Sand > Grasslands environmental system grassland biome sand -GOLDTERMS:4224 ENVO:01000254 ENVO:00000446 ENVO:00002261 mixs:Soil env_broad: environmental system; env_local: terrestrial biome; env_medium: forest soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Sand > Forest soil environmental system terrestrial biome forest soil -GOLDTERMS:4227 ENVO:01000254 ENVO:00000446 ENVO:01000016 mixs:Soil env_broad: environmental system; env_local: terrestrial biome; env_medium: silt; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Silt ENVO:01000016 environmental system terrestrial biome silt -GOLDTERMS:4228 ENVO:01000254 ENVO:01000177 ENVO:00002982 mixs:Soil env_broad: environmental system; env_local: grassland biome; env_medium: clay; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Clay > Grasslands environmental system grassland biome clay -GOLDTERMS:4229 ENVO:01000254 ENVO:00000446 ENVO:00002982 mixs:Soil env_broad: environmental system; env_local: terrestrial biome; env_medium: clay; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Clay ENVO:00002262 environmental system terrestrial biome clay -GOLDTERMS:4230 ENVO:00000077 ENVO:00000446 ENVO:00002982 mixs:Soil env_broad: agricultural ecosystem; env_local: terrestrial biome; env_medium: clay; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Clay > Agricultural land agricultural ecosystem terrestrial biome clay -GOLDTERMS:4231 ENVO:01000254 ENVO:00000446 ENVO:00002982 mixs:Soil PATO:0015032 env_broad: environmental system; env_local: terrestrial biome; env_medium: clay; mixs_extension: MIXS:Soil; other: increased contamination; partial Environmental > Terrestrial > Soil > Clay > Contaminated environmental system terrestrial biome clay -GOLDTERMS:4232 ENVO:01000254 ENVO:00002061 ENVO:00002982 mixs:Soil env_broad: environmental system; env_local: oil spill; env_medium: clay; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Clay > Oil-contaminated environmental system oil spill clay -GOLDTERMS:4234 ENVO:01001209 ENVO:00000446 ENVO:00000134 mixs:Soil env_broad: wetland ecosystem; env_local: terrestrial biome; env_medium: permafrost; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Wetlands > Permafrost wetland ecosystem terrestrial biome permafrost -GOLDTERMS:4235 ENVO:01001209 ENVO:00000446 ENVO:00001998 mixs:Soil env_broad: wetland ecosystem; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Wetlands wetland ecosystem terrestrial biome soil -GOLDTERMS:4237 ENVO:00000077 ENVO:00000446 ENVO:00002258 mixs:Agriculture env_broad: agricultural ecosystem; env_local: terrestrial biome; env_medium: loam; mixs_extension: MIXS:Agriculture; partial Environmental > Terrestrial > Soil > Loam > Agricultural ENVO:00000077 agricultural ecosystem terrestrial biome loam -GOLDTERMS:4238 ENVO:01000254 ENVO:01000177 ENVO:00002258 mixs:Soil env_broad: environmental system; env_local: grassland biome; env_medium: loam; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Loam > Grasslands environmental system grassland biome loam -GOLDTERMS:4239 ENVO:01000254 ENVO:00000446 ENVO:00002261 mixs:Soil env_broad: environmental system; env_local: terrestrial biome; env_medium: forest soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Loam > Forest soil environmental system terrestrial biome forest soil -GOLDTERMS:4241 ENVO:01000254 ENVO:00000446 ENVO:00002258 mixs:Soil env_broad: environmental system; env_local: terrestrial biome; env_medium: loam; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Loam ENVO:00002258 environmental system terrestrial biome loam -GOLDTERMS:4242 ENVO:00000077 ENVO:00000446 ENVO:00002258 mixs:Soil env_broad: agricultural ecosystem; env_local: terrestrial biome; env_medium: loam; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Loam > Agricultural land agricultural ecosystem terrestrial biome loam -GOLDTERMS:4243 ENVO:01000254 ENVO:00000446 ENVO:00002258 mixs:Soil PATO:0015032 env_broad: environmental system; env_local: terrestrial biome; env_medium: loam; mixs_extension: MIXS:Soil; other: increased contamination; partial Environmental > Terrestrial > Soil > Loam > Contaminated environmental system terrestrial biome loam -GOLDTERMS:4244 ENVO:01000254 ENVO:00000446 ENVO:00002259 mixs:Soil env_broad: environmental system; env_local: terrestrial biome; env_medium: agricultural soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Loam > Agricultural soil ENVO:00002259 environmental system terrestrial biome agricultural soil -GOLDTERMS:4418 ENVO:01000254 ENVO:00000446 ENVO:00001998 mixs:Soil env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Fossil environmental system terrestrial biome soil -GOLDTERMS:4578 ENVO:01000254 ENVO:00000446 ENVO:00001998 mixs:Soil env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Soil crust environmental system terrestrial biome soil -GOLDTERMS:4711 ENVO:01000254 ENVO:01000910 ENVO:00001998 mixs:Soil ENVO:01000909 env_broad: environmental system; env_local: soil biocrust; env_medium: soil; mixs_extension: MIXS:Soil; other: biocrust; partial Environmental > Terrestrial > Soil > Biocrust ENVO:01000910 environmental system soil biocrust soil -GOLDTERMS:4745 ENVO:01000254 ENVO:00000446 ENVO:00001998 mixs:Soil ENVO:00000133 env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; other: glacier; partial Environmental > Terrestrial > Soil > Glacier environmental system terrestrial biome soil -GOLDTERMS:5244 ENVO:01000254 ENVO:00000446 ENVO:00001998 NCBITaxon:12908 mixs:Soil env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Unclassified > Riparian soil environmental system terrestrial biome soil -GOLDTERMS:5414 ENVO:01000254 ENVO:00000446 ENVO:00005772 NCBITaxon:12908 mixs:Soil env_broad: environmental system; env_local: terrestrial biome; env_medium: orchard soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Unclassified > Orchard soil ENVO:00005772 environmental system terrestrial biome orchard soil -GOLDTERMS:5420 ENVO:01000254 ENVO:00000108 ENVO:00001998 NCBITaxon:12908 mixs:Soil env_broad: environmental system; env_local: meadow ecosystem; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Unclassified > Meadow environmental system meadow ecosystem soil -GOLDTERMS:5421 ENVO:01000254 ENVO:00000022 ENVO:00001998 NCBITaxon:12908 mixs:Soil env_broad: environmental system; env_local: river; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Unclassified > River environmental system river soil -GOLDTERMS:5424 ENVO:00000077 ENVO:00000446 ENVO:00005802 mixs:Soil env_broad: agricultural ecosystem; env_local: terrestrial biome; env_medium: bulk soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Bulk soil > Agricultural land agricultural ecosystem terrestrial biome bulk soil -GOLDTERMS:5434 ENVO:01000254 ENVO:00000446 ENVO:00001998 mixs:Soil ENVO:00002034 env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; other: biofilm; partial Environmental > Terrestrial > Soil > Biofilm environmental system terrestrial biome soil -GOLDTERMS:5438 ENVO:00000078 ENVO:00000446 ENVO:00001998 NCBITaxon:12908 mixs:Soil env_broad: farm; env_local: terrestrial biome; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Unclassified > Farm ENVO:00000078 farm terrestrial biome soil -GOLDTERMS:5439 ENVO:01000254 ENVO:01001835 ENVO:00005741 NCBITaxon:12908 mixs:Soil env_broad: environmental system; env_local: alpine biome; env_medium: alpine soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Unclassified > Alpine ENVO:00005741 environmental system alpine biome alpine soil -GOLDTERMS:5585 ENVO:01000254 ENVO:00000108 ENVO:00005802 mixs:Soil env_broad: environmental system; env_local: meadow ecosystem; env_medium: bulk soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Bulk soil > Meadow environmental system meadow ecosystem bulk soil -GOLDTERMS:5587 ENVO:01000254 ENVO:00000446 ENVO:00002261 mixs:Soil ENVO:03600018 env_broad: environmental system; env_local: terrestrial biome; env_medium: forest soil; mixs_extension: MIXS:Soil; other: organic horizon; partial Environmental > Terrestrial > Soil > Organic layer > Forest soil environmental system terrestrial biome forest soil -GOLDTERMS:5589 ENVO:01000254 ENVO:00000446 ENVO:00002261 mixs:Soil ENVO:03600011 env_broad: environmental system; env_local: terrestrial biome; env_medium: forest soil; mixs_extension: MIXS:Soil; other: mineral horizon; partial Environmental > Terrestrial > Soil > Mineral horizon > Forest soil environmental system terrestrial biome forest soil -GOLDTERMS:5610 ENVO:01000254 ENVO:00000255 ENVO:00001998 mixs:Soil env_broad: environmental system; env_local: flood plain; env_medium: soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Floodplain environmental system flood plain soil -GOLDTERMS:5612 ENVO:01000254 ENVO:00000446 ENVO:00001998 mixs:Soil PATO:0015032 env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; other: increased contamination; partial Environmental > Terrestrial > Soil > Paddy field/soil > Contaminated environmental system terrestrial biome soil -GOLDTERMS:5613 ENVO:01000254 ENVO:00000446 ENVO:00001998 mixs:Soil env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Paddy field/soil environmental system terrestrial biome soil -GOLDTERMS:5615 ENVO:01000254 ENVO:00000292 ENVO:00001998 mixs:Soil env_broad: environmental system; env_local: watershed; env_medium: soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Watershed ENVO:00000292 environmental system watershed soil -GOLDTERMS:5617 ENVO:01000254 ENVO:00000108 ENVO:00001998 mixs:Soil ENVO:00000363 env_broad: environmental system; env_local: meadow ecosystem; env_medium: soil; mixs_extension: MIXS:Soil; other: area designated as a nature reserve; partial Environmental > Terrestrial > Soil > Nature reserve > Meadow environmental system meadow ecosystem soil -GOLDTERMS:5621 ENVO:01001209 ENVO:00000446 ENVO:00005774 mixs:Soil env_broad: wetland ecosystem; env_local: terrestrial biome; env_medium: peat soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Peat > Bog wetland ecosystem terrestrial biome peat soil -GOLDTERMS:5725 ENVO:01000254 ENVO:00000446 ENVO:00005802 mixs:Soil PATO:0015032 env_broad: environmental system; env_local: terrestrial biome; env_medium: bulk soil; mixs_extension: MIXS:Soil; other: increased contamination; partial Environmental > Terrestrial > Soil > Bulk soil > Contaminated environmental system terrestrial biome bulk soil -GOLDTERMS:5727 ENVO:00000077 ENVO:01001207 ENVO:00001998 mixs:Soil env_broad: agricultural ecosystem; env_local: ranch; env_medium: soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Ranch > Agricultural land agricultural ecosystem ranch soil -GOLDTERMS:5729 ENVO:00000077 ENVO:00000266 ENVO:00005773 mixs:Soil env_broad: agricultural ecosystem; env_local: pasture; env_medium: pasture soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Pasture > Agricultural land agricultural ecosystem pasture pasture soil -GOLDTERMS:5754 ENVO:01000254 ENVO:00000446 ENVO:00001998 mixs:Soil env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Manure-fertilized environmental system terrestrial biome soil -GOLDTERMS:5768 ENVO:00000077 ENVO:01001177 ENVO:00005742 mixs:Soil env_broad: agricultural ecosystem; env_local: arable land; env_medium: arable soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Arable > Agricultural land agricultural ecosystem arable land arable soil -GOLDTERMS:5770 ENVO:00000077 ENVO:03600087 ENVO:00001998 mixs:Soil env_broad: agricultural ecosystem; env_local: greenhouse; env_medium: soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Greenhouse > Agricultural land agricultural ecosystem greenhouse soil -GOLDTERMS:5774 ENVO:01000254 ENVO:00000011 ENVO:00001998 mixs:Soil env_broad: environmental system; env_local: garden; env_medium: soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Garden ENVO:00000011 environmental system garden soil -GOLDTERMS:5776 ENVO:00000077 ENVO:00000446 ENVO:2000007 mixs:Soil env_broad: agricultural ecosystem; env_local: terrestrial biome; env_medium: biochar; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Biochar > Agricultural land agricultural ecosystem terrestrial biome biochar -GOLDTERMS:5777 ENVO:01000254 ENVO:03600087 ENVO:00001998 mixs:Soil env_broad: environmental system; env_local: greenhouse; env_medium: soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Greenhouse ENVO:03600087 environmental system greenhouse soil -GOLDTERMS:5779 ENVO:01000254 ENVO:00000446 ENVO:03000133 mixs:Soil env_broad: environmental system; env_local: terrestrial biome; env_medium: agricultural potting mixture; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Potting soil ENVO:03000133 environmental system terrestrial biome agricultural potting mixture -GOLDTERMS:5780 ENVO:01000254 ENVO:00000446 ENVO:00005802 mixs:Soil env_broad: environmental system; env_local: terrestrial biome; env_medium: bulk soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Bulk soil environmental system terrestrial biome bulk soil -GOLDTERMS:5792 ENVO:01000254 ENVO:00000023 ENVO:00001998 NCBITaxon:12908 mixs:Soil env_broad: environmental system; env_local: stream; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Unclassified > Creek environmental system stream soil -GOLDTERMS:5800 ENVO:01000254 ENVO:00000446 ENVO:02000138 mixs:Soil env_broad: environmental system; env_local: terrestrial biome; env_medium: mangrove biome soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Mangrove soil environmental system terrestrial biome mangrove biome soil -GOLDTERMS:5803 ENVO:01000254 ENVO:00000446 ENVO:00005774 mixs:Soil env_broad: environmental system; env_local: terrestrial biome; env_medium: peat soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Peat ENVO:00005774 environmental system terrestrial biome peat soil -GOLDTERMS:5804 ENVO:00000232 ENVO:00000446 ENVO:00005774 mixs:Soil env_broad: fen; env_local: terrestrial biome; env_medium: peat soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Peat > Fen fen terrestrial biome peat soil -GOLDTERMS:5808 ENVO:01000254 ENVO:00000446 ENVO:00000134 mixs:Soil env_broad: environmental system; env_local: terrestrial biome; env_medium: permafrost; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Peat > Permafrost environmental system terrestrial biome permafrost -GOLDTERMS:5809 ENVO:01001209 ENVO:00000446 ENVO:00005774 mixs:Soil env_broad: wetland ecosystem; env_local: terrestrial biome; env_medium: peat soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Peat > Mire ENVO:01001209, ENVO:00000044 wetland ecosystem terrestrial biome peat soil -GOLDTERMS:5816 ENVO:01000254 ENVO:00000489 ENVO:00005774 mixs:Soil env_broad: environmental system; env_local: palsa; env_medium: peat soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Peat > Palsa ENVO:00000489 environmental system palsa peat soil -GOLDTERMS:5817 ENVO:01000254 ENVO:01001243 ENVO:00005774 mixs:Soil env_broad: environmental system; env_local: forest ecosystem; env_medium: peat soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Peat > Forest ENVO:00000111 environmental system forest ecosystem peat soil -GOLDTERMS:5818 ENVO:01000254 ENVO:03000085 ENVO:00005774 mixs:Soil env_broad: environmental system; env_local: thermokarst; env_medium: peat soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Peat > Thermokarst pond environmental system thermokarst peat soil -GOLDTERMS:5820 ENVO:01000254 ENVO:00000446 ENVO:00001998 mixs:Soil ENVO:00000328 env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; other: vadose zone; partial Environmental > Terrestrial > Soil > Vadose zone ENVO:00000328 environmental system terrestrial biome soil -GOLDTERMS:5821 ENVO:01000254 ENVO:00000446 ENVO:03600016 mixs:Soil ENVO:00000328 env_broad: environmental system; env_local: terrestrial biome; env_medium: saprolite; mixs_extension: MIXS:Soil; other: vadose zone; partial Environmental > Terrestrial > Soil > Vadose zone > Saprolite ENVO:03600016 environmental system terrestrial biome saprolite -GOLDTERMS:5822 ENVO:01000254 ENVO:00000446 ENVO:00001998 mixs:Soil ENVO:03600018 env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; other: organic horizon; partial Environmental > Terrestrial > Soil > Organic layer ENVO:03600018 environmental system terrestrial biome soil -GOLDTERMS:5823 ENVO:01000254 ENVO:00000446 ENVO:00005802 mixs:Soil ENVO:03600045 env_broad: environmental system; env_local: terrestrial biome; env_medium: bulk soil; mixs_extension: MIXS:Soil; other: plant pot; partial Environmental > Terrestrial > Soil > Bulk soil > Plant pot ENVO:03600045 environmental system terrestrial biome bulk soil -GOLDTERMS:Environmental-Terrestrial-Soil-Arable ENVO:01000254 ENVO:01001177 ENVO:00005742 mixs:Soil env_broad: environmental system; env_local: arable land; env_medium: arable soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Arable ENVO:00005742 environmental system arable land arable soil -GOLDTERMS:Environmental-Terrestrial-Soil-Biochar ENVO:01000254 ENVO:00000446 ENVO:2000007 mixs:Soil env_broad: environmental system; env_local: terrestrial biome; env_medium: biochar; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Biochar environmental system terrestrial biome biochar -GOLDTERMS:Environmental-Terrestrial-Soil-Mineral-horizon ENVO:01000254 ENVO:00000446 ENVO:00001998 mixs:Soil ENVO:03600011 env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; other: mineral horizon; partial Environmental > Terrestrial > Soil > Mineral horizon ENVO:03600011 environmental system terrestrial biome soil -GOLDTERMS:Environmental-Terrestrial-Soil-Nature-reserve ENVO:01000254 ENVO:00000446 ENVO:00001998 mixs:Soil ENVO:00000363 env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; other: area designated as a nature reserve; partial Environmental > Terrestrial > Soil > Nature reserve ENVO:00000363 environmental system terrestrial biome soil -GOLDTERMS:Environmental-Terrestrial-Soil-Pasture ENVO:01000254 ENVO:00000266 ENVO:00005773 mixs:Soil env_broad: environmental system; env_local: pasture; env_medium: pasture soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Pasture ENVO:00005773 environmental system pasture pasture soil -GOLDTERMS:Environmental-Terrestrial-Soil-Ranch ENVO:01000254 ENVO:01001207 ENVO:00001998 mixs:Soil env_broad: environmental system; env_local: ranch; env_medium: soil; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Ranch ENVO:01001207 environmental system ranch soil -GOLDTERMS:Environmental-Terrestrial-Soil-Unclassified ENVO:01000254 ENVO:00000446 ENVO:00001998 NCBITaxon:12908 mixs:Soil env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial Environmental > Terrestrial > Soil > Unclassified environmental system terrestrial biome soil diff --git a/notebooks/environmental_context_value_sets/soil/gold/gold-soils-by-semsql.tsv b/notebooks/environmental_context_value_sets/soil/gold/gold-soils-by-semsql.tsv deleted file mode 100644 index 011ecba8..00000000 --- a/notebooks/environmental_context_value_sets/soil/gold/gold-soils-by-semsql.tsv +++ /dev/null @@ -1,587 +0,0 @@ -sub pred object_or_value -GOLDTERMS:5820 mixs:env_broad ENVO:01000254 -GOLDTERMS:5820 mixs:env_local ENVO:00000446 -GOLDTERMS:5820 mixs:env_medium ENVO:00001998 -GOLDTERMS:5820 mixs:mixs_extension mixs:Soil -GOLDTERMS:5820 mixs:other ENVO:00000328 -GOLDTERMS:5820 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; other: vadose zone; partial -GOLDTERMS:5820 rdfs:label Environmental > Terrestrial > Soil > Vadose zone -GOLDTERMS:5820 skos:exactMatch ENVO:00000328 -GOLDTERMS:5421 mixs:env_broad ENVO:01000254 -GOLDTERMS:5421 mixs:env_local ENVO:00000022 -GOLDTERMS:5421 mixs:env_medium ENVO:00001998 -GOLDTERMS:5421 mixs:host_taxon NCBITaxon:12908 -GOLDTERMS:5421 mixs:mixs_extension mixs:Soil -GOLDTERMS:5421 rdfs:comment env_broad: environmental system; env_local: river; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5421 rdfs:label Environmental > Terrestrial > Soil > Unclassified > River -GOLDTERMS:5617 mixs:env_broad ENVO:01000254 -GOLDTERMS:5617 mixs:env_local ENVO:00000108 -GOLDTERMS:5617 mixs:env_medium ENVO:00001998 -GOLDTERMS:5617 mixs:mixs_extension mixs:Soil -GOLDTERMS:5617 mixs:other ENVO:00000363 -GOLDTERMS:5617 rdfs:comment env_broad: environmental system; env_local: meadow ecosystem; env_medium: soil; mixs_extension: MIXS:Soil; other: area designated as a nature reserve; partial -GOLDTERMS:5617 rdfs:label Environmental > Terrestrial > Soil > Nature reserve > Meadow -GOLDTERMS:Environmental-Terrestrial-Soil-Nature-reserve mixs:env_broad ENVO:01000254 -GOLDTERMS:Environmental-Terrestrial-Soil-Nature-reserve mixs:env_local ENVO:00000446 -GOLDTERMS:Environmental-Terrestrial-Soil-Nature-reserve mixs:env_medium ENVO:00001998 -GOLDTERMS:Environmental-Terrestrial-Soil-Nature-reserve mixs:mixs_extension mixs:Soil -GOLDTERMS:Environmental-Terrestrial-Soil-Nature-reserve mixs:other ENVO:00000363 -GOLDTERMS:Environmental-Terrestrial-Soil-Nature-reserve rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; other: area designated as a nature reserve; partial -GOLDTERMS:Environmental-Terrestrial-Soil-Nature-reserve rdfs:label Environmental > Terrestrial > Soil > Nature reserve -GOLDTERMS:Environmental-Terrestrial-Soil-Nature-reserve skos:exactMatch ENVO:00000363 -GOLDTERMS:Environmental-Terrestrial-Soil-Pasture mixs:env_broad ENVO:01000254 -GOLDTERMS:Environmental-Terrestrial-Soil-Pasture mixs:env_local ENVO:00000266 -GOLDTERMS:Environmental-Terrestrial-Soil-Pasture mixs:env_medium ENVO:00005773 -GOLDTERMS:Environmental-Terrestrial-Soil-Pasture mixs:mixs_extension mixs:Soil -GOLDTERMS:Environmental-Terrestrial-Soil-Pasture rdfs:comment env_broad: environmental system; env_local: pasture; env_medium: pasture soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:Environmental-Terrestrial-Soil-Pasture rdfs:label Environmental > Terrestrial > Soil > Pasture -GOLDTERMS:Environmental-Terrestrial-Soil-Pasture skos:exactMatch ENVO:00005773 -GOLDTERMS:5809 mixs:env_broad ENVO:01001209 -GOLDTERMS:5809 mixs:env_local ENVO:00000446 -GOLDTERMS:5809 mixs:env_medium ENVO:00005774 -GOLDTERMS:5809 mixs:mixs_extension mixs:Soil -GOLDTERMS:5809 rdfs:comment env_broad: wetland ecosystem; env_local: terrestrial biome; env_medium: peat soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5809 rdfs:label Environmental > Terrestrial > Soil > Peat > Mire -GOLDTERMS:5809 skos:closeMatch ENVO:01001209 -GOLDTERMS:5809 skos:closeMatch ENVO:00000044 -GOLDTERMS:4224 mixs:env_broad ENVO:01000254 -GOLDTERMS:4224 mixs:env_local ENVO:00000446 -GOLDTERMS:4224 mixs:env_medium ENVO:00002261 -GOLDTERMS:4224 mixs:mixs_extension mixs:Soil -GOLDTERMS:4224 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: forest soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4224 rdfs:label Environmental > Terrestrial > Soil > Sand > Forest soil -GOLDTERMS:Environmental-Terrestrial-Soil-Arable mixs:env_broad ENVO:01000254 -GOLDTERMS:Environmental-Terrestrial-Soil-Arable mixs:env_local ENVO:01001177 -GOLDTERMS:Environmental-Terrestrial-Soil-Arable mixs:env_medium ENVO:00005742 -GOLDTERMS:Environmental-Terrestrial-Soil-Arable mixs:mixs_extension mixs:Soil -GOLDTERMS:Environmental-Terrestrial-Soil-Arable rdfs:comment env_broad: environmental system; env_local: arable land; env_medium: arable soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:Environmental-Terrestrial-Soil-Arable rdfs:label Environmental > Terrestrial > Soil > Arable -GOLDTERMS:Environmental-Terrestrial-Soil-Arable skos:exactMatch ENVO:00005742 -GOLDTERMS:4237 mixs:env_broad ENVO:00000077 -GOLDTERMS:4237 mixs:env_local ENVO:00000446 -GOLDTERMS:4237 mixs:env_medium ENVO:00002258 -GOLDTERMS:4237 mixs:mixs_extension mixs:Agriculture -GOLDTERMS:4237 rdfs:comment env_broad: agricultural ecosystem; env_local: terrestrial biome; env_medium: loam; mixs_extension: MIXS:Agriculture; partial -GOLDTERMS:4237 rdfs:label Environmental > Terrestrial > Soil > Loam > Agricultural -GOLDTERMS:4237 skos:closeMatch ENVO:00000077 -GOLDTERMS:Environmental-Terrestrial-Soil-Ranch mixs:env_broad ENVO:01000254 -GOLDTERMS:Environmental-Terrestrial-Soil-Ranch mixs:env_local ENVO:01001207 -GOLDTERMS:Environmental-Terrestrial-Soil-Ranch mixs:env_medium ENVO:00001998 -GOLDTERMS:Environmental-Terrestrial-Soil-Ranch mixs:mixs_extension mixs:Soil -GOLDTERMS:Environmental-Terrestrial-Soil-Ranch rdfs:comment env_broad: environmental system; env_local: ranch; env_medium: soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:Environmental-Terrestrial-Soil-Ranch rdfs:label Environmental > Terrestrial > Soil > Ranch -GOLDTERMS:Environmental-Terrestrial-Soil-Ranch skos:closeMatch ENVO:01001207 -GOLDTERMS:4205 mixs:env_broad ENVO:01000254 -GOLDTERMS:4205 mixs:env_local ENVO:00000446 -GOLDTERMS:4205 mixs:env_medium ENVO:00002261 -GOLDTERMS:4205 mixs:host_taxon NCBITaxon:12908 -GOLDTERMS:4205 mixs:mixs_extension mixs:Soil -GOLDTERMS:4205 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: forest soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4205 rdfs:label Environmental > Terrestrial > Soil > Unclassified > Forest Soil -GOLDTERMS:4205 skos:exactMatch ENVO:00002261 -GOLDTERMS:5587 mixs:env_broad ENVO:01000254 -GOLDTERMS:5587 mixs:env_local ENVO:00000446 -GOLDTERMS:5587 mixs:env_medium ENVO:00002261 -GOLDTERMS:5587 mixs:mixs_extension mixs:Soil -GOLDTERMS:5587 mixs:other ENVO:03600018 -GOLDTERMS:5587 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: forest soil; mixs_extension: MIXS:Soil; other: organic horizon; partial -GOLDTERMS:5587 rdfs:label Environmental > Terrestrial > Soil > Organic layer > Forest soil -GOLDTERMS:5779 mixs:env_broad ENVO:01000254 -GOLDTERMS:5779 mixs:env_local ENVO:00000446 -GOLDTERMS:5779 mixs:env_medium ENVO:03000133 -GOLDTERMS:5779 mixs:mixs_extension mixs:Soil -GOLDTERMS:5779 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: agricultural potting mixture; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5779 rdfs:label Environmental > Terrestrial > Soil > Potting soil -GOLDTERMS:5779 skos:exactMatch ENVO:03000133 -GOLDTERMS:5434 mixs:env_broad ENVO:01000254 -GOLDTERMS:5434 mixs:env_local ENVO:00000446 -GOLDTERMS:5434 mixs:env_medium ENVO:00001998 -GOLDTERMS:5434 mixs:mixs_extension mixs:Soil -GOLDTERMS:5434 mixs:other ENVO:00002034 -GOLDTERMS:5434 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; other: biofilm; partial -GOLDTERMS:5434 rdfs:label Environmental > Terrestrial > Soil > Biofilm -GOLDTERMS:4221 mixs:env_broad ENVO:01000254 -GOLDTERMS:4221 mixs:env_local ENVO:00001996 -GOLDTERMS:4221 mixs:env_medium ENVO:00001998 -GOLDTERMS:4221 mixs:host_taxon NCBITaxon:12908 -GOLDTERMS:4221 mixs:mixs_extension mixs:Soil -GOLDTERMS:4221 rdfs:comment env_broad: environmental system; env_local: mine drainage; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4221 rdfs:label Environmental > Terrestrial > Soil > Unclassified > Mine drainage -GOLDTERMS:5780 mixs:env_broad ENVO:01000254 -GOLDTERMS:5780 mixs:env_local ENVO:00000446 -GOLDTERMS:5780 mixs:env_medium ENVO:00005802 -GOLDTERMS:5780 mixs:mixs_extension mixs:Soil -GOLDTERMS:5780 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: bulk soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5780 rdfs:label Environmental > Terrestrial > Soil > Bulk soil -GOLDTERMS:4217 mixs:env_broad ENVO:01000254 -GOLDTERMS:4217 mixs:env_local ENVO:01000250 -GOLDTERMS:4217 mixs:env_medium ENVO:00001998 -GOLDTERMS:4217 mixs:host_taxon NCBITaxon:12908 -GOLDTERMS:4217 mixs:mixs_extension mixs:Soil -GOLDTERMS:4217 rdfs:comment env_broad: environmental system; env_local: subpolar coniferous forest biome; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4217 rdfs:label Environmental > Terrestrial > Soil > Unclassified > Boreal forest -GOLDTERMS:4217 skos:exactMatch ENVO:01000250 -GOLDTERMS:5615 mixs:env_broad ENVO:01000254 -GOLDTERMS:5615 mixs:env_local ENVO:00000292 -GOLDTERMS:5615 mixs:env_medium ENVO:00001998 -GOLDTERMS:5615 mixs:mixs_extension mixs:Soil -GOLDTERMS:5615 rdfs:comment env_broad: environmental system; env_local: watershed; env_medium: soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5615 rdfs:label Environmental > Terrestrial > Soil > Watershed -GOLDTERMS:5615 skos:exactMatch ENVO:00000292 -GOLDTERMS:5729 mixs:env_broad ENVO:00000077 -GOLDTERMS:5729 mixs:env_local ENVO:00000266 -GOLDTERMS:5729 mixs:env_medium ENVO:00005773 -GOLDTERMS:5729 mixs:mixs_extension mixs:Soil -GOLDTERMS:5729 rdfs:comment env_broad: agricultural ecosystem; env_local: pasture; env_medium: pasture soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5729 rdfs:label Environmental > Terrestrial > Soil > Pasture > Agricultural land -GOLDTERMS:4228 mixs:env_broad ENVO:01000254 -GOLDTERMS:4228 mixs:env_local ENVO:01000177 -GOLDTERMS:4228 mixs:env_medium ENVO:00002982 -GOLDTERMS:4228 mixs:mixs_extension mixs:Soil -GOLDTERMS:4228 rdfs:comment env_broad: environmental system; env_local: grassland biome; env_medium: clay; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4228 rdfs:label Environmental > Terrestrial > Soil > Clay > Grasslands -GOLDTERMS:4216 mixs:env_broad ENVO:01000254 -GOLDTERMS:4216 mixs:env_local ENVO:00000446 -GOLDTERMS:4216 mixs:env_medium ENVO:00001998 -GOLDTERMS:4216 mixs:host_taxon NCBITaxon:12908 -GOLDTERMS:4216 mixs:mixs_extension mixs:Soil -GOLDTERMS:4216 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4216 rdfs:label Environmental > Terrestrial > Soil > Unclassified > Tropical rainforest -GOLDTERMS:5621 mixs:env_broad ENVO:01001209 -GOLDTERMS:5621 mixs:env_local ENVO:00000446 -GOLDTERMS:5621 mixs:env_medium ENVO:00005774 -GOLDTERMS:5621 mixs:mixs_extension mixs:Soil -GOLDTERMS:5621 rdfs:comment env_broad: wetland ecosystem; env_local: terrestrial biome; env_medium: peat soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5621 rdfs:label Environmental > Terrestrial > Soil > Peat > Bog -GOLDTERMS:5777 mixs:env_broad ENVO:01000254 -GOLDTERMS:5777 mixs:env_local ENVO:03600087 -GOLDTERMS:5777 mixs:env_medium ENVO:00001998 -GOLDTERMS:5777 mixs:mixs_extension mixs:Soil -GOLDTERMS:5777 rdfs:comment env_broad: environmental system; env_local: greenhouse; env_medium: soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5777 rdfs:label Environmental > Terrestrial > Soil > Greenhouse -GOLDTERMS:5777 skos:exactMatch ENVO:03600087 -GOLDTERMS:4212 mixs:env_broad ENVO:01000254 -GOLDTERMS:4212 mixs:env_local ENVO:00000446 -GOLDTERMS:4212 mixs:env_medium ENVO:00001998 -GOLDTERMS:4212 mixs:mixs_extension mixs:Soil -GOLDTERMS:4212 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4212 rdfs:label Environmental > Terrestrial > Soil -GOLDTERMS:4210 mixs:env_broad ENVO:01000254 -GOLDTERMS:4210 mixs:env_local ENVO:01001357 -GOLDTERMS:4210 mixs:env_medium ENVO:00001998 -GOLDTERMS:4210 mixs:host_taxon NCBITaxon:12908 -GOLDTERMS:4210 mixs:mixs_extension mixs:Soil -GOLDTERMS:4210 rdfs:comment env_broad: environmental system; env_local: desert; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4210 rdfs:label Environmental > Terrestrial > Soil > Unclassified > Desert -GOLDTERMS:4243 mixs:env_broad ENVO:01000254 -GOLDTERMS:4243 mixs:env_local ENVO:00000446 -GOLDTERMS:4243 mixs:env_medium ENVO:00002258 -GOLDTERMS:4243 mixs:mixs_extension mixs:Soil -GOLDTERMS:4243 mixs:other PATO:0015032 -GOLDTERMS:4243 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: loam; mixs_extension: MIXS:Soil; other: increased contamination; partial -GOLDTERMS:4243 rdfs:label Environmental > Terrestrial > Soil > Loam > Contaminated -GOLDTERMS:5803 mixs:env_broad ENVO:01000254 -GOLDTERMS:5803 mixs:env_local ENVO:00000446 -GOLDTERMS:5803 mixs:env_medium ENVO:00005774 -GOLDTERMS:5803 mixs:mixs_extension mixs:Soil -GOLDTERMS:5803 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: peat soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5803 rdfs:label Environmental > Terrestrial > Soil > Peat -GOLDTERMS:5803 skos:exactMatch ENVO:00005774 -GOLDTERMS:4223 mixs:env_broad ENVO:01000254 -GOLDTERMS:4223 mixs:env_local ENVO:01000177 -GOLDTERMS:4223 mixs:env_medium ENVO:01000017 -GOLDTERMS:4223 mixs:mixs_extension mixs:Soil -GOLDTERMS:4223 rdfs:comment env_broad: environmental system; env_local: grassland biome; env_medium: sand; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4223 rdfs:label Environmental > Terrestrial > Soil > Sand > Grasslands -GOLDTERMS:5818 mixs:env_broad ENVO:01000254 -GOLDTERMS:5818 mixs:env_local ENVO:03000085 -GOLDTERMS:5818 mixs:env_medium ENVO:00005774 -GOLDTERMS:5818 mixs:mixs_extension mixs:Soil -GOLDTERMS:5818 rdfs:comment env_broad: environmental system; env_local: thermokarst; env_medium: peat soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5818 rdfs:label Environmental > Terrestrial > Soil > Peat > Thermokarst pond -GOLDTERMS:5823 mixs:env_broad ENVO:01000254 -GOLDTERMS:5823 mixs:env_local ENVO:00000446 -GOLDTERMS:5823 mixs:env_medium ENVO:00005802 -GOLDTERMS:5823 mixs:mixs_extension mixs:Soil -GOLDTERMS:5823 mixs:other ENVO:03600045 -GOLDTERMS:5823 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: bulk soil; mixs_extension: MIXS:Soil; other: plant pot; partial -GOLDTERMS:5823 rdfs:label Environmental > Terrestrial > Soil > Bulk soil > Plant pot -GOLDTERMS:5823 skos:closeMatch ENVO:03600045 -GOLDTERMS:5424 mixs:env_broad ENVO:00000077 -GOLDTERMS:5424 mixs:env_local ENVO:00000446 -GOLDTERMS:5424 mixs:env_medium ENVO:00005802 -GOLDTERMS:5424 mixs:mixs_extension mixs:Soil -GOLDTERMS:5424 rdfs:comment env_broad: agricultural ecosystem; env_local: terrestrial biome; env_medium: bulk soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5424 rdfs:label Environmental > Terrestrial > Soil > Bulk soil > Agricultural land -GOLDTERMS:4204 mixs:env_broad ENVO:01000254 -GOLDTERMS:4204 mixs:env_local ENVO:00002061 -GOLDTERMS:4204 mixs:env_medium ENVO:01000017 -GOLDTERMS:4204 mixs:mixs_extension mixs:Soil -GOLDTERMS:4204 rdfs:comment env_broad: environmental system; env_local: oil spill; env_medium: sand; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4204 rdfs:label Environmental > Terrestrial > Soil > Sand > Oil-contaminated -GOLDTERMS:5754 mixs:env_broad ENVO:01000254 -GOLDTERMS:5754 mixs:env_local ENVO:00000446 -GOLDTERMS:5754 mixs:env_medium ENVO:00001998 -GOLDTERMS:5754 mixs:mixs_extension mixs:Soil -GOLDTERMS:5754 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5754 rdfs:label Environmental > Terrestrial > Soil > Manure-fertilized -GOLDTERMS:5414 mixs:env_broad ENVO:01000254 -GOLDTERMS:5414 mixs:env_local ENVO:00000446 -GOLDTERMS:5414 mixs:env_medium ENVO:00005772 -GOLDTERMS:5414 mixs:host_taxon NCBITaxon:12908 -GOLDTERMS:5414 mixs:mixs_extension mixs:Soil -GOLDTERMS:5414 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: orchard soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5414 rdfs:label Environmental > Terrestrial > Soil > Unclassified > Orchard soil -GOLDTERMS:5414 skos:exactMatch ENVO:00005772 -GOLDTERMS:4239 mixs:env_broad ENVO:01000254 -GOLDTERMS:4239 mixs:env_local ENVO:00000446 -GOLDTERMS:4239 mixs:env_medium ENVO:00002261 -GOLDTERMS:4239 mixs:mixs_extension mixs:Soil -GOLDTERMS:4239 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: forest soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4239 rdfs:label Environmental > Terrestrial > Soil > Loam > Forest soil -GOLDTERMS:5792 mixs:env_broad ENVO:01000254 -GOLDTERMS:5792 mixs:env_local ENVO:00000023 -GOLDTERMS:5792 mixs:env_medium ENVO:00001998 -GOLDTERMS:5792 mixs:host_taxon NCBITaxon:12908 -GOLDTERMS:5792 mixs:mixs_extension mixs:Soil -GOLDTERMS:5792 rdfs:comment env_broad: environmental system; env_local: stream; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5792 rdfs:label Environmental > Terrestrial > Soil > Unclassified > Creek -GOLDTERMS:Environmental-Terrestrial-Soil-Biochar mixs:env_broad ENVO:01000254 -GOLDTERMS:Environmental-Terrestrial-Soil-Biochar mixs:env_local ENVO:00000446 -GOLDTERMS:Environmental-Terrestrial-Soil-Biochar mixs:env_medium ENVO:2000007 -GOLDTERMS:Environmental-Terrestrial-Soil-Biochar mixs:mixs_extension mixs:Soil -GOLDTERMS:Environmental-Terrestrial-Soil-Biochar rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: biochar; mixs_extension: MIXS:Soil; partial -GOLDTERMS:Environmental-Terrestrial-Soil-Biochar rdfs:label Environmental > Terrestrial > Soil > Biochar -GOLDTERMS:4745 mixs:env_broad ENVO:01000254 -GOLDTERMS:4745 mixs:env_local ENVO:00000446 -GOLDTERMS:4745 mixs:env_medium ENVO:00001998 -GOLDTERMS:4745 mixs:mixs_extension mixs:Soil -GOLDTERMS:4745 mixs:other ENVO:00000133 -GOLDTERMS:4745 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; other: glacier; partial -GOLDTERMS:4745 rdfs:label Environmental > Terrestrial > Soil > Glacier -GOLDTERMS:4227 mixs:env_broad ENVO:01000254 -GOLDTERMS:4227 mixs:env_local ENVO:00000446 -GOLDTERMS:4227 mixs:env_medium ENVO:01000016 -GOLDTERMS:4227 mixs:mixs_extension mixs:Soil -GOLDTERMS:4227 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: silt; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4227 rdfs:label Environmental > Terrestrial > Soil > Silt -GOLDTERMS:4227 skos:exactMatch ENVO:01000016 -GOLDTERMS:4238 mixs:env_broad ENVO:01000254 -GOLDTERMS:4238 mixs:env_local ENVO:01000177 -GOLDTERMS:4238 mixs:env_medium ENVO:00002258 -GOLDTERMS:4238 mixs:mixs_extension mixs:Soil -GOLDTERMS:4238 rdfs:comment env_broad: environmental system; env_local: grassland biome; env_medium: loam; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4238 rdfs:label Environmental > Terrestrial > Soil > Loam > Grasslands -GOLDTERMS:4218 mixs:env_broad ENVO:01000254 -GOLDTERMS:4218 mixs:env_local ENVO:00000076 -GOLDTERMS:4218 mixs:env_medium ENVO:00001998 -GOLDTERMS:4218 mixs:host_taxon NCBITaxon:12908 -GOLDTERMS:4218 mixs:mixs_extension mixs:Soil -GOLDTERMS:4218 rdfs:comment env_broad: environmental system; env_local: mine; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4218 rdfs:label Environmental > Terrestrial > Soil > Unclassified > Mine -GOLDTERMS:5585 mixs:env_broad ENVO:01000254 -GOLDTERMS:5585 mixs:env_local ENVO:00000108 -GOLDTERMS:5585 mixs:env_medium ENVO:00005802 -GOLDTERMS:5585 mixs:mixs_extension mixs:Soil -GOLDTERMS:5585 rdfs:comment env_broad: environmental system; env_local: meadow ecosystem; env_medium: bulk soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5585 rdfs:label Environmental > Terrestrial > Soil > Bulk soil > Meadow -GOLDTERMS:Environmental-Terrestrial-Soil-Mineral-horizon mixs:env_broad ENVO:01000254 -GOLDTERMS:Environmental-Terrestrial-Soil-Mineral-horizon mixs:env_local ENVO:00000446 -GOLDTERMS:Environmental-Terrestrial-Soil-Mineral-horizon mixs:env_medium ENVO:00001998 -GOLDTERMS:Environmental-Terrestrial-Soil-Mineral-horizon mixs:mixs_extension mixs:Soil -GOLDTERMS:Environmental-Terrestrial-Soil-Mineral-horizon mixs:other ENVO:03600011 -GOLDTERMS:Environmental-Terrestrial-Soil-Mineral-horizon rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; other: mineral horizon; partial -GOLDTERMS:Environmental-Terrestrial-Soil-Mineral-horizon rdfs:label Environmental > Terrestrial > Soil > Mineral horizon -GOLDTERMS:Environmental-Terrestrial-Soil-Mineral-horizon skos:exactMatch ENVO:03600011 -GOLDTERMS:5817 mixs:env_broad ENVO:01000254 -GOLDTERMS:5817 mixs:env_local ENVO:01001243 -GOLDTERMS:5817 mixs:env_medium ENVO:00005774 -GOLDTERMS:5817 mixs:mixs_extension mixs:Soil -GOLDTERMS:5817 rdfs:comment env_broad: environmental system; env_local: forest ecosystem; env_medium: peat soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5817 rdfs:label Environmental > Terrestrial > Soil > Peat > Forest -GOLDTERMS:5817 skos:closeMatch ENVO:00000111 -GOLDTERMS:5613 mixs:env_broad ENVO:01000254 -GOLDTERMS:5613 mixs:env_local ENVO:00000446 -GOLDTERMS:5613 mixs:env_medium ENVO:00001998 -GOLDTERMS:5613 mixs:mixs_extension mixs:Soil -GOLDTERMS:5613 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5613 rdfs:label Environmental > Terrestrial > Soil > Paddy field/soil -GOLDTERMS:4231 mixs:env_broad ENVO:01000254 -GOLDTERMS:4231 mixs:env_local ENVO:00000446 -GOLDTERMS:4231 mixs:env_medium ENVO:00002982 -GOLDTERMS:4231 mixs:mixs_extension mixs:Soil -GOLDTERMS:4231 mixs:other PATO:0015032 -GOLDTERMS:4231 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: clay; mixs_extension: MIXS:Soil; other: increased contamination; partial -GOLDTERMS:4231 rdfs:label Environmental > Terrestrial > Soil > Clay > Contaminated -GOLDTERMS:5774 mixs:env_broad ENVO:01000254 -GOLDTERMS:5774 mixs:env_local ENVO:00000011 -GOLDTERMS:5774 mixs:env_medium ENVO:00001998 -GOLDTERMS:5774 mixs:mixs_extension mixs:Soil -GOLDTERMS:5774 rdfs:comment env_broad: environmental system; env_local: garden; env_medium: soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5774 rdfs:label Environmental > Terrestrial > Soil > Garden -GOLDTERMS:5774 skos:exactMatch ENVO:00000011 -GOLDTERMS:4242 mixs:env_broad ENVO:00000077 -GOLDTERMS:4242 mixs:env_local ENVO:00000446 -GOLDTERMS:4242 mixs:env_medium ENVO:00002258 -GOLDTERMS:4242 mixs:mixs_extension mixs:Soil -GOLDTERMS:4242 rdfs:comment env_broad: agricultural ecosystem; env_local: terrestrial biome; env_medium: loam; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4242 rdfs:label Environmental > Terrestrial > Soil > Loam > Agricultural land -GOLDTERMS:4230 mixs:env_broad ENVO:00000077 -GOLDTERMS:4230 mixs:env_local ENVO:00000446 -GOLDTERMS:4230 mixs:env_medium ENVO:00002982 -GOLDTERMS:4230 mixs:mixs_extension mixs:Soil -GOLDTERMS:4230 rdfs:comment env_broad: agricultural ecosystem; env_local: terrestrial biome; env_medium: clay; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4230 rdfs:label Environmental > Terrestrial > Soil > Clay > Agricultural land -GOLDTERMS:5816 mixs:env_broad ENVO:01000254 -GOLDTERMS:5816 mixs:env_local ENVO:00000489 -GOLDTERMS:5816 mixs:env_medium ENVO:00005774 -GOLDTERMS:5816 mixs:mixs_extension mixs:Soil -GOLDTERMS:5816 rdfs:comment env_broad: environmental system; env_local: palsa; env_medium: peat soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5816 rdfs:label Environmental > Terrestrial > Soil > Peat > Palsa -GOLDTERMS:5816 skos:exactMatch ENVO:00000489 -GOLDTERMS:5808 mixs:env_broad ENVO:01000254 -GOLDTERMS:5808 mixs:env_local ENVO:00000446 -GOLDTERMS:5808 mixs:env_medium ENVO:00000134 -GOLDTERMS:5808 mixs:mixs_extension mixs:Soil -GOLDTERMS:5808 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: permafrost; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5808 rdfs:label Environmental > Terrestrial > Soil > Peat > Permafrost -GOLDTERMS:4213 mixs:env_broad ENVO:00000077 -GOLDTERMS:4213 mixs:env_local ENVO:00000446 -GOLDTERMS:4213 mixs:env_medium ENVO:00001998 -GOLDTERMS:4213 mixs:host_taxon NCBITaxon:12908 -GOLDTERMS:4213 mixs:mixs_extension mixs:Soil -GOLDTERMS:4213 rdfs:comment env_broad: agricultural ecosystem; env_local: terrestrial biome; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4213 rdfs:label Environmental > Terrestrial > Soil > Unclassified > Agricultural land -GOLDTERMS:4578 mixs:env_broad ENVO:01000254 -GOLDTERMS:4578 mixs:env_local ENVO:00000446 -GOLDTERMS:4578 mixs:env_medium ENVO:00001998 -GOLDTERMS:4578 mixs:mixs_extension mixs:Soil -GOLDTERMS:4578 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4578 rdfs:label Environmental > Terrestrial > Soil > Soil crust -GOLDTERMS:5439 mixs:env_broad ENVO:01000254 -GOLDTERMS:5439 mixs:env_local ENVO:01001835 -GOLDTERMS:5439 mixs:env_medium ENVO:00005741 -GOLDTERMS:5439 mixs:host_taxon NCBITaxon:12908 -GOLDTERMS:5439 mixs:mixs_extension mixs:Soil -GOLDTERMS:5439 rdfs:comment env_broad: environmental system; env_local: alpine biome; env_medium: alpine soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5439 rdfs:label Environmental > Terrestrial > Soil > Unclassified > Alpine -GOLDTERMS:5439 skos:exactMatch ENVO:00005741 -GOLDTERMS:4206 mixs:env_broad ENVO:01000254 -GOLDTERMS:4206 mixs:env_local ENVO:00000446 -GOLDTERMS:4206 mixs:env_medium ENVO:00000134 -GOLDTERMS:4206 mixs:host_taxon NCBITaxon:12908 -GOLDTERMS:4206 mixs:mixs_extension mixs:Soil -GOLDTERMS:4206 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: permafrost; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4206 rdfs:label Environmental > Terrestrial > Soil > Unclassified > Permafrost -GOLDTERMS:5727 mixs:env_broad ENVO:00000077 -GOLDTERMS:5727 mixs:env_local ENVO:01001207 -GOLDTERMS:5727 mixs:env_medium ENVO:00001998 -GOLDTERMS:5727 mixs:mixs_extension mixs:Soil -GOLDTERMS:5727 rdfs:comment env_broad: agricultural ecosystem; env_local: ranch; env_medium: soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5727 rdfs:label Environmental > Terrestrial > Soil > Ranch > Agricultural land -GOLDTERMS:4211 mixs:env_broad ENVO:01000254 -GOLDTERMS:4211 mixs:env_local ENVO:00000446 -GOLDTERMS:4211 mixs:env_medium ENVO:00001998 -GOLDTERMS:4211 mixs:host_taxon NCBITaxon:12908 -GOLDTERMS:4211 mixs:mixs_extension mixs:Soil -GOLDTERMS:4211 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4211 rdfs:label Environmental > Terrestrial > Soil > Unclassified > Uranium contaminated -GOLDTERMS:4215 mixs:env_broad ENVO:01000254 -GOLDTERMS:4215 mixs:env_local ENVO:00000446 -GOLDTERMS:4215 mixs:env_medium ENVO:00001998 -GOLDTERMS:4215 mixs:host_taxon NCBITaxon:12908 -GOLDTERMS:4215 mixs:mixs_extension mixs:Soil -GOLDTERMS:4215 mixs:other PATO:0015032 -GOLDTERMS:4215 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; other: increased contamination; partial -GOLDTERMS:4215 rdfs:label Environmental > Terrestrial > Soil > Unclassified > Contaminated -GOLDTERMS:5610 mixs:env_broad ENVO:01000254 -GOLDTERMS:5610 mixs:env_local ENVO:00000255 -GOLDTERMS:5610 mixs:env_medium ENVO:00001998 -GOLDTERMS:5610 mixs:mixs_extension mixs:Soil -GOLDTERMS:5610 rdfs:comment env_broad: environmental system; env_local: flood plain; env_medium: soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5610 rdfs:label Environmental > Terrestrial > Soil > Floodplain -GOLDTERMS:5776 mixs:env_broad ENVO:00000077 -GOLDTERMS:5776 mixs:env_local ENVO:00000446 -GOLDTERMS:5776 mixs:env_medium ENVO:2000007 -GOLDTERMS:5776 mixs:mixs_extension mixs:Soil -GOLDTERMS:5776 rdfs:comment env_broad: agricultural ecosystem; env_local: terrestrial biome; env_medium: biochar; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5776 rdfs:label Environmental > Terrestrial > Soil > Biochar > Agricultural land -GOLDTERMS:4244 mixs:env_broad ENVO:01000254 -GOLDTERMS:4244 mixs:env_local ENVO:00000446 -GOLDTERMS:4244 mixs:env_medium ENVO:00002259 -GOLDTERMS:4244 mixs:mixs_extension mixs:Soil -GOLDTERMS:4244 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: agricultural soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4244 rdfs:label Environmental > Terrestrial > Soil > Loam > Agricultural soil -GOLDTERMS:4244 skos:exactMatch ENVO:00002259 -GOLDTERMS:5725 mixs:env_broad ENVO:01000254 -GOLDTERMS:5725 mixs:env_local ENVO:00000446 -GOLDTERMS:5725 mixs:env_medium ENVO:00005802 -GOLDTERMS:5725 mixs:mixs_extension mixs:Soil -GOLDTERMS:5725 mixs:other PATO:0015032 -GOLDTERMS:5725 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: bulk soil; mixs_extension: MIXS:Soil; other: increased contamination; partial -GOLDTERMS:5725 rdfs:label Environmental > Terrestrial > Soil > Bulk soil > Contaminated -GOLDTERMS:5438 mixs:env_broad ENVO:00000078 -GOLDTERMS:5438 mixs:env_local ENVO:00000446 -GOLDTERMS:5438 mixs:env_medium ENVO:00001998 -GOLDTERMS:5438 mixs:host_taxon NCBITaxon:12908 -GOLDTERMS:5438 mixs:mixs_extension mixs:Soil -GOLDTERMS:5438 rdfs:comment env_broad: farm; env_local: terrestrial biome; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5438 rdfs:label Environmental > Terrestrial > Soil > Unclassified > Farm -GOLDTERMS:5438 skos:exactMatch ENVO:00000078 -GOLDTERMS:5821 mixs:env_broad ENVO:01000254 -GOLDTERMS:5821 mixs:env_local ENVO:00000446 -GOLDTERMS:5821 mixs:env_medium ENVO:03600016 -GOLDTERMS:5821 mixs:mixs_extension mixs:Soil -GOLDTERMS:5821 mixs:other ENVO:00000328 -GOLDTERMS:5821 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: saprolite; mixs_extension: MIXS:Soil; other: vadose zone; partial -GOLDTERMS:5821 rdfs:label Environmental > Terrestrial > Soil > Vadose zone > Saprolite -GOLDTERMS:5821 skos:exactMatch ENVO:03600016 -GOLDTERMS:5770 mixs:env_broad ENVO:00000077 -GOLDTERMS:5770 mixs:env_local ENVO:03600087 -GOLDTERMS:5770 mixs:env_medium ENVO:00001998 -GOLDTERMS:5770 mixs:mixs_extension mixs:Soil -GOLDTERMS:5770 rdfs:comment env_broad: agricultural ecosystem; env_local: greenhouse; env_medium: soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5770 rdfs:label Environmental > Terrestrial > Soil > Greenhouse > Agricultural land -GOLDTERMS:5612 mixs:env_broad ENVO:01000254 -GOLDTERMS:5612 mixs:env_local ENVO:00000446 -GOLDTERMS:5612 mixs:env_medium ENVO:00001998 -GOLDTERMS:5612 mixs:mixs_extension mixs:Soil -GOLDTERMS:5612 mixs:other PATO:0015032 -GOLDTERMS:5612 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; other: increased contamination; partial -GOLDTERMS:5612 rdfs:label Environmental > Terrestrial > Soil > Paddy field/soil > Contaminated -GOLDTERMS:4202 mixs:env_broad ENVO:01000254 -GOLDTERMS:4202 mixs:env_local ENVO:01001357 -GOLDTERMS:4202 mixs:env_medium ENVO:00005800 -GOLDTERMS:4202 mixs:mixs_extension mixs:Soil -GOLDTERMS:4202 rdfs:comment env_broad: environmental system; env_local: desert; env_medium: desert sand; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4202 rdfs:label Environmental > Terrestrial > Soil > Sand > Desert -GOLDTERMS:4202 skos:exactMatch ENVO:00005800 -GOLDTERMS:4232 mixs:env_broad ENVO:01000254 -GOLDTERMS:4232 mixs:env_local ENVO:00002061 -GOLDTERMS:4232 mixs:env_medium ENVO:00002982 -GOLDTERMS:4232 mixs:mixs_extension mixs:Soil -GOLDTERMS:4232 rdfs:comment env_broad: environmental system; env_local: oil spill; env_medium: clay; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4232 rdfs:label Environmental > Terrestrial > Soil > Clay > Oil-contaminated -GOLDTERMS:5244 mixs:env_broad ENVO:01000254 -GOLDTERMS:5244 mixs:env_local ENVO:00000446 -GOLDTERMS:5244 mixs:env_medium ENVO:00001998 -GOLDTERMS:5244 mixs:host_taxon NCBITaxon:12908 -GOLDTERMS:5244 mixs:mixs_extension mixs:Soil -GOLDTERMS:5244 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5244 rdfs:label Environmental > Terrestrial > Soil > Unclassified > Riparian soil -GOLDTERMS:4418 mixs:env_broad ENVO:01000254 -GOLDTERMS:4418 mixs:env_local ENVO:00000446 -GOLDTERMS:4418 mixs:env_medium ENVO:00001998 -GOLDTERMS:4418 mixs:mixs_extension mixs:Soil -GOLDTERMS:4418 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4418 rdfs:label Environmental > Terrestrial > Soil > Fossil -GOLDTERMS:4229 mixs:env_broad ENVO:01000254 -GOLDTERMS:4229 mixs:env_local ENVO:00000446 -GOLDTERMS:4229 mixs:env_medium ENVO:00002982 -GOLDTERMS:4229 mixs:mixs_extension mixs:Soil -GOLDTERMS:4229 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: clay; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4229 rdfs:label Environmental > Terrestrial > Soil > Clay -GOLDTERMS:4229 skos:exactMatch ENVO:00002262 -GOLDTERMS:5420 mixs:env_broad ENVO:01000254 -GOLDTERMS:5420 mixs:env_local ENVO:00000108 -GOLDTERMS:5420 mixs:env_medium ENVO:00001998 -GOLDTERMS:5420 mixs:host_taxon NCBITaxon:12908 -GOLDTERMS:5420 mixs:mixs_extension mixs:Soil -GOLDTERMS:5420 rdfs:comment env_broad: environmental system; env_local: meadow ecosystem; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5420 rdfs:label Environmental > Terrestrial > Soil > Unclassified > Meadow -GOLDTERMS:4214 mixs:env_broad ENVO:01000254 -GOLDTERMS:4214 mixs:env_local ENVO:00000300 -GOLDTERMS:4214 mixs:env_medium ENVO:00001998 -GOLDTERMS:4214 mixs:host_taxon NCBITaxon:12908 -GOLDTERMS:4214 mixs:mixs_extension mixs:Soil -GOLDTERMS:4214 rdfs:comment env_broad: environmental system; env_local: scrubland area; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4214 rdfs:label Environmental > Terrestrial > Soil > Unclassified > Shrubland -GOLDTERMS:4214 skos:exactMatch ENVO:00000300 -GOLDTERMS:5768 mixs:env_broad ENVO:00000077 -GOLDTERMS:5768 mixs:env_local ENVO:01001177 -GOLDTERMS:5768 mixs:env_medium ENVO:00005742 -GOLDTERMS:5768 mixs:mixs_extension mixs:Soil -GOLDTERMS:5768 rdfs:comment env_broad: agricultural ecosystem; env_local: arable land; env_medium: arable soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5768 rdfs:label Environmental > Terrestrial > Soil > Arable > Agricultural land -GOLDTERMS:4234 mixs:env_broad ENVO:01001209 -GOLDTERMS:4234 mixs:env_local ENVO:00000446 -GOLDTERMS:4234 mixs:env_medium ENVO:00000134 -GOLDTERMS:4234 mixs:mixs_extension mixs:Soil -GOLDTERMS:4234 rdfs:comment env_broad: wetland ecosystem; env_local: terrestrial biome; env_medium: permafrost; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4234 rdfs:label Environmental > Terrestrial > Soil > Wetlands > Permafrost -GOLDTERMS:4220 mixs:env_broad ENVO:01000254 -GOLDTERMS:4220 mixs:env_local ENVO:00002061 -GOLDTERMS:4220 mixs:env_medium ENVO:00001998 -GOLDTERMS:4220 mixs:host_taxon NCBITaxon:12908 -GOLDTERMS:4220 mixs:mixs_extension mixs:Soil -GOLDTERMS:4220 rdfs:comment env_broad: environmental system; env_local: oil spill; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4220 rdfs:label Environmental > Terrestrial > Soil > Unclassified > Oil-contaminated -GOLDTERMS:4711 mixs:env_broad ENVO:01000254 -GOLDTERMS:4711 mixs:env_local ENVO:01000910 -GOLDTERMS:4711 mixs:env_medium ENVO:00001998 -GOLDTERMS:4711 mixs:mixs_extension mixs:Soil -GOLDTERMS:4711 mixs:other ENVO:01000909 -GOLDTERMS:4711 rdfs:comment env_broad: environmental system; env_local: soil biocrust; env_medium: soil; mixs_extension: MIXS:Soil; other: biocrust; partial -GOLDTERMS:4711 rdfs:label Environmental > Terrestrial > Soil > Biocrust -GOLDTERMS:4711 skos:exactMatch ENVO:01000910 -GOLDTERMS:5589 mixs:env_broad ENVO:01000254 -GOLDTERMS:5589 mixs:env_local ENVO:00000446 -GOLDTERMS:5589 mixs:env_medium ENVO:00002261 -GOLDTERMS:5589 mixs:mixs_extension mixs:Soil -GOLDTERMS:5589 mixs:other ENVO:03600011 -GOLDTERMS:5589 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: forest soil; mixs_extension: MIXS:Soil; other: mineral horizon; partial -GOLDTERMS:5589 rdfs:label Environmental > Terrestrial > Soil > Mineral horizon > Forest soil -GOLDTERMS:5822 mixs:env_broad ENVO:01000254 -GOLDTERMS:5822 mixs:env_local ENVO:00000446 -GOLDTERMS:5822 mixs:env_medium ENVO:00001998 -GOLDTERMS:5822 mixs:mixs_extension mixs:Soil -GOLDTERMS:5822 mixs:other ENVO:03600018 -GOLDTERMS:5822 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; other: organic horizon; partial -GOLDTERMS:5822 rdfs:label Environmental > Terrestrial > Soil > Organic layer -GOLDTERMS:5822 skos:exactMatch ENVO:03600018 -GOLDTERMS:5800 mixs:env_broad ENVO:01000254 -GOLDTERMS:5800 mixs:env_local ENVO:00000446 -GOLDTERMS:5800 mixs:env_medium ENVO:02000138 -GOLDTERMS:5800 mixs:mixs_extension mixs:Soil -GOLDTERMS:5800 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: mangrove biome soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5800 rdfs:label Environmental > Terrestrial > Soil > Mangrove soil -GOLDTERMS:4235 mixs:env_broad ENVO:01001209 -GOLDTERMS:4235 mixs:env_local ENVO:00000446 -GOLDTERMS:4235 mixs:env_medium ENVO:00001998 -GOLDTERMS:4235 mixs:mixs_extension mixs:Soil -GOLDTERMS:4235 rdfs:comment env_broad: wetland ecosystem; env_local: terrestrial biome; env_medium: soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4235 rdfs:label Environmental > Terrestrial > Soil > Wetlands -GOLDTERMS:4203 mixs:env_broad ENVO:01000254 -GOLDTERMS:4203 mixs:env_local ENVO:00000446 -GOLDTERMS:4203 mixs:env_medium ENVO:01000017 -GOLDTERMS:4203 mixs:mixs_extension mixs:Soil -GOLDTERMS:4203 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: sand; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4203 rdfs:label Environmental > Terrestrial > Soil > Sand -GOLDTERMS:4203 skos:exactMatch ENVO:01000017 -GOLDTERMS:Environmental-Terrestrial-Soil-Unclassified mixs:env_broad ENVO:01000254 -GOLDTERMS:Environmental-Terrestrial-Soil-Unclassified mixs:env_local ENVO:00000446 -GOLDTERMS:Environmental-Terrestrial-Soil-Unclassified mixs:env_medium ENVO:00001998 -GOLDTERMS:Environmental-Terrestrial-Soil-Unclassified mixs:host_taxon NCBITaxon:12908 -GOLDTERMS:Environmental-Terrestrial-Soil-Unclassified mixs:mixs_extension mixs:Soil -GOLDTERMS:Environmental-Terrestrial-Soil-Unclassified rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial -GOLDTERMS:Environmental-Terrestrial-Soil-Unclassified rdfs:label Environmental > Terrestrial > Soil > Unclassified -GOLDTERMS:5804 mixs:env_broad ENVO:00000232 -GOLDTERMS:5804 mixs:env_local ENVO:00000446 -GOLDTERMS:5804 mixs:env_medium ENVO:00005774 -GOLDTERMS:5804 mixs:mixs_extension mixs:Soil -GOLDTERMS:5804 rdfs:comment env_broad: fen; env_local: terrestrial biome; env_medium: peat soil; mixs_extension: MIXS:Soil; partial -GOLDTERMS:5804 rdfs:label Environmental > Terrestrial > Soil > Peat > Fen -GOLDTERMS:4241 mixs:env_broad ENVO:01000254 -GOLDTERMS:4241 mixs:env_local ENVO:00000446 -GOLDTERMS:4241 mixs:env_medium ENVO:00002258 -GOLDTERMS:4241 mixs:mixs_extension mixs:Soil -GOLDTERMS:4241 rdfs:comment env_broad: environmental system; env_local: terrestrial biome; env_medium: loam; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4241 rdfs:label Environmental > Terrestrial > Soil > Loam -GOLDTERMS:4241 skos:exactMatch ENVO:00002258 -GOLDTERMS:4209 mixs:env_broad ENVO:01000254 -GOLDTERMS:4209 mixs:env_local ENVO:01000177 -GOLDTERMS:4209 mixs:env_medium ENVO:00001998 -GOLDTERMS:4209 mixs:host_taxon NCBITaxon:12908 -GOLDTERMS:4209 mixs:mixs_extension mixs:Soil -GOLDTERMS:4209 rdfs:comment env_broad: environmental system; env_local: grassland biome; env_medium: soil; host_taxon: unclassified sequences; mixs_extension: MIXS:Soil; partial -GOLDTERMS:4209 rdfs:label Environmental > Terrestrial > Soil > Unclassified > Grasslands diff --git a/notebooks/environmental_context_value_sets/soil/gold/gold-soils-by-sparql.rq b/notebooks/environmental_context_value_sets/soil/gold/gold-soils-by-sparql.rq deleted file mode 100644 index b961c85f..00000000 --- a/notebooks/environmental_context_value_sets/soil/gold/gold-soils-by-sparql.rq +++ /dev/null @@ -1,35 +0,0 @@ -# # http://35.173.42.85/repository goldterms-with-support -PREFIX rdfs: -PREFIX : -PREFIX rdf: -PREFIX owl: -PREFIX oboInOwl: -PREFIX skos: -select ?s ?p ?o ?olab -#?p (count(?s) as ?count) -where { - ?s rdfs:subClassOf* ; - ?p ?o . - optional { - ?o rdfs:label ?olab - } - minus { - ?s rdfs:subClassOf ?o - } - minus { - ?s rdf:type ?o - } - minus { - ?s owl:equivalentClass ?o - } - minus { - ?s oboInOwl:hasExactSynonym ?o - } - minus { - ?s skos:closeMatch ?o - } - minus { - ?s skos:exactMatch ?o - } -} -#group by ?p \ No newline at end of file diff --git a/notebooks/environmental_context_value_sets/soil/gold/gold-soils.Makefile b/notebooks/environmental_context_value_sets/soil/gold/gold-soils.Makefile deleted file mode 100644 index 863d240a..00000000 --- a/notebooks/environmental_context_value_sets/soil/gold/gold-soils.Makefile +++ /dev/null @@ -1,24 +0,0 @@ -TASK_ROOT=notebooks/environmental_context_value_sets/soil/gold/ - -UP_FOUR=../../../.. - -gold-soils-by-semsql.tsv: $(UP_FOUR)/local/goldterms.db $(UP_FOUR)/local/envo.db - poetry run sqlite3 -header -separator ' ' $(word 1, $^) "\ - ATTACH DATABASE '$(word 2, $^)' AS envo; \ - select \ - s.subject sub , s.predicate pred , COALESCE(s.object, s.value) AS object_or_value \ - from \ - entailed_edge ee \ - join statements s on \ - ee.subject = s.subject \ - where \ - ee.predicate = 'rdfs:subClassOf' \ - and \ - s.predicate not in ('rdf:type', 'rdfs:subClassOf', 'oio:hasExactSynonym', 'owl:equivalentClass' ) \ - and \ - ee.object = 'GOLDTERMS:4212'" > $@ - -gold-soils-by-semsql-wide.tsv: gold-soils-by-semsql.tsv - poetry run python gold_soils_by_semsql_wide.py \ - --input-file $< \ - --output-file $@ diff --git a/notebooks/environmental_context_value_sets/soil/gold/gold_soils_by_semsql_wide.py b/notebooks/environmental_context_value_sets/soil/gold/gold_soils_by_semsql_wide.py deleted file mode 100644 index 0f8800ef..00000000 --- a/notebooks/environmental_context_value_sets/soil/gold/gold_soils_by_semsql_wide.py +++ /dev/null @@ -1,42 +0,0 @@ -import click -import pandas as pd - -@click.command() -@click.option('--input-file', type=click.Path(exists=True), default="gold-soils-by-semsql.tsv", - help="Path to the input TSV file containing the data.") -@click.option('--output-file', type=click.Path(), default="gold-soils-by-semsql-wide.tsv", - help="Path to the output TSV file for the transformed data.") -def transform_data(input_file: str, output_file: str) -> None: - """ - Reads a TSV file, performs grouping and transformation on columns, - extracts specific patterns from text data, and saves the output to a new TSV file. - - Args: - input_file (str): Path to the input TSV file. - output_file (str): Path to the output TSV file. - """ - # Read input TSV file - df = pd.read_csv(input_file, sep="\t") - - # Group by 'sub' and 'pred' columns and concatenate 'object_or_value' values - df = df.groupby(["sub", "pred"])["object_or_value"].apply(lambda x: ', '.join(x.astype(str))).reset_index() - - # Pivot to wide format with 'sub' as index and 'pred' as columns - df_wide = df.pivot(index="sub", columns="pred", values="object_or_value") - - # Define the regex pattern for extracting 'env_broad', 'env_local', and 'env_medium' labels - pattern = ( - r'env_broad:\s*([^;]+);.*?' # capture 'env_broad' value - r'env_local:\s*([^;]+);.*?' # capture 'env_local' value - r'env_medium:\s*([^;]+);.*?' # capture 'env_medium' value - ) - - # Apply str.extract to create new columns based on the refined regex groups - df_wide[['env_broad_label', 'env_local_label', 'env_medium_label']] = \ - df_wide['rdfs:comment'].str.extract(pattern) - - # Save the transformed dataframe to the specified output file - df_wide.to_csv(output_file, sep="\t") - -if __name__ == "__main__": - transform_data() diff --git a/notebooks/environmental_context_value_sets/soil/gold/goldterms-with-support-graphs.png b/notebooks/environmental_context_value_sets/soil/gold/goldterms-with-support-graphs.png deleted file mode 100644 index 1068a1d0..00000000 Binary files a/notebooks/environmental_context_value_sets/soil/gold/goldterms-with-support-graphs.png and /dev/null differ diff --git a/notebooks/environmental_context_value_sets/plant_associated/gold/.gitkeep b/notebooks/environmental_context_value_sets/water/env_broad_scale/.gitkeep similarity index 100% rename from notebooks/environmental_context_value_sets/plant_associated/gold/.gitkeep rename to notebooks/environmental_context_value_sets/water/env_broad_scale/.gitkeep diff --git a/notebooks/environmental_context_value_sets/water/env_broad_scale/post_google_sheets_water_env_broad_scale.ipynb b/notebooks/environmental_context_value_sets/water/env_broad_scale/post_google_sheets_water_env_broad_scale.ipynb deleted file mode 100644 index 4926c96c..00000000 --- a/notebooks/environmental_context_value_sets/water/env_broad_scale/post_google_sheets_water_env_broad_scale.ipynb +++ /dev/null @@ -1,244 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "id": "initial_id", - "metadata": { - "collapsed": true, - "ExecuteTime": { - "end_time": "2024-11-08T21:41:55.760989Z", - "start_time": "2024-11-08T21:41:52.315130Z" - } - }, - "source": [ - "import pandas as pd\n", - "from oaklib import get_adapter\n", - "from oaklib.datamodels.vocabulary import IS_A" - ], - "outputs": [], - "execution_count": 1 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:41:55.771187Z", - "start_time": "2024-11-08T21:41:55.767587Z" - } - }, - "cell_type": "code", - "source": "adapter_string = \"sqlite:obo:envo\"", - "id": "2148e2b371b9d3c1", - "outputs": [], - "execution_count": 2 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:41:55.847596Z", - "start_time": "2024-11-08T21:41:55.844228Z" - } - }, - "cell_type": "code", - "source": "target_labels = [\"aquatic biome\"]", - "id": "2b9221b70ebed187", - "outputs": [], - "execution_count": 3 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:41:55.893032Z", - "start_time": "2024-11-08T21:41:55.889139Z" - } - }, - "cell_type": "code", - "source": "exclusion_labels = []", - "id": "dc91a47fb8762a09", - "outputs": [], - "execution_count": 4 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:41:55.940339Z", - "start_time": "2024-11-08T21:41:55.937023Z" - } - }, - "cell_type": "code", - "source": "output_file = \"post_google_sheets_water_env_broad_scale.tsv\"", - "id": "1c1bbcde0e65496e", - "outputs": [], - "execution_count": 5 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:41:56.022047Z", - "start_time": "2024-11-08T21:41:55.987530Z" - } - }, - "cell_type": "code", - "source": "adapter = get_adapter(adapter_string)", - "id": "7709e378f4d117eb", - "outputs": [], - "execution_count": 6 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:41:56.038710Z", - "start_time": "2024-11-08T21:41:56.035382Z" - } - }, - "cell_type": "code", - "source": "targets = set()", - "id": "1bbc3b1ad9958a37", - "outputs": [], - "execution_count": 7 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:41:56.160486Z", - "start_time": "2024-11-08T21:41:56.084200Z" - } - }, - "cell_type": "code", - "source": [ - "# accumulate subclasses of the target classes (by label)\n", - "# \n", - "for current_label in target_labels:\n", - " for class_id in adapter.basic_search(current_label):\n", - " descendant = adapter.descendants(class_id, predicates=[IS_A])\n", - " for d in descendant:\n", - " targets.add(d)\n", - "\n", - "print(len(targets))" - ], - "id": "5315b4280bb53a5c", - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "56\n" - ] - } - ], - "execution_count": 8 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:41:56.179024Z", - "start_time": "2024-11-08T21:41:56.174051Z" - } - }, - "cell_type": "code", - "source": [ - "# deplete subclasses of the exclusion classes (by label)\n", - "# \n", - "for current_label in exclusion_labels:\n", - " for class_id in adapter.basic_search(current_label):\n", - " descendant = adapter.descendants(class_id, predicates=[IS_A])\n", - " for d in descendant:\n", - " targets.remove(d)\n", - "\n", - "print(len(targets))" - ], - "id": "77c441ce49ee868", - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "56\n" - ] - } - ], - "execution_count": 9 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:41:56.264346Z", - "start_time": "2024-11-08T21:41:56.220509Z" - } - }, - "cell_type": "code", - "source": [ - "labelled_targets = []\n", - "for t in targets:\n", - " labelled_targets.append(\n", - " {\n", - " \"id\": t,\n", - " \"label\": adapter.label(t)\n", - " }\n", - " )" - ], - "id": "7ed61cab5db223d9", - "outputs": [], - "execution_count": 10 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:41:56.281165Z", - "start_time": "2024-11-08T21:41:56.276683Z" - } - }, - "cell_type": "code", - "source": "export_frame = pd.DataFrame(labelled_targets)", - "id": "1f3ef3ee6f2f671f", - "outputs": [], - "execution_count": 11 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:41:56.327634Z", - "start_time": "2024-11-08T21:41:56.320525Z" - } - }, - "cell_type": "code", - "source": "export_frame.to_csv(output_file, sep=\"\\t\", index=False)", - "id": "742918910ceb7ef5", - "outputs": [], - "execution_count": 12 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:41:56.373076Z", - "start_time": "2024-11-08T21:41:56.370711Z" - } - }, - "cell_type": "code", - "source": "", - "id": "7df6bc0f2ce3bc0a", - "outputs": [], - "execution_count": null - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 2 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.6" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/notebooks/environmental_context_value_sets/sediment/gold/.gitkeep b/notebooks/environmental_context_value_sets/water/env_medium/.gitkeep similarity index 100% rename from notebooks/environmental_context_value_sets/sediment/gold/.gitkeep rename to notebooks/environmental_context_value_sets/water/env_medium/.gitkeep diff --git a/notebooks/environmental_context_value_sets/water/env_medium/post_google_sheets_water_env_medium.ipynb b/notebooks/environmental_context_value_sets/water/env_medium/post_google_sheets_water_env_medium.ipynb deleted file mode 100644 index 1c86c85c..00000000 --- a/notebooks/environmental_context_value_sets/water/env_medium/post_google_sheets_water_env_medium.ipynb +++ /dev/null @@ -1,392 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "id": "initial_id", - "metadata": { - "collapsed": true, - "ExecuteTime": { - "end_time": "2024-11-08T21:43:13.567810Z", - "start_time": "2024-11-08T21:43:09.780607Z" - } - }, - "source": [ - "from oaklib import get_adapter\n", - "from oaklib.datamodels.vocabulary import IS_A\n", - "import csv # don't really need csv if we are importing pandas\n", - "\n", - "import pandas as pd " - ], - "outputs": [], - "execution_count": 1 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:43:13.577019Z", - "start_time": "2024-11-08T21:43:13.573433Z" - } - }, - "cell_type": "code", - "source": "pd.set_option('future.no_silent_downcasting', True)", - "id": "d30a0cf4fa9eaf10", - "outputs": [], - "execution_count": 2 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:43:13.655688Z", - "start_time": "2024-11-08T21:43:13.652623Z" - } - }, - "cell_type": "code", - "source": "adapter_string = \"sqlite:obo:envo\"", - "id": "2148e2b371b9d3c1", - "outputs": [], - "execution_count": 3 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:43:13.701480Z", - "start_time": "2024-11-08T21:43:13.697189Z" - } - }, - "cell_type": "code", - "source": "target_labels = [\"liquid water\"]", - "id": "2b9221b70ebed187", - "outputs": [], - "execution_count": 4 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:43:13.752644Z", - "start_time": "2024-11-08T21:43:13.745825Z" - } - }, - "cell_type": "code", - "source": [ - "exclusion_labels = [\n", - " \"bore hole water\", # presumably will be excluded based on contents of sediment env local scale\n", - " \"contaminated water\",\n", - " \"fissure water\", # presumably will be excluded based on contents of sediment env local scale\n", - " \"lake water\", # presumably will be excluded based on contents of sediment env local scale\n", - " \"marine lake water\", # presumably will be excluded based on contents of sediment env local scale\n", - " \"oil field production water\",\n", - " \"residual water in soil\",\n", - " \"runoff\",\n", - " \"spring water\", # presumably will be excluded based on contents of sediment env local scale\n", - " \"stream water\", # presumably will be excluded based on contents of sediment env local scale\n", - " \"treated wastewater\",\n", - "]\n", - "\n", - "# might also want to remove mangrove biome sediment if mangrove biome is going to be one of the sediment env_broad_scale values" - ], - "id": "dc91a47fb8762a09", - "outputs": [], - "execution_count": 5 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:43:13.802745Z", - "start_time": "2024-11-08T21:43:13.797395Z" - } - }, - "cell_type": "code", - "source": "output_file = \"post_google_sheets_water_env_medium.tsv\"", - "id": "4737c7dfdaa5400e", - "outputs": [], - "execution_count": 6 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:43:13.850907Z", - "start_time": "2024-11-08T21:43:13.846675Z" - } - }, - "cell_type": "code", - "source": "# excludable_soils_filename = \"discover_excludable_soils_curated.tsv\"", - "id": "77be6f0893e612eb", - "outputs": [], - "execution_count": 7 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:43:13.897970Z", - "start_time": "2024-11-08T21:43:13.894600Z" - } - }, - "cell_type": "code", - "source": [ - "# excludable_soils_frame = pd.read_csv(excludable_soils_filename, sep=\"\\t\")\n", - "# \n", - "# excludable_soils_frame['relation_is_reasonable'] = excludable_soils_frame['relation_is_reasonable'].fillna(False)" - ], - "id": "e5ae95cb54367e20", - "outputs": [], - "execution_count": 8 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:43:13.948094Z", - "start_time": "2024-11-08T21:43:13.945310Z" - } - }, - "cell_type": "code", - "source": [ - "# reasonable_frame = excludable_soils_frame[\n", - "# (excludable_soils_frame['relation_is_reasonable']) |\n", - "# (excludable_soils_frame['override'] == 'exclude soil')\n", - "# ]\n" - ], - "id": "536b8ecb525febe9", - "outputs": [], - "execution_count": 9 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:43:13.996979Z", - "start_time": "2024-11-08T21:43:13.992715Z" - } - }, - "cell_type": "code", - "source": [ - "# reasonable_frame = reasonable_frame[reasonable_frame['override'] != 'keep soil']\n", - "# \n", - "# reasonable_frame = reasonable_frame.dropna(subset=['sole_reasonable_other', 'sole_soil'])" - ], - "id": "7d638550e53542f9", - "outputs": [], - "execution_count": 10 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:43:14.043726Z", - "start_time": "2024-11-08T21:43:14.040284Z" - } - }, - "cell_type": "code", - "source": "# soil_env_local_scale_filename = \"post_google_sheets_soil_env_local_scale.tsv\"", - "id": "8a0972d756eb0bbf", - "outputs": [], - "execution_count": 11 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:43:14.090860Z", - "start_time": "2024-11-08T21:43:14.087951Z" - } - }, - "cell_type": "code", - "source": "# soil_env_local_scale_frame = pd.read_csv(soil_env_local_scale_filename, sep=\"\\t\")", - "id": "89dbf4c1953b5b92", - "outputs": [], - "execution_count": 12 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:43:14.139363Z", - "start_time": "2024-11-08T21:43:14.136338Z" - } - }, - "cell_type": "code", - "source": [ - "# soils_with_local_or_override_exclusion_justification = reasonable_frame[\n", - "# (reasonable_frame['sole_reasonable_other'].isin(soil_env_local_scale_frame['label'])) |\n", - "# (reasonable_frame['override'] == 'exclude soil')\n", - "# ]" - ], - "id": "7e728b28efcebb4c", - "outputs": [], - "execution_count": 13 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:43:14.185586Z", - "start_time": "2024-11-08T21:43:14.182662Z" - } - }, - "cell_type": "code", - "source": "# soils_with_local_or_override_exclusion_justification", - "id": "2611cb2995c57f98", - "outputs": [], - "execution_count": 14 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:43:14.236302Z", - "start_time": "2024-11-08T21:43:14.231157Z" - } - }, - "cell_type": "code", - "source": "# soils_reiterating_broad_or_local = set(soils_with_local_or_override_exclusion_justification['sole_soil'].unique())\n", - "id": "bff5dcb1cee90fb", - "outputs": [], - "execution_count": 15 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:43:14.316655Z", - "start_time": "2024-11-08T21:43:14.280599Z" - } - }, - "cell_type": "code", - "source": "adapter = get_adapter(adapter_string)", - "id": "7709e378f4d117eb", - "outputs": [], - "execution_count": 16 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:43:14.337130Z", - "start_time": "2024-11-08T21:43:14.333574Z" - } - }, - "cell_type": "code", - "source": "targets = set()", - "id": "1bbc3b1ad9958a37", - "outputs": [], - "execution_count": 17 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:43:14.462574Z", - "start_time": "2024-11-08T21:43:14.381827Z" - } - }, - "cell_type": "code", - "source": [ - "# accumulate subclasses of the target classes (by label)\n", - "# \n", - "for current_label in target_labels:\n", - " for class_id in adapter.basic_search(current_label):\n", - " descendant = adapter.descendants(class_id, predicates=[IS_A])\n", - " for d in descendant:\n", - " # if adapter.label(d) not in soils_reiterating_broad_or_local:\n", - " if True:\n", - " targets.add(d)\n", - " # else:\n", - " # print(f\"Excluding {d} {adapter.label(d)} because its differentia can be expressed in terms of the broad or local scale\")\n", - " \n", - "print(len(targets))" - ], - "id": "6ecbf0cd88edec66", - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "65\n" - ] - } - ], - "execution_count": 18 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:43:14.976493Z", - "start_time": "2024-11-08T21:43:14.486715Z" - } - }, - "cell_type": "code", - "source": [ - "# deplete subclasses of the exclusion classes (by label)\n", - "# \n", - "for current_label in exclusion_labels:\n", - " for class_id in adapter.basic_search(current_label):\n", - " descendant = adapter.descendants(class_id, predicates=[IS_A])\n", - " for d in descendant:\n", - " targets.remove(d)\n", - "\n", - "print(len(targets))" - ], - "id": "77c441ce49ee868", - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "49\n" - ] - } - ], - "execution_count": 19 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:43:15.010209Z", - "start_time": "2024-11-08T21:43:14.982036Z" - } - }, - "cell_type": "code", - "source": [ - "labelled_targets = []\n", - "for t in targets:\n", - " labelled_targets.append(\n", - " {\n", - " \"id\": t,\n", - " \"label\": adapter.label(t)\n", - " }\n", - " )\n", - "\n", - "export_frame = pd.DataFrame(labelled_targets)\n", - "\n", - "export_frame.to_csv(output_file, sep=\"\\t\", index=False)\n" - ], - "id": "4301a231897de6d9", - "outputs": [], - "execution_count": 20 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2024-11-08T21:43:15.034737Z", - "start_time": "2024-11-08T21:43:15.031683Z" - } - }, - "cell_type": "code", - "source": "", - "id": "8b5ac9a2750a35d9", - "outputs": [], - "execution_count": null - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 2 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.6" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/notebooks/environmental_context_value_sets/water/env_medium/post_google_sheets_water_env_medium.tsv b/notebooks/environmental_context_value_sets/water/env_medium/post_google_sheets_water_env_medium.tsv deleted file mode 100644 index f64b8200..00000000 --- a/notebooks/environmental_context_value_sets/water/env_medium/post_google_sheets_water_env_medium.tsv +++ /dev/null @@ -1,50 +0,0 @@ -id label -ENVO:00003065 distilled water -ENVO:00002012 hypersaline water -ENVO:03600081 cloud water -ENVO:00005793 muddy water -ENVO:01001038 moderately saline water -ENVO:03600009 interstitial water -ENVO:00005792 underground water -ENVO:00002150 coastal sea water -ENVO:00002141 leachate -ENVO:01000358 acidic water -ENVO:01000173 anoxic water -ENVO:00002019 brackish water -ENVO:01001064 hypoxic water -ENVO:00002224 eutrophic water -ENVO:01001018 hypereutrophic water -ENVO:01000301 estuarine water -ENVO:01001270 rural stormwater -ENVO:01001267 stormwater -ENVO:03501370 stagnant water -ENVO:01000357 alkaline water -ENVO:00002228 pond water -ENVO:00002010 saline water -ENVO:00002006 liquid water -ENVO:01000722 meltwater -ENVO:00002011 fresh water -ENVO:00003044 brine -ENVO:01001039 highly saline water -ENVO:00002149 sea water -ENVO:01001004 groundwater -ENVO:00002223 oligotrophic water -ENVO:01000872 ballast water -ENVO:01001063 oxic water -ENVO:00003096 tap water -ENVO:01001257 saline shrimp pond water -ENVO:00002159 drilling bore water -ENVO:01001268 urban stormwater -ENVO:01000600 rainwater -ENVO:00002042 surface water -ENVO:00002225 mesotrophic water -ENVO:00003064 drinking water -ENVO:01000134 hydrothermal fluid -ENVO:00005791 sterile water -ENVO:06105269 desalinated water -ENVO:00003045 bacon curing brine -ENVO:02000145 subterranean lake -ENVO:03600002 cooling water -ENVO:01001037 slightly saline water -ENVO:00002142 borax leachate -ENVO:00002158 ditch water diff --git a/notebooks/environmental_context_value_sets/water/gold/.gitkeep b/notebooks/environmental_context_value_sets/water/gold/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/poetry.lock b/poetry.lock index 0b18363d..f2cd7ac5 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. [[package]] name = "airium" @@ -38,24 +38,24 @@ files = [ [[package]] name = "anyio" -version = "4.6.2.post1" +version = "4.7.0" description = "High level compatibility layer for multiple asynchronous event loop implementations" optional = false python-versions = ">=3.9" files = [ - {file = "anyio-4.6.2.post1-py3-none-any.whl", hash = "sha256:6d170c36fba3bdd840c73d3868c1e777e33676a69c3a72cf0a0d5d6d8009b61d"}, - {file = "anyio-4.6.2.post1.tar.gz", hash = "sha256:4c8bc31ccdb51c7f7bd251f51c609e038d63e34219b44aa86e47576389880b4c"}, + {file = "anyio-4.7.0-py3-none-any.whl", hash = "sha256:ea60c3723ab42ba6fff7e8ccb0488c898ec538ff4df1f1d5e642c3601d07e352"}, + {file = "anyio-4.7.0.tar.gz", hash = "sha256:2f834749c602966b7d456a7567cafcb309f96482b5081d14ac93ccd457f9dd48"}, ] [package.dependencies] exceptiongroup = {version = ">=1.0.2", markers = "python_version < \"3.11\""} idna = ">=2.8" sniffio = ">=1.1" -typing-extensions = {version = ">=4.1", markers = "python_version < \"3.11\""} +typing_extensions = {version = ">=4.5", markers = "python_version < \"3.13\""} [package.extras] -doc = ["Sphinx (>=7.4,<8.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] -test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "truststore (>=0.9.1)", "uvloop (>=0.21.0b1)"] +doc = ["Sphinx (>=7.4,<8.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx_rtd_theme"] +test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "truststore (>=0.9.1)", "uvloop (>=0.21)"] trio = ["trio (>=0.26.1)"] [[package]] @@ -158,21 +158,18 @@ test = ["dateparser (==1.*)", "pre-commit", "pytest", "pytest-cov", "pytest-mock [[package]] name = "asttokens" -version = "2.4.1" +version = "3.0.0" description = "Annotate AST trees with source code positions" optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "asttokens-2.4.1-py2.py3-none-any.whl", hash = "sha256:051ed49c3dcae8913ea7cd08e46a606dba30b79993209636c4875bc1d637bc24"}, - {file = "asttokens-2.4.1.tar.gz", hash = "sha256:b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0"}, + {file = "asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2"}, + {file = "asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7"}, ] -[package.dependencies] -six = ">=1.12.0" - [package.extras] -astroid = ["astroid (>=1,<2)", "astroid (>=2,<4)"] -test = ["astroid (>=1,<2)", "astroid (>=2,<4)", "pytest"] +astroid = ["astroid (>=2,<4)"] +test = ["astroid (>=2,<4)", "pytest", "pytest-cov", "pytest-xdist"] [[package]] name = "async-lru" @@ -724,21 +721,23 @@ files = [ [[package]] name = "curies" -version = "0.9.0" +version = "0.9.2" description = "Idiomatic conversion between URIs and compact URIs (CURIEs)" optional = false python-versions = ">=3.9" files = [ - {file = "curies-0.9.0-py3-none-any.whl", hash = "sha256:a4b8d9fff89288190c658ac5941f3099196205cd805cc98fceba1ac5a96daa50"}, - {file = "curies-0.9.0.tar.gz", hash = "sha256:f630fa05b31aff144da66ace18a2c25b30adfa859df36e5fbd8b633b43c80d3a"}, + {file = "curies-0.9.2-py3-none-any.whl", hash = "sha256:102ab6c3e55394744019eeac3b4775c47178a6023cdbb58f58f920b5f571fcc3"}, + {file = "curies-0.9.2.tar.gz", hash = "sha256:938527aab5f6d2d952297848d73ef7d715f4a45d5c9904653e47d33ae60d385f"}, ] [package.dependencies] +eval_type_backport = {version = "*", markers = "python_version < \"3.10\""} pydantic = ">=2.0" pytrie = "*" +typing-extensions = "*" [package.extras] -docs = ["sphinx (>=8)", "sphinx-automodapi", "sphinx-rtd-theme (>=3.0)"] +docs = ["sphinx (>=8)", "sphinx-rtd-theme (>=3.0)", "sphinx_automodapi"] fastapi = ["defusedxml", "fastapi", "httpx", "python-multipart", "uvicorn"] flask = ["defusedxml", "flask"] pandas = ["pandas"] @@ -778,39 +777,56 @@ python-json-logger = "*" systemd = ["systemd-python (>=234)"] test = ["pytest"] +[[package]] +name = "db-dtypes" +version = "1.3.1" +description = "Pandas Data Types for SQL systems (BigQuery, Spanner)" +optional = false +python-versions = ">=3.7" +files = [ + {file = "db_dtypes-1.3.1-py2.py3-none-any.whl", hash = "sha256:fbc9d1740d94aaf2b5ae24601cfc875a69b4635bb9d049e3c3036e9f10203af8"}, + {file = "db_dtypes-1.3.1.tar.gz", hash = "sha256:a058f05dab100891f3e76a7a3db9ad0f107f18dd3d1bdd13680749a2f07eae77"}, +] + +[package.dependencies] +numpy = ">=1.16.6" +packaging = ">=17.0" +pandas = ">=0.24.2" +pyarrow = ">=3.0.0" + [[package]] name = "debugpy" -version = "1.8.8" +version = "1.8.9" description = "An implementation of the Debug Adapter Protocol for Python" optional = false python-versions = ">=3.8" files = [ - {file = "debugpy-1.8.8-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:e59b1607c51b71545cb3496876544f7186a7a27c00b436a62f285603cc68d1c6"}, - {file = "debugpy-1.8.8-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6531d952b565b7cb2fbd1ef5df3d333cf160b44f37547a4e7cf73666aca5d8d"}, - {file = "debugpy-1.8.8-cp310-cp310-win32.whl", hash = "sha256:b01f4a5e5c5fb1d34f4ccba99a20ed01eabc45a4684f4948b5db17a319dfb23f"}, - {file = "debugpy-1.8.8-cp310-cp310-win_amd64.whl", hash = "sha256:535f4fb1c024ddca5913bb0eb17880c8f24ba28aa2c225059db145ee557035e9"}, - {file = "debugpy-1.8.8-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:c399023146e40ae373753a58d1be0a98bf6397fadc737b97ad612886b53df318"}, - {file = "debugpy-1.8.8-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:09cc7b162586ea2171eea055985da2702b0723f6f907a423c9b2da5996ad67ba"}, - {file = "debugpy-1.8.8-cp311-cp311-win32.whl", hash = "sha256:eea8821d998ebeb02f0625dd0d76839ddde8cbf8152ebbe289dd7acf2cdc6b98"}, - {file = "debugpy-1.8.8-cp311-cp311-win_amd64.whl", hash = "sha256:d4483836da2a533f4b1454dffc9f668096ac0433de855f0c22cdce8c9f7e10c4"}, - {file = "debugpy-1.8.8-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:0cc94186340be87b9ac5a707184ec8f36547fb66636d1029ff4f1cc020e53996"}, - {file = "debugpy-1.8.8-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64674e95916e53c2e9540a056e5f489e0ad4872645399d778f7c598eacb7b7f9"}, - {file = "debugpy-1.8.8-cp312-cp312-win32.whl", hash = "sha256:5c6e885dbf12015aed73770f29dec7023cb310d0dc2ba8bfbeb5c8e43f80edc9"}, - {file = "debugpy-1.8.8-cp312-cp312-win_amd64.whl", hash = "sha256:19ffbd84e757a6ca0113574d1bf5a2298b3947320a3e9d7d8dc3377f02d9f864"}, - {file = "debugpy-1.8.8-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:705cd123a773d184860ed8dae99becd879dfec361098edbefb5fc0d3683eb804"}, - {file = "debugpy-1.8.8-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:890fd16803f50aa9cb1a9b9b25b5ec321656dd6b78157c74283de241993d086f"}, - {file = "debugpy-1.8.8-cp313-cp313-win32.whl", hash = "sha256:90244598214bbe704aa47556ec591d2f9869ff9e042e301a2859c57106649add"}, - {file = "debugpy-1.8.8-cp313-cp313-win_amd64.whl", hash = "sha256:4b93e4832fd4a759a0c465c967214ed0c8a6e8914bced63a28ddb0dd8c5f078b"}, - {file = "debugpy-1.8.8-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:143ef07940aeb8e7316de48f5ed9447644da5203726fca378f3a6952a50a9eae"}, - {file = "debugpy-1.8.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f95651bdcbfd3b27a408869a53fbefcc2bcae13b694daee5f1365b1b83a00113"}, - {file = "debugpy-1.8.8-cp38-cp38-win32.whl", hash = "sha256:26b461123a030e82602a750fb24d7801776aa81cd78404e54ab60e8b5fecdad5"}, - {file = "debugpy-1.8.8-cp38-cp38-win_amd64.whl", hash = "sha256:f3cbf1833e644a3100eadb6120f25be8a532035e8245584c4f7532937edc652a"}, - {file = "debugpy-1.8.8-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:53709d4ec586b525724819dc6af1a7703502f7e06f34ded7157f7b1f963bb854"}, - {file = "debugpy-1.8.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a9c013077a3a0000e83d97cf9cc9328d2b0bbb31f56b0e99ea3662d29d7a6a2"}, - {file = "debugpy-1.8.8-cp39-cp39-win32.whl", hash = "sha256:ffe94dd5e9a6739a75f0b85316dc185560db3e97afa6b215628d1b6a17561cb2"}, - {file = "debugpy-1.8.8-cp39-cp39-win_amd64.whl", hash = "sha256:5c0e5a38c7f9b481bf31277d2f74d2109292179081f11108e668195ef926c0f9"}, - {file = "debugpy-1.8.8-py2.py3-none-any.whl", hash = "sha256:ec684553aba5b4066d4de510859922419febc710df7bba04fe9e7ef3de15d34f"}, - {file = "debugpy-1.8.8.zip", hash = "sha256:e6355385db85cbd666be703a96ab7351bc9e6c61d694893206f8001e22aee091"}, + {file = "debugpy-1.8.9-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:cfe1e6c6ad7178265f74981edf1154ffce97b69005212fbc90ca22ddfe3d017e"}, + {file = "debugpy-1.8.9-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ada7fb65102a4d2c9ab62e8908e9e9f12aed9d76ef44880367bc9308ebe49a0f"}, + {file = "debugpy-1.8.9-cp310-cp310-win32.whl", hash = "sha256:c36856343cbaa448171cba62a721531e10e7ffb0abff838004701454149bc037"}, + {file = "debugpy-1.8.9-cp310-cp310-win_amd64.whl", hash = "sha256:17c5e0297678442511cf00a745c9709e928ea4ca263d764e90d233208889a19e"}, + {file = "debugpy-1.8.9-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:b74a49753e21e33e7cf030883a92fa607bddc4ede1aa4145172debc637780040"}, + {file = "debugpy-1.8.9-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62d22dacdb0e296966d7d74a7141aaab4bec123fa43d1a35ddcb39bf9fd29d70"}, + {file = "debugpy-1.8.9-cp311-cp311-win32.whl", hash = "sha256:8138efff315cd09b8dcd14226a21afda4ca582284bf4215126d87342bba1cc66"}, + {file = "debugpy-1.8.9-cp311-cp311-win_amd64.whl", hash = "sha256:ff54ef77ad9f5c425398efb150239f6fe8e20c53ae2f68367eba7ece1e96226d"}, + {file = "debugpy-1.8.9-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:957363d9a7a6612a37458d9a15e72d03a635047f946e5fceee74b50d52a9c8e2"}, + {file = "debugpy-1.8.9-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e565fc54b680292b418bb809f1386f17081d1346dca9a871bf69a8ac4071afe"}, + {file = "debugpy-1.8.9-cp312-cp312-win32.whl", hash = "sha256:3e59842d6c4569c65ceb3751075ff8d7e6a6ada209ceca6308c9bde932bcef11"}, + {file = "debugpy-1.8.9-cp312-cp312-win_amd64.whl", hash = "sha256:66eeae42f3137eb428ea3a86d4a55f28da9bd5a4a3d369ba95ecc3a92c1bba53"}, + {file = "debugpy-1.8.9-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:957ecffff80d47cafa9b6545de9e016ae8c9547c98a538ee96ab5947115fb3dd"}, + {file = "debugpy-1.8.9-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1efbb3ff61487e2c16b3e033bc8595aea578222c08aaf3c4bf0f93fadbd662ee"}, + {file = "debugpy-1.8.9-cp313-cp313-win32.whl", hash = "sha256:7c4d65d03bee875bcb211c76c1d8f10f600c305dbd734beaed4077e902606fee"}, + {file = "debugpy-1.8.9-cp313-cp313-win_amd64.whl", hash = "sha256:e46b420dc1bea64e5bbedd678148be512442bc589b0111bd799367cde051e71a"}, + {file = "debugpy-1.8.9-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:472a3994999fe6c0756945ffa359e9e7e2d690fb55d251639d07208dbc37caea"}, + {file = "debugpy-1.8.9-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:365e556a4772d7d0d151d7eb0e77ec4db03bcd95f26b67b15742b88cacff88e9"}, + {file = "debugpy-1.8.9-cp38-cp38-win32.whl", hash = "sha256:54a7e6d3014c408eb37b0b06021366ee985f1539e12fe49ca2ee0d392d9ceca5"}, + {file = "debugpy-1.8.9-cp38-cp38-win_amd64.whl", hash = "sha256:8e99c0b1cc7bf86d83fb95d5ccdc4ad0586d4432d489d1f54e4055bcc795f693"}, + {file = "debugpy-1.8.9-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:7e8b079323a56f719977fde9d8115590cb5e7a1cba2fcee0986ef8817116e7c1"}, + {file = "debugpy-1.8.9-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6953b335b804a41f16a192fa2e7851bdcfd92173cbb2f9f777bb934f49baab65"}, + {file = "debugpy-1.8.9-cp39-cp39-win32.whl", hash = "sha256:7e646e62d4602bb8956db88b1e72fe63172148c1e25c041e03b103a25f36673c"}, + {file = "debugpy-1.8.9-cp39-cp39-win_amd64.whl", hash = "sha256:3d9755e77a2d680ce3d2c5394a444cf42be4a592caaf246dbfbdd100ffcf7ae5"}, + {file = "debugpy-1.8.9-py2.py3-none-any.whl", hash = "sha256:cc37a6c9987ad743d9c3a14fa1b1a14b7e4e6041f9dd0c8abf8895fe7a97b899"}, + {file = "debugpy-1.8.9.zip", hash = "sha256:1339e14c7d980407248f09824d1b25ff5c5616651689f1e0f0e51bdead3ea13e"}, ] [[package]] @@ -837,20 +853,20 @@ files = [ [[package]] name = "deprecated" -version = "1.2.14" +version = "1.2.15" description = "Python @deprecated decorator to deprecate old python classes, functions or methods." optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" files = [ - {file = "Deprecated-1.2.14-py2.py3-none-any.whl", hash = "sha256:6fac8b097794a90302bdbb17b9b815e732d3c4720583ff1b198499d78470466c"}, - {file = "Deprecated-1.2.14.tar.gz", hash = "sha256:e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3"}, + {file = "Deprecated-1.2.15-py2.py3-none-any.whl", hash = "sha256:353bc4a8ac4bfc96800ddab349d89c25dec1079f65fd53acdcc1e0b975b21320"}, + {file = "deprecated-1.2.15.tar.gz", hash = "sha256:683e561a90de76239796e6b6feac66b99030d2dd3fcf61ef996330f14bbb9b0d"}, ] [package.dependencies] wrapt = ">=1.10,<2" [package.extras] -dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"] +dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "jinja2 (>=3.0.3,<3.1.0)", "setuptools", "sphinx (<2)", "tox"] [[package]] name = "deprecation" @@ -866,6 +882,103 @@ files = [ [package.dependencies] packaging = "*" +[[package]] +name = "dnspython" +version = "2.7.0" +description = "DNS toolkit" +optional = false +python-versions = ">=3.9" +files = [ + {file = "dnspython-2.7.0-py3-none-any.whl", hash = "sha256:b4c34b7d10b51bcc3a5071e7b8dee77939f1e878477eeecc965e9835f63c6c86"}, + {file = "dnspython-2.7.0.tar.gz", hash = "sha256:ce9c432eda0dc91cf618a5cedf1a4e142651196bbcd2c80e89ed5a907e5cfaf1"}, +] + +[package.extras] +dev = ["black (>=23.1.0)", "coverage (>=7.0)", "flake8 (>=7)", "hypercorn (>=0.16.0)", "mypy (>=1.8)", "pylint (>=3)", "pytest (>=7.4)", "pytest-cov (>=4.1.0)", "quart-trio (>=0.11.0)", "sphinx (>=7.2.0)", "sphinx-rtd-theme (>=2.0.0)", "twine (>=4.0.0)", "wheel (>=0.42.0)"] +dnssec = ["cryptography (>=43)"] +doh = ["h2 (>=4.1.0)", "httpcore (>=1.0.0)", "httpx (>=0.26.0)"] +doq = ["aioquic (>=1.0.0)"] +idna = ["idna (>=3.7)"] +trio = ["trio (>=0.23)"] +wmi = ["wmi (>=1.5.1)"] + +[[package]] +name = "duckdb" +version = "1.1.3" +description = "DuckDB in-process database" +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "duckdb-1.1.3-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:1c0226dc43e2ee4cc3a5a4672fddb2d76fd2cf2694443f395c02dd1bea0b7fce"}, + {file = "duckdb-1.1.3-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:7c71169fa804c0b65e49afe423ddc2dc83e198640e3b041028da8110f7cd16f7"}, + {file = "duckdb-1.1.3-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:872d38b65b66e3219d2400c732585c5b4d11b13d7a36cd97908d7981526e9898"}, + {file = "duckdb-1.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25fb02629418c0d4d94a2bc1776edaa33f6f6ccaa00bd84eb96ecb97ae4b50e9"}, + {file = "duckdb-1.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e3f5cd604e7c39527e6060f430769b72234345baaa0987f9500988b2814f5e4"}, + {file = "duckdb-1.1.3-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:08935700e49c187fe0e9b2b86b5aad8a2ccd661069053e38bfaed3b9ff795efd"}, + {file = "duckdb-1.1.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f9b47036945e1db32d70e414a10b1593aec641bd4c5e2056873d971cc21e978b"}, + {file = "duckdb-1.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:35c420f58abc79a68a286a20fd6265636175fadeca1ce964fc8ef159f3acc289"}, + {file = "duckdb-1.1.3-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:4f0e2e5a6f5a53b79aee20856c027046fba1d73ada6178ed8467f53c3877d5e0"}, + {file = "duckdb-1.1.3-cp311-cp311-macosx_12_0_universal2.whl", hash = "sha256:911d58c22645bfca4a5a049ff53a0afd1537bc18fedb13bc440b2e5af3c46148"}, + {file = "duckdb-1.1.3-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:c443d3d502335e69fc1e35295fcfd1108f72cb984af54c536adfd7875e79cee5"}, + {file = "duckdb-1.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a55169d2d2e2e88077d91d4875104b58de45eff6a17a59c7dc41562c73df4be"}, + {file = "duckdb-1.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d0767ada9f06faa5afcf63eb7ba1befaccfbcfdac5ff86f0168c673dd1f47aa"}, + {file = "duckdb-1.1.3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:51c6d79e05b4a0933672b1cacd6338f882158f45ef9903aef350c4427d9fc898"}, + {file = "duckdb-1.1.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:183ac743f21c6a4d6adfd02b69013d5fd78e5e2cd2b4db023bc8a95457d4bc5d"}, + {file = "duckdb-1.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:a30dd599b8090ea6eafdfb5a9f1b872d78bac318b6914ada2d35c7974d643640"}, + {file = "duckdb-1.1.3-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:a433ae9e72c5f397c44abdaa3c781d94f94f4065bcbf99ecd39433058c64cb38"}, + {file = "duckdb-1.1.3-cp312-cp312-macosx_12_0_universal2.whl", hash = "sha256:d08308e0a46c748d9c30f1d67ee1143e9c5ea3fbcccc27a47e115b19e7e78aa9"}, + {file = "duckdb-1.1.3-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:5d57776539211e79b11e94f2f6d63de77885f23f14982e0fac066f2885fcf3ff"}, + {file = "duckdb-1.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e59087dbbb63705f2483544e01cccf07d5b35afa58be8931b224f3221361d537"}, + {file = "duckdb-1.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4ebf5f60ddbd65c13e77cddb85fe4af671d31b851f125a4d002a313696af43f1"}, + {file = "duckdb-1.1.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e4ef7ba97a65bd39d66f2a7080e6fb60e7c3e41d4c1e19245f90f53b98e3ac32"}, + {file = "duckdb-1.1.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f58db1b65593ff796c8ea6e63e2e144c944dd3d51c8d8e40dffa7f41693d35d3"}, + {file = "duckdb-1.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:e86006958e84c5c02f08f9b96f4bc26990514eab329b1b4f71049b3727ce5989"}, + {file = "duckdb-1.1.3-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:0897f83c09356206ce462f62157ce064961a5348e31ccb2a557a7531d814e70e"}, + {file = "duckdb-1.1.3-cp313-cp313-macosx_12_0_universal2.whl", hash = "sha256:cddc6c1a3b91dcc5f32493231b3ba98f51e6d3a44fe02839556db2b928087378"}, + {file = "duckdb-1.1.3-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:1d9ab6143e73bcf17d62566e368c23f28aa544feddfd2d8eb50ef21034286f24"}, + {file = "duckdb-1.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f073d15d11a328f2e6d5964a704517e818e930800b7f3fa83adea47f23720d3"}, + {file = "duckdb-1.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5724fd8a49e24d730be34846b814b98ba7c304ca904fbdc98b47fa95c0b0cee"}, + {file = "duckdb-1.1.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:51e7dbd968b393343b226ab3f3a7b5a68dee6d3fe59be9d802383bf916775cb8"}, + {file = "duckdb-1.1.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:00cca22df96aa3473fe4584f84888e2cf1c516e8c2dd837210daec44eadba586"}, + {file = "duckdb-1.1.3-cp313-cp313-win_amd64.whl", hash = "sha256:77f26884c7b807c7edd07f95cf0b00e6d47f0de4a534ac1706a58f8bc70d0d31"}, + {file = "duckdb-1.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a4748635875fc3c19a7320a6ae7410f9295557450c0ebab6d6712de12640929a"}, + {file = "duckdb-1.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b74e121ab65dbec5290f33ca92301e3a4e81797966c8d9feef6efdf05fc6dafd"}, + {file = "duckdb-1.1.3-cp37-cp37m-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c619e4849837c8c83666f2cd5c6c031300cd2601e9564b47aa5de458ff6e69d"}, + {file = "duckdb-1.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:0ba6baa0af33ded836b388b09433a69b8bec00263247f6bf0a05c65c897108d3"}, + {file = "duckdb-1.1.3-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:ecb1dc9062c1cc4d2d88a5e5cd8cc72af7818ab5a3c0f796ef0ffd60cfd3efb4"}, + {file = "duckdb-1.1.3-cp38-cp38-macosx_12_0_universal2.whl", hash = "sha256:5ace6e4b1873afdd38bd6cc8fcf90310fb2d454f29c39a61d0c0cf1a24ad6c8d"}, + {file = "duckdb-1.1.3-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:a1fa0c502f257fa9caca60b8b1478ec0f3295f34bb2efdc10776fc731b8a6c5f"}, + {file = "duckdb-1.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6411e21a2128d478efbd023f2bdff12464d146f92bc3e9c49247240448ace5a6"}, + {file = "duckdb-1.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5336939d83837af52731e02b6a78a446794078590aa71fd400eb17f083dda3e"}, + {file = "duckdb-1.1.3-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f549af9f7416573ee48db1cf8c9d27aeed245cb015f4b4f975289418c6cf7320"}, + {file = "duckdb-1.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:2141c6b28162199999075d6031b5d63efeb97c1e68fb3d797279d31c65676269"}, + {file = "duckdb-1.1.3-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:09c68522c30fc38fc972b8a75e9201616b96ae6da3444585f14cf0d116008c95"}, + {file = "duckdb-1.1.3-cp39-cp39-macosx_12_0_universal2.whl", hash = "sha256:8ee97ec337794c162c0638dda3b4a30a483d0587deda22d45e1909036ff0b739"}, + {file = "duckdb-1.1.3-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:a1f83c7217c188b7ab42e6a0963f42070d9aed114f6200e3c923c8899c090f16"}, + {file = "duckdb-1.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1aa3abec8e8995a03ff1a904b0e66282d19919f562dd0a1de02f23169eeec461"}, + {file = "duckdb-1.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80158f4c7c7ada46245837d5b6869a336bbaa28436fbb0537663fa324a2750cd"}, + {file = "duckdb-1.1.3-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:647f17bd126170d96a38a9a6f25fca47ebb0261e5e44881e3782989033c94686"}, + {file = "duckdb-1.1.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:252d9b17d354beb9057098d4e5d5698e091a4f4a0d38157daeea5fc0ec161670"}, + {file = "duckdb-1.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:eeacb598120040e9591f5a4edecad7080853aa8ac27e62d280f151f8c862afa3"}, + {file = "duckdb-1.1.3.tar.gz", hash = "sha256:68c3a46ab08836fe041d15dcbf838f74a990d551db47cb24ab1c4576fc19351c"}, +] + +[[package]] +name = "duckdb-engine" +version = "0.13.6" +description = "SQLAlchemy driver for duckdb" +optional = false +python-versions = "<4,>=3.8" +files = [ + {file = "duckdb_engine-0.13.6-py3-none-any.whl", hash = "sha256:cedd44252cce5f42de88752026925154a566c407987116a242d250642904ba84"}, + {file = "duckdb_engine-0.13.6.tar.gz", hash = "sha256:221ec7759e157fd8d4fcb0bd64f603c5a4b1889186f30d805a91b10a73f8c59a"}, +] + +[package.dependencies] +duckdb = ">=0.5.0" +packaging = ">=21" +sqlalchemy = ">=1.3.22" + [[package]] name = "editorconfig" version = "0.12.4" @@ -906,6 +1019,20 @@ requests = "*" [package.extras] dev = ["flake8", "ipython", "mock", "pytest", "pytest-cov", "restview", "setuptools", "sphinx", "sphinx-rtd-theme", "tox", "vcrpy", "yapf"] +[[package]] +name = "eval-type-backport" +version = "0.2.0" +description = "Like `typing._eval_type`, but lets older Python versions use newer typing features." +optional = false +python-versions = ">=3.8" +files = [ + {file = "eval_type_backport-0.2.0-py3-none-any.whl", hash = "sha256:ac2f73d30d40c5a30a80b8739a789d6bb5e49fdffa66d7912667e2015d9c9933"}, + {file = "eval_type_backport-0.2.0.tar.gz", hash = "sha256:68796cfbc7371ebf923f03bdf7bef415f3ec098aeced24e054b253a0e78f7b37"}, +] + +[package.extras] +tests = ["pytest"] + [[package]] name = "exceptiongroup" version = "1.2.2" @@ -965,13 +1092,13 @@ boltons = ">=20.0.0" [[package]] name = "fastjsonschema" -version = "2.20.0" +version = "2.21.1" description = "Fastest Python implementation of JSON schema" optional = false python-versions = "*" files = [ - {file = "fastjsonschema-2.20.0-py3-none-any.whl", hash = "sha256:5875f0b0fa7a0043a91e93a9b8f793bcbbba9691e7fd83dca95c28ba26d21f0a"}, - {file = "fastjsonschema-2.20.0.tar.gz", hash = "sha256:3d48fc5300ee96f5d116f10fe6f28d938e6008f59a6a025c2649475b87f76a23"}, + {file = "fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667"}, + {file = "fastjsonschema-2.21.1.tar.gz", hash = "sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4"}, ] [package.extras] @@ -1034,59 +1161,61 @@ files = [ [[package]] name = "fonttools" -version = "4.54.1" +version = "4.55.3" description = "Tools to manipulate font files" optional = false python-versions = ">=3.8" files = [ - {file = "fonttools-4.54.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7ed7ee041ff7b34cc62f07545e55e1468808691dddfd315d51dd82a6b37ddef2"}, - {file = "fonttools-4.54.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:41bb0b250c8132b2fcac148e2e9198e62ff06f3cc472065dff839327945c5882"}, - {file = "fonttools-4.54.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7965af9b67dd546e52afcf2e38641b5be956d68c425bef2158e95af11d229f10"}, - {file = "fonttools-4.54.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:278913a168f90d53378c20c23b80f4e599dca62fbffae4cc620c8eed476b723e"}, - {file = "fonttools-4.54.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0e88e3018ac809b9662615072dcd6b84dca4c2d991c6d66e1970a112503bba7e"}, - {file = "fonttools-4.54.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4aa4817f0031206e637d1e685251ac61be64d1adef111060df84fdcbc6ab6c44"}, - {file = "fonttools-4.54.1-cp310-cp310-win32.whl", hash = "sha256:7e3b7d44e18c085fd8c16dcc6f1ad6c61b71ff463636fcb13df7b1b818bd0c02"}, - {file = "fonttools-4.54.1-cp310-cp310-win_amd64.whl", hash = "sha256:dd9cc95b8d6e27d01e1e1f1fae8559ef3c02c76317da650a19047f249acd519d"}, - {file = "fonttools-4.54.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5419771b64248484299fa77689d4f3aeed643ea6630b2ea750eeab219588ba20"}, - {file = "fonttools-4.54.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:301540e89cf4ce89d462eb23a89464fef50915255ece765d10eee8b2bf9d75b2"}, - {file = "fonttools-4.54.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76ae5091547e74e7efecc3cbf8e75200bc92daaeb88e5433c5e3e95ea8ce5aa7"}, - {file = "fonttools-4.54.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82834962b3d7c5ca98cb56001c33cf20eb110ecf442725dc5fdf36d16ed1ab07"}, - {file = "fonttools-4.54.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d26732ae002cc3d2ecab04897bb02ae3f11f06dd7575d1df46acd2f7c012a8d8"}, - {file = "fonttools-4.54.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:58974b4987b2a71ee08ade1e7f47f410c367cdfc5a94fabd599c88165f56213a"}, - {file = "fonttools-4.54.1-cp311-cp311-win32.whl", hash = "sha256:ab774fa225238986218a463f3fe151e04d8c25d7de09df7f0f5fce27b1243dbc"}, - {file = "fonttools-4.54.1-cp311-cp311-win_amd64.whl", hash = "sha256:07e005dc454eee1cc60105d6a29593459a06321c21897f769a281ff2d08939f6"}, - {file = "fonttools-4.54.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:54471032f7cb5fca694b5f1a0aaeba4af6e10ae989df408e0216f7fd6cdc405d"}, - {file = "fonttools-4.54.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8fa92cb248e573daab8d032919623cc309c005086d743afb014c836636166f08"}, - {file = "fonttools-4.54.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a911591200114969befa7f2cb74ac148bce5a91df5645443371aba6d222e263"}, - {file = "fonttools-4.54.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93d458c8a6a354dc8b48fc78d66d2a8a90b941f7fec30e94c7ad9982b1fa6bab"}, - {file = "fonttools-4.54.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5eb2474a7c5be8a5331146758debb2669bf5635c021aee00fd7c353558fc659d"}, - {file = "fonttools-4.54.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c9c563351ddc230725c4bdf7d9e1e92cbe6ae8553942bd1fb2b2ff0884e8b714"}, - {file = "fonttools-4.54.1-cp312-cp312-win32.whl", hash = "sha256:fdb062893fd6d47b527d39346e0c5578b7957dcea6d6a3b6794569370013d9ac"}, - {file = "fonttools-4.54.1-cp312-cp312-win_amd64.whl", hash = "sha256:e4564cf40cebcb53f3dc825e85910bf54835e8a8b6880d59e5159f0f325e637e"}, - {file = "fonttools-4.54.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6e37561751b017cf5c40fce0d90fd9e8274716de327ec4ffb0df957160be3bff"}, - {file = "fonttools-4.54.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:357cacb988a18aace66e5e55fe1247f2ee706e01debc4b1a20d77400354cddeb"}, - {file = "fonttools-4.54.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8e953cc0bddc2beaf3a3c3b5dd9ab7554677da72dfaf46951e193c9653e515a"}, - {file = "fonttools-4.54.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:58d29b9a294573d8319f16f2f79e42428ba9b6480442fa1836e4eb89c4d9d61c"}, - {file = "fonttools-4.54.1-cp313-cp313-win32.whl", hash = "sha256:9ef1b167e22709b46bf8168368b7b5d3efeaaa746c6d39661c1b4405b6352e58"}, - {file = "fonttools-4.54.1-cp313-cp313-win_amd64.whl", hash = "sha256:262705b1663f18c04250bd1242b0515d3bbae177bee7752be67c979b7d47f43d"}, - {file = "fonttools-4.54.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ed2f80ca07025551636c555dec2b755dd005e2ea8fbeb99fc5cdff319b70b23b"}, - {file = "fonttools-4.54.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9dc080e5a1c3b2656caff2ac2633d009b3a9ff7b5e93d0452f40cd76d3da3b3c"}, - {file = "fonttools-4.54.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d152d1be65652fc65e695e5619e0aa0982295a95a9b29b52b85775243c06556"}, - {file = "fonttools-4.54.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8583e563df41fdecef31b793b4dd3af8a9caa03397be648945ad32717a92885b"}, - {file = "fonttools-4.54.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:0d1d353ef198c422515a3e974a1e8d5b304cd54a4c2eebcae708e37cd9eeffb1"}, - {file = "fonttools-4.54.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:fda582236fee135d4daeca056c8c88ec5f6f6d88a004a79b84a02547c8f57386"}, - {file = "fonttools-4.54.1-cp38-cp38-win32.whl", hash = "sha256:e7d82b9e56716ed32574ee106cabca80992e6bbdcf25a88d97d21f73a0aae664"}, - {file = "fonttools-4.54.1-cp38-cp38-win_amd64.whl", hash = "sha256:ada215fd079e23e060157aab12eba0d66704316547f334eee9ff26f8c0d7b8ab"}, - {file = "fonttools-4.54.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f5b8a096e649768c2f4233f947cf9737f8dbf8728b90e2771e2497c6e3d21d13"}, - {file = "fonttools-4.54.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4e10d2e0a12e18f4e2dd031e1bf7c3d7017be5c8dbe524d07706179f355c5dac"}, - {file = "fonttools-4.54.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:31c32d7d4b0958600eac75eaf524b7b7cb68d3a8c196635252b7a2c30d80e986"}, - {file = "fonttools-4.54.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c39287f5c8f4a0c5a55daf9eaf9ccd223ea59eed3f6d467133cc727d7b943a55"}, - {file = "fonttools-4.54.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a7a310c6e0471602fe3bf8efaf193d396ea561486aeaa7adc1f132e02d30c4b9"}, - {file = "fonttools-4.54.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d3b659d1029946f4ff9b6183984578041b520ce0f8fb7078bb37ec7445806b33"}, - {file = "fonttools-4.54.1-cp39-cp39-win32.whl", hash = "sha256:e96bc94c8cda58f577277d4a71f51c8e2129b8b36fd05adece6320dd3d57de8a"}, - {file = "fonttools-4.54.1-cp39-cp39-win_amd64.whl", hash = "sha256:e8a4b261c1ef91e7188a30571be6ad98d1c6d9fa2427244c545e2fa0a2494dd7"}, - {file = "fonttools-4.54.1-py3-none-any.whl", hash = "sha256:37cddd62d83dc4f72f7c3f3c2bcf2697e89a30efb152079896544a93907733bd"}, - {file = "fonttools-4.54.1.tar.gz", hash = "sha256:957f669d4922f92c171ba01bef7f29410668db09f6c02111e22b2bce446f3285"}, + {file = "fonttools-4.55.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1dcc07934a2165ccdc3a5a608db56fb3c24b609658a5b340aee4ecf3ba679dc0"}, + {file = "fonttools-4.55.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f7d66c15ba875432a2d2fb419523f5d3d347f91f48f57b8b08a2dfc3c39b8a3f"}, + {file = "fonttools-4.55.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27e4ae3592e62eba83cd2c4ccd9462dcfa603ff78e09110680a5444c6925d841"}, + {file = "fonttools-4.55.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62d65a3022c35e404d19ca14f291c89cc5890032ff04f6c17af0bd1927299674"}, + {file = "fonttools-4.55.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d342e88764fb201286d185093781bf6628bbe380a913c24adf772d901baa8276"}, + {file = "fonttools-4.55.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:dd68c87a2bfe37c5b33bcda0fba39b65a353876d3b9006fde3adae31f97b3ef5"}, + {file = "fonttools-4.55.3-cp310-cp310-win32.whl", hash = "sha256:1bc7ad24ff98846282eef1cbeac05d013c2154f977a79886bb943015d2b1b261"}, + {file = "fonttools-4.55.3-cp310-cp310-win_amd64.whl", hash = "sha256:b54baf65c52952db65df39fcd4820668d0ef4766c0ccdf32879b77f7c804d5c5"}, + {file = "fonttools-4.55.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8c4491699bad88efe95772543cd49870cf756b019ad56294f6498982408ab03e"}, + {file = "fonttools-4.55.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5323a22eabddf4b24f66d26894f1229261021dacd9d29e89f7872dd8c63f0b8b"}, + {file = "fonttools-4.55.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5480673f599ad410695ca2ddef2dfefe9df779a9a5cda89503881e503c9c7d90"}, + {file = "fonttools-4.55.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da9da6d65cd7aa6b0f806556f4985bcbf603bf0c5c590e61b43aa3e5a0f822d0"}, + {file = "fonttools-4.55.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e894b5bd60d9f473bed7a8f506515549cc194de08064d829464088d23097331b"}, + {file = "fonttools-4.55.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:aee3b57643827e237ff6ec6d28d9ff9766bd8b21e08cd13bff479e13d4b14765"}, + {file = "fonttools-4.55.3-cp311-cp311-win32.whl", hash = "sha256:eb6ca911c4c17eb51853143624d8dc87cdcdf12a711fc38bf5bd21521e79715f"}, + {file = "fonttools-4.55.3-cp311-cp311-win_amd64.whl", hash = "sha256:6314bf82c54c53c71805318fcf6786d986461622dd926d92a465199ff54b1b72"}, + {file = "fonttools-4.55.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f9e736f60f4911061235603a6119e72053073a12c6d7904011df2d8fad2c0e35"}, + {file = "fonttools-4.55.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7a8aa2c5e5b8b3bcb2e4538d929f6589a5c6bdb84fd16e2ed92649fb5454f11c"}, + {file = "fonttools-4.55.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:07f8288aacf0a38d174445fc78377a97fb0b83cfe352a90c9d9c1400571963c7"}, + {file = "fonttools-4.55.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8d5e8916c0970fbc0f6f1bece0063363bb5857a7f170121a4493e31c3db3314"}, + {file = "fonttools-4.55.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ae3b6600565b2d80b7c05acb8e24d2b26ac407b27a3f2e078229721ba5698427"}, + {file = "fonttools-4.55.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:54153c49913f45065c8d9e6d0c101396725c5621c8aee744719300f79771d75a"}, + {file = "fonttools-4.55.3-cp312-cp312-win32.whl", hash = "sha256:827e95fdbbd3e51f8b459af5ea10ecb4e30af50221ca103bea68218e9615de07"}, + {file = "fonttools-4.55.3-cp312-cp312-win_amd64.whl", hash = "sha256:e6e8766eeeb2de759e862004aa11a9ea3d6f6d5ec710551a88b476192b64fd54"}, + {file = "fonttools-4.55.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a430178ad3e650e695167cb53242dae3477b35c95bef6525b074d87493c4bf29"}, + {file = "fonttools-4.55.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:529cef2ce91dc44f8e407cc567fae6e49a1786f2fefefa73a294704c415322a4"}, + {file = "fonttools-4.55.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e75f12c82127486fac2d8bfbf5bf058202f54bf4f158d367e41647b972342ca"}, + {file = "fonttools-4.55.3-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:859c358ebf41db18fb72342d3080bce67c02b39e86b9fbcf1610cca14984841b"}, + {file = "fonttools-4.55.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:546565028e244a701f73df6d8dd6be489d01617863ec0c6a42fa25bf45d43048"}, + {file = "fonttools-4.55.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:aca318b77f23523309eec4475d1fbbb00a6b133eb766a8bdc401faba91261abe"}, + {file = "fonttools-4.55.3-cp313-cp313-win32.whl", hash = "sha256:8c5ec45428edaa7022f1c949a632a6f298edc7b481312fc7dc258921e9399628"}, + {file = "fonttools-4.55.3-cp313-cp313-win_amd64.whl", hash = "sha256:11e5de1ee0d95af4ae23c1a138b184b7f06e0b6abacabf1d0db41c90b03d834b"}, + {file = "fonttools-4.55.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:caf8230f3e10f8f5d7593eb6d252a37caf58c480b19a17e250a63dad63834cf3"}, + {file = "fonttools-4.55.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b586ab5b15b6097f2fb71cafa3c98edfd0dba1ad8027229e7b1e204a58b0e09d"}, + {file = "fonttools-4.55.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8c2794ded89399cc2169c4d0bf7941247b8d5932b2659e09834adfbb01589aa"}, + {file = "fonttools-4.55.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf4fe7c124aa3f4e4c1940880156e13f2f4d98170d35c749e6b4f119a872551e"}, + {file = "fonttools-4.55.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:86721fbc389ef5cc1e2f477019e5069e8e4421e8d9576e9c26f840dbb04678de"}, + {file = "fonttools-4.55.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:89bdc5d88bdeec1b15af790810e267e8332d92561dce4f0748c2b95c9bdf3926"}, + {file = "fonttools-4.55.3-cp38-cp38-win32.whl", hash = "sha256:bc5dbb4685e51235ef487e4bd501ddfc49be5aede5e40f4cefcccabc6e60fb4b"}, + {file = "fonttools-4.55.3-cp38-cp38-win_amd64.whl", hash = "sha256:cd70de1a52a8ee2d1877b6293af8a2484ac82514f10b1c67c1c5762d38073e56"}, + {file = "fonttools-4.55.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bdcc9f04b36c6c20978d3f060e5323a43f6222accc4e7fcbef3f428e216d96af"}, + {file = "fonttools-4.55.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c3ca99e0d460eff46e033cd3992a969658c3169ffcd533e0a39c63a38beb6831"}, + {file = "fonttools-4.55.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22f38464daa6cdb7b6aebd14ab06609328fe1e9705bb0fcc7d1e69de7109ee02"}, + {file = "fonttools-4.55.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed63959d00b61959b035c7d47f9313c2c1ece090ff63afea702fe86de00dbed4"}, + {file = "fonttools-4.55.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5e8d657cd7326eeaba27de2740e847c6b39dde2f8d7cd7cc56f6aad404ddf0bd"}, + {file = "fonttools-4.55.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:fb594b5a99943042c702c550d5494bdd7577f6ef19b0bc73877c948a63184a32"}, + {file = "fonttools-4.55.3-cp39-cp39-win32.whl", hash = "sha256:dc5294a3d5c84226e3dbba1b6f61d7ad813a8c0238fceea4e09aa04848c3d851"}, + {file = "fonttools-4.55.3-cp39-cp39-win_amd64.whl", hash = "sha256:aedbeb1db64496d098e6be92b2e63b5fac4e53b1b92032dfc6988e1ea9134a4d"}, + {file = "fonttools-4.55.3-py3-none-any.whl", hash = "sha256:f412604ccbeee81b091b420272841e5ec5ef68967a9790e80bffd0e30b8e2977"}, + {file = "fonttools-4.55.3.tar.gz", hash = "sha256:3983313c2a04d6cc1fe9251f8fc647754cf49a61dac6cb1e7249ae67afaafc45"}, ] [package.extras] @@ -1172,21 +1301,29 @@ yaml = ["PyYAML"] [[package]] name = "google-api-core" -version = "2.23.0" +version = "2.24.0" description = "Google API client core library" optional = false python-versions = ">=3.7" files = [ - {file = "google_api_core-2.23.0-py3-none-any.whl", hash = "sha256:c20100d4c4c41070cf365f1d8ddf5365915291b5eb11b83829fbd1c999b5122f"}, - {file = "google_api_core-2.23.0.tar.gz", hash = "sha256:2ceb087315e6af43f256704b871d99326b1f12a9d6ce99beaedec99ba26a0ace"}, + {file = "google_api_core-2.24.0-py3-none-any.whl", hash = "sha256:10d82ac0fca69c82a25b3efdeefccf6f28e02ebb97925a8cce8edbfe379929d9"}, + {file = "google_api_core-2.24.0.tar.gz", hash = "sha256:e255640547a597a4da010876d333208ddac417d60add22b6851a0c66a831fcaf"}, ] [package.dependencies] google-auth = ">=2.14.1,<3.0.dev0" googleapis-common-protos = ">=1.56.2,<2.0.dev0" +grpcio = [ + {version = ">=1.49.1,<2.0dev", optional = true, markers = "python_version >= \"3.11\" and extra == \"grpc\""}, + {version = ">=1.33.2,<2.0dev", optional = true, markers = "python_version < \"3.11\" and extra == \"grpc\""}, +] +grpcio-status = [ + {version = ">=1.49.1,<2.0.dev0", optional = true, markers = "python_version >= \"3.11\" and extra == \"grpc\""}, + {version = ">=1.33.2,<2.0.dev0", optional = true, markers = "python_version < \"3.11\" and extra == \"grpc\""}, +] proto-plus = [ - {version = ">=1.22.3,<2.0.0dev", markers = "python_version < \"3.13\""}, {version = ">=1.25.0,<2.0.0dev", markers = "python_version >= \"3.13\""}, + {version = ">=1.22.3,<2.0.0dev", markers = "python_version < \"3.13\""}, ] protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<6.0.0.dev0" requests = ">=2.18.0,<3.0.0.dev0" @@ -1199,13 +1336,13 @@ grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] [[package]] name = "google-api-python-client" -version = "2.151.0" +version = "2.155.0" description = "Google API Client Library for Python" optional = false python-versions = ">=3.7" files = [ - {file = "google_api_python_client-2.151.0-py2.py3-none-any.whl", hash = "sha256:4427b2f47cd88b0355d540c2c52215f68c337f3bc9d6aae1ceeae4525977504c"}, - {file = "google_api_python_client-2.151.0.tar.gz", hash = "sha256:a9d26d630810ed4631aea21d1de3e42072f98240aaf184a8a1a874a371115034"}, + {file = "google_api_python_client-2.155.0-py2.py3-none-any.whl", hash = "sha256:83fe9b5aa4160899079d7c93a37be306546a17e6686e2549bcc9584f1a229747"}, + {file = "google_api_python_client-2.155.0.tar.gz", hash = "sha256:25529f89f0d13abcf3c05c089c423fb2858ac16e0b3727543393468d0d7af67c"}, ] [package.dependencies] @@ -1217,13 +1354,13 @@ uritemplate = ">=3.0.1,<5" [[package]] name = "google-auth" -version = "2.36.0" +version = "2.37.0" description = "Google Authentication Library" optional = false python-versions = ">=3.7" files = [ - {file = "google_auth-2.36.0-py2.py3-none-any.whl", hash = "sha256:51a15d47028b66fd36e5c64a82d2d57480075bccc7da37cde257fc94177a61fb"}, - {file = "google_auth-2.36.0.tar.gz", hash = "sha256:545e9618f2df0bcbb7dcbc45a546485b1212624716975a1ea5ae8149ce769ab1"}, + {file = "google_auth-2.37.0-py2.py3-none-any.whl", hash = "sha256:42664f18290a6be591be5329a96fe30184be1a1badb7292a7f686a9659de9ca0"}, + {file = "google_auth-2.37.0.tar.gz", hash = "sha256:0054623abf1f9c83492c63d3f47e77f0a544caa3d40b2d98e099a611c2dd5d00"}, ] [package.dependencies] @@ -1234,6 +1371,7 @@ rsa = ">=3.1.4,<5" [package.extras] aiohttp = ["aiohttp (>=3.6.2,<4.0.0.dev0)", "requests (>=2.20.0,<3.0.0.dev0)"] enterprise-cert = ["cryptography", "pyopenssl"] +pyjwt = ["cryptography (>=38.0.3)", "pyjwt (>=2.0)"] pyopenssl = ["cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"] reauth = ["pyu2f (>=0.1.5)"] requests = ["requests (>=2.20.0,<3.0.0.dev0)"] @@ -1271,15 +1409,121 @@ requests-oauthlib = ">=0.7.0" [package.extras] tool = ["click (>=6.0.0)"] +[[package]] +name = "google-cloud-bigquery" +version = "3.27.0" +description = "Google BigQuery API client library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "google_cloud_bigquery-3.27.0-py2.py3-none-any.whl", hash = "sha256:b53b0431e5ba362976a4cd8acce72194b4116cdf8115030c7b339b884603fcc3"}, + {file = "google_cloud_bigquery-3.27.0.tar.gz", hash = "sha256:379c524054d7b090fa56d0c22662cc6e6458a6229b6754c0e7177e3a73421d2c"}, +] + +[package.dependencies] +google-api-core = {version = ">=2.11.1,<3.0.0dev", extras = ["grpc"]} +google-auth = ">=2.14.1,<3.0.0dev" +google-cloud-core = ">=2.4.1,<3.0.0dev" +google-resumable-media = ">=2.0.0,<3.0dev" +packaging = ">=20.0.0" +python-dateutil = ">=2.7.3,<3.0dev" +requests = ">=2.21.0,<3.0.0dev" + +[package.extras] +all = ["Shapely (>=1.8.4,<3.0.0dev)", "bigquery-magics (>=0.1.0)", "db-dtypes (>=0.3.0,<2.0.0dev)", "geopandas (>=0.9.0,<1.0dev)", "google-cloud-bigquery-storage (>=2.6.0,<3.0.0dev)", "grpcio (>=1.47.0,<2.0dev)", "grpcio (>=1.49.1,<2.0dev)", "importlib-metadata (>=1.0.0)", "ipykernel (>=6.0.0)", "ipywidgets (>=7.7.0)", "opentelemetry-api (>=1.1.0)", "opentelemetry-instrumentation (>=0.20b0)", "opentelemetry-sdk (>=1.1.0)", "pandas (>=1.1.0)", "proto-plus (>=1.22.3,<2.0.0dev)", "protobuf (>=3.20.2,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0dev)", "pyarrow (>=3.0.0)", "tqdm (>=4.7.4,<5.0.0dev)"] +bigquery-v2 = ["proto-plus (>=1.22.3,<2.0.0dev)", "protobuf (>=3.20.2,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0dev)"] +bqstorage = ["google-cloud-bigquery-storage (>=2.6.0,<3.0.0dev)", "grpcio (>=1.47.0,<2.0dev)", "grpcio (>=1.49.1,<2.0dev)", "pyarrow (>=3.0.0)"] +geopandas = ["Shapely (>=1.8.4,<3.0.0dev)", "geopandas (>=0.9.0,<1.0dev)"] +ipython = ["bigquery-magics (>=0.1.0)"] +ipywidgets = ["ipykernel (>=6.0.0)", "ipywidgets (>=7.7.0)"] +opentelemetry = ["opentelemetry-api (>=1.1.0)", "opentelemetry-instrumentation (>=0.20b0)", "opentelemetry-sdk (>=1.1.0)"] +pandas = ["db-dtypes (>=0.3.0,<2.0.0dev)", "importlib-metadata (>=1.0.0)", "pandas (>=1.1.0)", "pyarrow (>=3.0.0)"] +tqdm = ["tqdm (>=4.7.4,<5.0.0dev)"] + +[[package]] +name = "google-cloud-core" +version = "2.4.1" +description = "Google Cloud API client core library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "google-cloud-core-2.4.1.tar.gz", hash = "sha256:9b7749272a812bde58fff28868d0c5e2f585b82f37e09a1f6ed2d4d10f134073"}, + {file = "google_cloud_core-2.4.1-py2.py3-none-any.whl", hash = "sha256:a9e6a4422b9ac5c29f79a0ede9485473338e2ce78d91f2370c01e730eab22e61"}, +] + +[package.dependencies] +google-api-core = ">=1.31.6,<2.0.dev0 || >2.3.0,<3.0.0dev" +google-auth = ">=1.25.0,<3.0dev" + +[package.extras] +grpc = ["grpcio (>=1.38.0,<2.0dev)", "grpcio-status (>=1.38.0,<2.0.dev0)"] + +[[package]] +name = "google-crc32c" +version = "1.6.0" +description = "A python wrapper of the C library 'Google CRC32C'" +optional = false +python-versions = ">=3.9" +files = [ + {file = "google_crc32c-1.6.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:5bcc90b34df28a4b38653c36bb5ada35671ad105c99cfe915fb5bed7ad6924aa"}, + {file = "google_crc32c-1.6.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:d9e9913f7bd69e093b81da4535ce27af842e7bf371cde42d1ae9e9bd382dc0e9"}, + {file = "google_crc32c-1.6.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a184243544811e4a50d345838a883733461e67578959ac59964e43cca2c791e7"}, + {file = "google_crc32c-1.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:236c87a46cdf06384f614e9092b82c05f81bd34b80248021f729396a78e55d7e"}, + {file = "google_crc32c-1.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ebab974b1687509e5c973b5c4b8b146683e101e102e17a86bd196ecaa4d099fc"}, + {file = "google_crc32c-1.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:50cf2a96da226dcbff8671233ecf37bf6e95de98b2a2ebadbfdf455e6d05df42"}, + {file = "google_crc32c-1.6.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:f7a1fc29803712f80879b0806cb83ab24ce62fc8daf0569f2204a0cfd7f68ed4"}, + {file = "google_crc32c-1.6.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:40b05ab32a5067525670880eb5d169529089a26fe35dce8891127aeddc1950e8"}, + {file = "google_crc32c-1.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9e4b426c3702f3cd23b933436487eb34e01e00327fac20c9aebb68ccf34117d"}, + {file = "google_crc32c-1.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51c4f54dd8c6dfeb58d1df5e4f7f97df8abf17a36626a217f169893d1d7f3e9f"}, + {file = "google_crc32c-1.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:bb8b3c75bd157010459b15222c3fd30577042a7060e29d42dabce449c087f2b3"}, + {file = "google_crc32c-1.6.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:ed767bf4ba90104c1216b68111613f0d5926fb3780660ea1198fc469af410e9d"}, + {file = "google_crc32c-1.6.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:62f6d4a29fea082ac4a3c9be5e415218255cf11684ac6ef5488eea0c9132689b"}, + {file = "google_crc32c-1.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c87d98c7c4a69066fd31701c4e10d178a648c2cac3452e62c6b24dc51f9fcc00"}, + {file = "google_crc32c-1.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd5e7d2445d1a958c266bfa5d04c39932dc54093fa391736dbfdb0f1929c1fb3"}, + {file = "google_crc32c-1.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:7aec8e88a3583515f9e0957fe4f5f6d8d4997e36d0f61624e70469771584c760"}, + {file = "google_crc32c-1.6.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:e2806553238cd076f0a55bddab37a532b53580e699ed8e5606d0de1f856b5205"}, + {file = "google_crc32c-1.6.0-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:bb0966e1c50d0ef5bc743312cc730b533491d60585a9a08f897274e57c3f70e0"}, + {file = "google_crc32c-1.6.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:386122eeaaa76951a8196310432c5b0ef3b53590ef4c317ec7588ec554fec5d2"}, + {file = "google_crc32c-1.6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2952396dc604544ea7476b33fe87faedc24d666fb0c2d5ac971a2b9576ab871"}, + {file = "google_crc32c-1.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:35834855408429cecf495cac67ccbab802de269e948e27478b1e47dfb6465e57"}, + {file = "google_crc32c-1.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:d8797406499f28b5ef791f339594b0b5fdedf54e203b5066675c406ba69d705c"}, + {file = "google_crc32c-1.6.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48abd62ca76a2cbe034542ed1b6aee851b6f28aaca4e6551b5599b6f3ef175cc"}, + {file = "google_crc32c-1.6.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18e311c64008f1f1379158158bb3f0c8d72635b9eb4f9545f8cf990c5668e59d"}, + {file = "google_crc32c-1.6.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05e2d8c9a2f853ff116db9706b4a27350587f341eda835f46db3c0a8c8ce2f24"}, + {file = "google_crc32c-1.6.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:91ca8145b060679ec9176e6de4f89b07363d6805bd4760631ef254905503598d"}, + {file = "google_crc32c-1.6.0.tar.gz", hash = "sha256:6eceb6ad197656a1ff49ebfbbfa870678c75be4344feb35ac1edf694309413dc"}, +] + +[package.extras] +testing = ["pytest"] + +[[package]] +name = "google-resumable-media" +version = "2.7.2" +description = "Utilities for Google Media Downloads and Resumable Uploads" +optional = false +python-versions = ">=3.7" +files = [ + {file = "google_resumable_media-2.7.2-py2.py3-none-any.whl", hash = "sha256:3ce7551e9fe6d99e9a126101d2536612bb73486721951e9562fee0f90c6ababa"}, + {file = "google_resumable_media-2.7.2.tar.gz", hash = "sha256:5280aed4629f2b60b847b0d42f9857fd4935c11af266744df33d8074cae92fe0"}, +] + +[package.dependencies] +google-crc32c = ">=1.0,<2.0dev" + +[package.extras] +aiohttp = ["aiohttp (>=3.6.2,<4.0.0dev)", "google-auth (>=1.22.0,<2.0dev)"] +requests = ["requests (>=2.18.0,<3.0.0dev)"] + [[package]] name = "googleapis-common-protos" -version = "1.65.0" +version = "1.66.0" description = "Common protobufs used in Google APIs" optional = false python-versions = ">=3.7" files = [ - {file = "googleapis_common_protos-1.65.0-py2.py3-none-any.whl", hash = "sha256:2972e6c496f435b92590fd54045060867f3fe9be2c82ab148fc8885035479a63"}, - {file = "googleapis_common_protos-1.65.0.tar.gz", hash = "sha256:334a29d07cddc3aa01dee4988f9afd9b2916ee2ff49d6b757155dc0d197852c0"}, + {file = "googleapis_common_protos-1.66.0-py2.py3-none-any.whl", hash = "sha256:d7abcd75fabb2e0ec9f74466401f6c119a0b498e27370e9be4c94cb7e382b8ed"}, + {file = "googleapis_common_protos-1.66.0.tar.gz", hash = "sha256:c3e7b33d15fdca5374cc0a7346dd92ffa847425cc4ea941d970f13680052ec8c"}, ] [package.dependencies] @@ -1390,6 +1634,89 @@ files = [ docs = ["Sphinx", "furo"] test = ["objgraph", "psutil"] +[[package]] +name = "grpcio" +version = "1.68.1" +description = "HTTP/2-based RPC framework" +optional = false +python-versions = ">=3.8" +files = [ + {file = "grpcio-1.68.1-cp310-cp310-linux_armv7l.whl", hash = "sha256:d35740e3f45f60f3c37b1e6f2f4702c23867b9ce21c6410254c9c682237da68d"}, + {file = "grpcio-1.68.1-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:d99abcd61760ebb34bdff37e5a3ba333c5cc09feda8c1ad42547bea0416ada78"}, + {file = "grpcio-1.68.1-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:f8261fa2a5f679abeb2a0a93ad056d765cdca1c47745eda3f2d87f874ff4b8c9"}, + {file = "grpcio-1.68.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0feb02205a27caca128627bd1df4ee7212db051019a9afa76f4bb6a1a80ca95e"}, + {file = "grpcio-1.68.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:919d7f18f63bcad3a0f81146188e90274fde800a94e35d42ffe9eadf6a9a6330"}, + {file = "grpcio-1.68.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:963cc8d7d79b12c56008aabd8b457f400952dbea8997dd185f155e2f228db079"}, + {file = "grpcio-1.68.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ccf2ebd2de2d6661e2520dae293298a3803a98ebfc099275f113ce1f6c2a80f1"}, + {file = "grpcio-1.68.1-cp310-cp310-win32.whl", hash = "sha256:2cc1fd04af8399971bcd4f43bd98c22d01029ea2e56e69c34daf2bf8470e47f5"}, + {file = "grpcio-1.68.1-cp310-cp310-win_amd64.whl", hash = "sha256:ee2e743e51cb964b4975de572aa8fb95b633f496f9fcb5e257893df3be854746"}, + {file = "grpcio-1.68.1-cp311-cp311-linux_armv7l.whl", hash = "sha256:55857c71641064f01ff0541a1776bfe04a59db5558e82897d35a7793e525774c"}, + {file = "grpcio-1.68.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4b177f5547f1b995826ef529d2eef89cca2f830dd8b2c99ffd5fde4da734ba73"}, + {file = "grpcio-1.68.1-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:3522c77d7e6606d6665ec8d50e867f13f946a4e00c7df46768f1c85089eae515"}, + {file = "grpcio-1.68.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9d1fae6bbf0816415b81db1e82fb3bf56f7857273c84dcbe68cbe046e58e1ccd"}, + {file = "grpcio-1.68.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:298ee7f80e26f9483f0b6f94cc0a046caf54400a11b644713bb5b3d8eb387600"}, + {file = "grpcio-1.68.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cbb5780e2e740b6b4f2d208e90453591036ff80c02cc605fea1af8e6fc6b1bbe"}, + {file = "grpcio-1.68.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ddda1aa22495d8acd9dfbafff2866438d12faec4d024ebc2e656784d96328ad0"}, + {file = "grpcio-1.68.1-cp311-cp311-win32.whl", hash = "sha256:b33bd114fa5a83f03ec6b7b262ef9f5cac549d4126f1dc702078767b10c46ed9"}, + {file = "grpcio-1.68.1-cp311-cp311-win_amd64.whl", hash = "sha256:7f20ebec257af55694d8f993e162ddf0d36bd82d4e57f74b31c67b3c6d63d8b2"}, + {file = "grpcio-1.68.1-cp312-cp312-linux_armv7l.whl", hash = "sha256:8829924fffb25386995a31998ccbbeaa7367223e647e0122043dfc485a87c666"}, + {file = "grpcio-1.68.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:3aed6544e4d523cd6b3119b0916cef3d15ef2da51e088211e4d1eb91a6c7f4f1"}, + {file = "grpcio-1.68.1-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:4efac5481c696d5cb124ff1c119a78bddbfdd13fc499e3bc0ca81e95fc573684"}, + {file = "grpcio-1.68.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ab2d912ca39c51f46baf2a0d92aa265aa96b2443266fc50d234fa88bf877d8e"}, + {file = "grpcio-1.68.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95c87ce2a97434dffe7327a4071839ab8e8bffd0054cc74cbe971fba98aedd60"}, + {file = "grpcio-1.68.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:e4842e4872ae4ae0f5497bf60a0498fa778c192cc7a9e87877abd2814aca9475"}, + {file = "grpcio-1.68.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:255b1635b0ed81e9f91da4fcc8d43b7ea5520090b9a9ad9340d147066d1d3613"}, + {file = "grpcio-1.68.1-cp312-cp312-win32.whl", hash = "sha256:7dfc914cc31c906297b30463dde0b9be48e36939575eaf2a0a22a8096e69afe5"}, + {file = "grpcio-1.68.1-cp312-cp312-win_amd64.whl", hash = "sha256:a0c8ddabef9c8f41617f213e527254c41e8b96ea9d387c632af878d05db9229c"}, + {file = "grpcio-1.68.1-cp313-cp313-linux_armv7l.whl", hash = "sha256:a47faedc9ea2e7a3b6569795c040aae5895a19dde0c728a48d3c5d7995fda385"}, + {file = "grpcio-1.68.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:390eee4225a661c5cd133c09f5da1ee3c84498dc265fd292a6912b65c421c78c"}, + {file = "grpcio-1.68.1-cp313-cp313-manylinux_2_17_aarch64.whl", hash = "sha256:66a24f3d45c33550703f0abb8b656515b0ab777970fa275693a2f6dc8e35f1c1"}, + {file = "grpcio-1.68.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c08079b4934b0bf0a8847f42c197b1d12cba6495a3d43febd7e99ecd1cdc8d54"}, + {file = "grpcio-1.68.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8720c25cd9ac25dd04ee02b69256d0ce35bf8a0f29e20577427355272230965a"}, + {file = "grpcio-1.68.1-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:04cfd68bf4f38f5bb959ee2361a7546916bd9a50f78617a346b3aeb2b42e2161"}, + {file = "grpcio-1.68.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c28848761a6520c5c6071d2904a18d339a796ebe6b800adc8b3f474c5ce3c3ad"}, + {file = "grpcio-1.68.1-cp313-cp313-win32.whl", hash = "sha256:77d65165fc35cff6e954e7fd4229e05ec76102d4406d4576528d3a3635fc6172"}, + {file = "grpcio-1.68.1-cp313-cp313-win_amd64.whl", hash = "sha256:a8040f85dcb9830d8bbb033ae66d272614cec6faceee88d37a88a9bd1a7a704e"}, + {file = "grpcio-1.68.1-cp38-cp38-linux_armv7l.whl", hash = "sha256:eeb38ff04ab6e5756a2aef6ad8d94e89bb4a51ef96e20f45c44ba190fa0bcaad"}, + {file = "grpcio-1.68.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8a3869a6661ec8f81d93f4597da50336718bde9eb13267a699ac7e0a1d6d0bea"}, + {file = "grpcio-1.68.1-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:2c4cec6177bf325eb6faa6bd834d2ff6aa8bb3b29012cceb4937b86f8b74323c"}, + {file = "grpcio-1.68.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:12941d533f3cd45d46f202e3667be8ebf6bcb3573629c7ec12c3e211d99cfccf"}, + {file = "grpcio-1.68.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80af6f1e69c5e68a2be529990684abdd31ed6622e988bf18850075c81bb1ad6e"}, + {file = "grpcio-1.68.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:e8dbe3e00771bfe3d04feed8210fc6617006d06d9a2679b74605b9fed3e8362c"}, + {file = "grpcio-1.68.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:83bbf5807dc3ee94ce1de2dfe8a356e1d74101e4b9d7aa8c720cc4818a34aded"}, + {file = "grpcio-1.68.1-cp38-cp38-win32.whl", hash = "sha256:8cb620037a2fd9eeee97b4531880e439ebfcd6d7d78f2e7dcc3726428ab5ef63"}, + {file = "grpcio-1.68.1-cp38-cp38-win_amd64.whl", hash = "sha256:52fbf85aa71263380d330f4fce9f013c0798242e31ede05fcee7fbe40ccfc20d"}, + {file = "grpcio-1.68.1-cp39-cp39-linux_armv7l.whl", hash = "sha256:cb400138e73969eb5e0535d1d06cae6a6f7a15f2cc74add320e2130b8179211a"}, + {file = "grpcio-1.68.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a1b988b40f2fd9de5c820f3a701a43339d8dcf2cb2f1ca137e2c02671cc83ac1"}, + {file = "grpcio-1.68.1-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:96f473cdacfdd506008a5d7579c9f6a7ff245a9ade92c3c0265eb76cc591914f"}, + {file = "grpcio-1.68.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:37ea3be171f3cf3e7b7e412a98b77685eba9d4fd67421f4a34686a63a65d99f9"}, + {file = "grpcio-1.68.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ceb56c4285754e33bb3c2fa777d055e96e6932351a3082ce3559be47f8024f0"}, + {file = "grpcio-1.68.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:dffd29a2961f3263a16d73945b57cd44a8fd0b235740cb14056f0612329b345e"}, + {file = "grpcio-1.68.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:025f790c056815b3bf53da850dd70ebb849fd755a4b1ac822cb65cd631e37d43"}, + {file = "grpcio-1.68.1-cp39-cp39-win32.whl", hash = "sha256:1098f03dedc3b9810810568060dea4ac0822b4062f537b0f53aa015269be0a76"}, + {file = "grpcio-1.68.1-cp39-cp39-win_amd64.whl", hash = "sha256:334ab917792904245a028f10e803fcd5b6f36a7b2173a820c0b5b076555825e1"}, + {file = "grpcio-1.68.1.tar.gz", hash = "sha256:44a8502dd5de653ae6a73e2de50a401d84184f0331d0ac3daeb044e66d5c5054"}, +] + +[package.extras] +protobuf = ["grpcio-tools (>=1.68.1)"] + +[[package]] +name = "grpcio-status" +version = "1.68.1" +description = "Status proto mapping for gRPC" +optional = false +python-versions = ">=3.8" +files = [ + {file = "grpcio_status-1.68.1-py3-none-any.whl", hash = "sha256:66f3d8847f665acfd56221333d66f7ad8927903d87242a482996bdb45e8d28fd"}, + {file = "grpcio_status-1.68.1.tar.gz", hash = "sha256:e1378d036c81a1610d7b4c7a146cd663dd13fcc915cf4d7d053929dba5bbb6e1"}, +] + +[package.dependencies] +googleapis-common-protos = ">=1.5.5" +grpcio = ">=1.68.1" +protobuf = ">=5.26.1,<6.0dev" + [[package]] name = "h11" version = "0.14.0" @@ -1414,13 +1741,13 @@ files = [ [[package]] name = "httpcore" -version = "1.0.6" +version = "1.0.7" description = "A minimal low-level HTTP client." optional = false python-versions = ">=3.8" files = [ - {file = "httpcore-1.0.6-py3-none-any.whl", hash = "sha256:27b59625743b85577a8c0e10e55b50b5368a4f2cfe8cc7bcfa9cf00829c2682f"}, - {file = "httpcore-1.0.6.tar.gz", hash = "sha256:73f6dbd6eb8c21bbf7ef8efad555481853f5f6acdeaff1edb0694289269ee17f"}, + {file = "httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd"}, + {file = "httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c"}, ] [package.dependencies] @@ -1449,13 +1776,13 @@ pyparsing = {version = ">=2.4.2,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.0.2 || >3.0 [[package]] name = "httpx" -version = "0.27.2" +version = "0.28.1" description = "The next generation HTTP client." optional = false python-versions = ">=3.8" files = [ - {file = "httpx-0.27.2-py3-none-any.whl", hash = "sha256:7bb2708e112d8fdd7829cd4243970f0c223274051cb35ee80c03301ee29a3df0"}, - {file = "httpx-0.27.2.tar.gz", hash = "sha256:f7c2be1d2f3c3c3160d441802406b206c2b76f5947b11115e6df10c6c65e66c2"}, + {file = "httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad"}, + {file = "httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc"}, ] [package.dependencies] @@ -1463,7 +1790,6 @@ anyio = "*" certifi = "*" httpcore = "==1.*" idna = "*" -sniffio = "*" [package.extras] brotli = ["brotli", "brotlicffi"] @@ -1634,6 +1960,17 @@ enabler = ["pytest-enabler (>=2.2)"] test = ["jaraco.test (>=5.4)", "pytest (>=6,!=8.1.*)", "zipp (>=3.17)"] type = ["pytest-mypy"] +[[package]] +name = "inflection" +version = "0.5.1" +description = "A port of Ruby on Rails inflector to Python" +optional = false +python-versions = ">=3.5" +files = [ + {file = "inflection-0.5.1-py2.py3-none-any.whl", hash = "sha256:f38b2b640938a4f35ade69ac3d053042959b62a0f1076a5bbaa1b9526605a8a2"}, + {file = "inflection-0.5.1.tar.gz", hash = "sha256:1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417"}, +] + [[package]] name = "iniconfig" version = "2.0.0" @@ -1811,6 +2148,17 @@ MarkupSafe = ">=2.0" [package.extras] i18n = ["Babel (>=2.7)"] +[[package]] +name = "joblib" +version = "1.4.2" +description = "Lightweight pipelining with Python functions" +optional = false +python-versions = ">=3.8" +files = [ + {file = "joblib-1.4.2-py3-none-any.whl", hash = "sha256:06d478d5674cbc267e7496a410ee875abd68e4340feff4490bcb7afb88060ae6"}, + {file = "joblib-1.4.2.tar.gz", hash = "sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e"}, +] + [[package]] name = "jsbeautifier" version = "1.15.1" @@ -1842,13 +2190,13 @@ pyyaml = "*" [[package]] name = "json5" -version = "0.9.28" +version = "0.10.0" description = "A Python implementation of the JSON5 data format." optional = false python-versions = ">=3.8.0" files = [ - {file = "json5-0.9.28-py3-none-any.whl", hash = "sha256:29c56f1accdd8bc2e037321237662034a7e07921e2b7223281a5ce2c46f0c4df"}, - {file = "json5-0.9.28.tar.gz", hash = "sha256:1f82f36e615bc5b42f1bbd49dbc94b12563c56408c6ffa06414ea310890e9a6e"}, + {file = "json5-0.10.0-py3-none-any.whl", hash = "sha256:19b23410220a7271e8377f81ba8aacba2fdd56947fbb137ee5977cbe1f5e8dfa"}, + {file = "json5-0.10.0.tar.gz", hash = "sha256:e66941c8f0a02026943c52c2eb34ebeb2a6f819a0be05920a6f5243cd30fd559"}, ] [package.extras] @@ -2293,13 +2641,13 @@ test = ["jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-jupyter[server] (> [[package]] name = "jupyterlab" -version = "4.3.0" +version = "4.3.3" description = "JupyterLab computational environment" optional = false python-versions = ">=3.8" files = [ - {file = "jupyterlab-4.3.0-py3-none-any.whl", hash = "sha256:f67e1095ad61ae04349024f0b40345062ab108a0c6998d9810fec6a3c1a70cd5"}, - {file = "jupyterlab-4.3.0.tar.gz", hash = "sha256:7c6835cbf8df0af0ec8a39332e85ff11693fb9a468205343b4fc0bfbc74817e5"}, + {file = "jupyterlab-4.3.3-py3-none-any.whl", hash = "sha256:32a8fd30677e734ffcc3916a4758b9dab21b02015b668c60eb36f84357b7d4b1"}, + {file = "jupyterlab-4.3.3.tar.gz", hash = "sha256:76fa39e548fdac94dc1204af5956c556f54c785f70ee26aa47ea08eda4d5bbcd"}, ] [package.dependencies] @@ -2314,7 +2662,7 @@ jupyter-server = ">=2.4.0,<3" jupyterlab-server = ">=2.27.1,<3" notebook-shim = ">=0.2" packaging = "*" -setuptools = ">=40.1.0" +setuptools = ">=40.8.0" tomli = {version = ">=1.2.2", markers = "python_version < \"3.11\""} tornado = ">=6.2.0" traitlets = "*" @@ -2894,51 +3242,52 @@ files = [ [[package]] name = "matplotlib" -version = "3.9.2" +version = "3.9.3" description = "Python plotting package" optional = false python-versions = ">=3.9" files = [ - {file = "matplotlib-3.9.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:9d78bbc0cbc891ad55b4f39a48c22182e9bdaea7fc0e5dbd364f49f729ca1bbb"}, - {file = "matplotlib-3.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c375cc72229614632c87355366bdf2570c2dac01ac66b8ad048d2dabadf2d0d4"}, - {file = "matplotlib-3.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d94ff717eb2bd0b58fe66380bd8b14ac35f48a98e7c6765117fe67fb7684e64"}, - {file = "matplotlib-3.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab68d50c06938ef28681073327795c5db99bb4666214d2d5f880ed11aeaded66"}, - {file = "matplotlib-3.9.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:65aacf95b62272d568044531e41de26285d54aec8cb859031f511f84bd8b495a"}, - {file = "matplotlib-3.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:3fd595f34aa8a55b7fc8bf9ebea8aa665a84c82d275190a61118d33fbc82ccae"}, - {file = "matplotlib-3.9.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d8dd059447824eec055e829258ab092b56bb0579fc3164fa09c64f3acd478772"}, - {file = "matplotlib-3.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c797dac8bb9c7a3fd3382b16fe8f215b4cf0f22adccea36f1545a6d7be310b41"}, - {file = "matplotlib-3.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d719465db13267bcef19ea8954a971db03b9f48b4647e3860e4bc8e6ed86610f"}, - {file = "matplotlib-3.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8912ef7c2362f7193b5819d17dae8629b34a95c58603d781329712ada83f9447"}, - {file = "matplotlib-3.9.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7741f26a58a240f43bee74965c4882b6c93df3e7eb3de160126d8c8f53a6ae6e"}, - {file = "matplotlib-3.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:ae82a14dab96fbfad7965403c643cafe6515e386de723e498cf3eeb1e0b70cc7"}, - {file = "matplotlib-3.9.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:ac43031375a65c3196bee99f6001e7fa5bdfb00ddf43379d3c0609bdca042df9"}, - {file = "matplotlib-3.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:be0fc24a5e4531ae4d8e858a1a548c1fe33b176bb13eff7f9d0d38ce5112a27d"}, - {file = "matplotlib-3.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf81de2926c2db243c9b2cbc3917619a0fc85796c6ba4e58f541df814bbf83c7"}, - {file = "matplotlib-3.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6ee45bc4245533111ced13f1f2cace1e7f89d1c793390392a80c139d6cf0e6c"}, - {file = "matplotlib-3.9.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:306c8dfc73239f0e72ac50e5a9cf19cc4e8e331dd0c54f5e69ca8758550f1e1e"}, - {file = "matplotlib-3.9.2-cp312-cp312-win_amd64.whl", hash = "sha256:5413401594cfaff0052f9d8b1aafc6d305b4bd7c4331dccd18f561ff7e1d3bd3"}, - {file = "matplotlib-3.9.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:18128cc08f0d3cfff10b76baa2f296fc28c4607368a8402de61bb3f2eb33c7d9"}, - {file = "matplotlib-3.9.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4876d7d40219e8ae8bb70f9263bcbe5714415acfdf781086601211335e24f8aa"}, - {file = "matplotlib-3.9.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d9f07a80deab4bb0b82858a9e9ad53d1382fd122be8cde11080f4e7dfedb38b"}, - {file = "matplotlib-3.9.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7c0410f181a531ec4e93bbc27692f2c71a15c2da16766f5ba9761e7ae518413"}, - {file = "matplotlib-3.9.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:909645cce2dc28b735674ce0931a4ac94e12f5b13f6bb0b5a5e65e7cea2c192b"}, - {file = "matplotlib-3.9.2-cp313-cp313-win_amd64.whl", hash = "sha256:f32c7410c7f246838a77d6d1eff0c0f87f3cb0e7c4247aebea71a6d5a68cab49"}, - {file = "matplotlib-3.9.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:37e51dd1c2db16ede9cfd7b5cabdfc818b2c6397c83f8b10e0e797501c963a03"}, - {file = "matplotlib-3.9.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b82c5045cebcecd8496a4d694d43f9cc84aeeb49fe2133e036b207abe73f4d30"}, - {file = "matplotlib-3.9.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f053c40f94bc51bc03832a41b4f153d83f2062d88c72b5e79997072594e97e51"}, - {file = "matplotlib-3.9.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dbe196377a8248972f5cede786d4c5508ed5f5ca4a1e09b44bda889958b33f8c"}, - {file = "matplotlib-3.9.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5816b1e1fe8c192cbc013f8f3e3368ac56fbecf02fb41b8f8559303f24c5015e"}, - {file = "matplotlib-3.9.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:cef2a73d06601437be399908cf13aee74e86932a5ccc6ccdf173408ebc5f6bb2"}, - {file = "matplotlib-3.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e0830e188029c14e891fadd99702fd90d317df294c3298aad682739c5533721a"}, - {file = "matplotlib-3.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03ba9c1299c920964e8d3857ba27173b4dbb51ca4bab47ffc2c2ba0eb5e2cbc5"}, - {file = "matplotlib-3.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1cd93b91ab47a3616b4d3c42b52f8363b88ca021e340804c6ab2536344fad9ca"}, - {file = "matplotlib-3.9.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6d1ce5ed2aefcdce11904fc5bbea7d9c21fff3d5f543841edf3dea84451a09ea"}, - {file = "matplotlib-3.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:b2696efdc08648536efd4e1601b5fd491fd47f4db97a5fbfd175549a7365c1b2"}, - {file = "matplotlib-3.9.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:d52a3b618cb1cbb769ce2ee1dcdb333c3ab6e823944e9a2d36e37253815f9556"}, - {file = "matplotlib-3.9.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:039082812cacd6c6bec8e17a9c1e6baca230d4116d522e81e1f63a74d01d2e21"}, - {file = "matplotlib-3.9.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6758baae2ed64f2331d4fd19be38b7b4eae3ecec210049a26b6a4f3ae1c85dcc"}, - {file = "matplotlib-3.9.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:050598c2b29e0b9832cde72bcf97627bf00262adbc4a54e2b856426bb2ef0697"}, - {file = "matplotlib-3.9.2.tar.gz", hash = "sha256:96ab43906269ca64a6366934106fa01534454a69e471b7bf3d79083981aaab92"}, + {file = "matplotlib-3.9.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:41b016e3be4e740b66c79a031a0a6e145728dbc248142e751e8dab4f3188ca1d"}, + {file = "matplotlib-3.9.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e0143975fc2a6d7136c97e19c637321288371e8f09cff2564ecd73e865ea0b9"}, + {file = "matplotlib-3.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f459c8ee2c086455744723628264e43c884be0c7d7b45d84b8cd981310b4815"}, + {file = "matplotlib-3.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:687df7ceff57b8f070d02b4db66f75566370e7ae182a0782b6d3d21b0d6917dc"}, + {file = "matplotlib-3.9.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:edd14cf733fdc4f6e6fe3f705af97676a7e52859bf0044aa2c84e55be739241c"}, + {file = "matplotlib-3.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:1c40c244221a1adbb1256692b1133c6fb89418df27bf759a31a333e7912a4010"}, + {file = "matplotlib-3.9.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:cf2a60daf6cecff6828bc608df00dbc794380e7234d2411c0ec612811f01969d"}, + {file = "matplotlib-3.9.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:213d6dc25ce686516208d8a3e91120c6a4fdae4a3e06b8505ced5b716b50cc04"}, + {file = "matplotlib-3.9.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c52f48eb75fcc119a4fdb68ba83eb5f71656999420375df7c94cc68e0e14686e"}, + {file = "matplotlib-3.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3c93796b44fa111049b88a24105e947f03c01966b5c0cc782e2ee3887b790a3"}, + {file = "matplotlib-3.9.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:cd1077b9a09b16d8c3c7075a8add5ffbfe6a69156a57e290c800ed4d435bef1d"}, + {file = "matplotlib-3.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:c96eeeb8c68b662c7747f91a385688d4b449687d29b691eff7068a4602fe6dc4"}, + {file = "matplotlib-3.9.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0a361bd5583bf0bcc08841df3c10269617ee2a36b99ac39d455a767da908bbbc"}, + {file = "matplotlib-3.9.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e14485bb1b83eeb3d55b6878f9560240981e7bbc7a8d4e1e8c38b9bd6ec8d2de"}, + {file = "matplotlib-3.9.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a8d279f78844aad213c4935c18f8292a9432d51af2d88bca99072c903948045"}, + {file = "matplotlib-3.9.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6c12514329ac0d03128cf1dcceb335f4fbf7c11da98bca68dca8dcb983153a9"}, + {file = "matplotlib-3.9.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6e9de2b390d253a508dd497e9b5579f3a851f208763ed67fdca5dc0c3ea6849c"}, + {file = "matplotlib-3.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:d796272408f8567ff7eaa00eb2856b3a00524490e47ad505b0b4ca6bb8a7411f"}, + {file = "matplotlib-3.9.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:203d18df84f5288973b2d56de63d4678cc748250026ca9e1ad8f8a0fd8a75d83"}, + {file = "matplotlib-3.9.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b651b0d3642991259109dc0351fc33ad44c624801367bb8307be9bfc35e427ad"}, + {file = "matplotlib-3.9.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:66d7b171fecf96940ce069923a08ba3df33ef542de82c2ff4fe8caa8346fa95a"}, + {file = "matplotlib-3.9.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6be0ba61f6ff2e6b68e4270fb63b6813c9e7dec3d15fc3a93f47480444fd72f0"}, + {file = "matplotlib-3.9.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d6b2e8856dec3a6db1ae51aec85c82223e834b228c1d3228aede87eee2b34f9"}, + {file = "matplotlib-3.9.3-cp313-cp313-win_amd64.whl", hash = "sha256:90a85a004fefed9e583597478420bf904bb1a065b0b0ee5b9d8d31b04b0f3f70"}, + {file = "matplotlib-3.9.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3119b2f16de7f7b9212ba76d8fe6a0e9f90b27a1e04683cd89833a991682f639"}, + {file = "matplotlib-3.9.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:87ad73763d93add1b6c1f9fcd33af662fd62ed70e620c52fcb79f3ac427cf3a6"}, + {file = "matplotlib-3.9.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:026bdf3137ab6022c866efa4813b6bbeddc2ed4c9e7e02f0e323a7bca380dfa0"}, + {file = "matplotlib-3.9.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:760a5e89ebbb172989e8273024a1024b0f084510b9105261b3b00c15e9c9f006"}, + {file = "matplotlib-3.9.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a42b9dc42de2cfe357efa27d9c50c7833fc5ab9b2eb7252ccd5d5f836a84e1e4"}, + {file = "matplotlib-3.9.3-cp313-cp313t-win_amd64.whl", hash = "sha256:e0fcb7da73fbf67b5f4bdaa57d85bb585a4e913d4a10f3e15b32baea56a67f0a"}, + {file = "matplotlib-3.9.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:031b7f5b8e595cc07def77ec5b58464e9bb67dc5760be5d6f26d9da24892481d"}, + {file = "matplotlib-3.9.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9fa6e193c14d6944e0685cdb527cb6b38b0e4a518043e7212f214113af7391da"}, + {file = "matplotlib-3.9.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e6eefae6effa0c35bbbc18c25ee6e0b1da44d2359c3cd526eb0c9e703cf055d"}, + {file = "matplotlib-3.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10d3e5c7a99bd28afb957e1ae661323b0800d75b419f24d041ed1cc5d844a764"}, + {file = "matplotlib-3.9.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:816a966d5d376bf24c92af8f379e78e67278833e4c7cbc9fa41872eec629a060"}, + {file = "matplotlib-3.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fb0b37c896172899a4a93d9442ffdc6f870165f59e05ce2e07c6fded1c15749"}, + {file = "matplotlib-3.9.3-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5f2a4ea08e6876206d511365b0bc234edc813d90b930be72c3011bbd7898796f"}, + {file = "matplotlib-3.9.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:9b081dac96ab19c54fd8558fac17c9d2c9cb5cc4656e7ed3261ddc927ba3e2c5"}, + {file = "matplotlib-3.9.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a0a63cb8404d1d1f94968ef35738900038137dab8af836b6c21bb6f03d75465"}, + {file = "matplotlib-3.9.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:896774766fd6be4571a43bc2fcbcb1dcca0807e53cab4a5bf88c4aa861a08e12"}, + {file = "matplotlib-3.9.3.tar.gz", hash = "sha256:cd5dbbc8e25cad5f706845c4d100e2c8b34691b412b93717ce38d8ae803bcfa5"}, ] [package.dependencies] @@ -2954,7 +3303,7 @@ pyparsing = ">=2.3.1" python-dateutil = ">=2.7" [package.extras] -dev = ["meson-python (>=0.13.1)", "numpy (>=1.25)", "pybind11 (>=2.6)", "setuptools (>=64)", "setuptools_scm (>=7)"] +dev = ["meson-python (>=0.13.1)", "numpy (>=1.25)", "pybind11 (>=2.6,!=2.13.3)", "setuptools (>=64)", "setuptools_scm (>=7)"] [[package]] name = "matplotlib-inline" @@ -3042,13 +3391,13 @@ pyyaml = ">=5.1" [[package]] name = "mkdocs-material" -version = "9.5.44" +version = "9.5.48" description = "Documentation that simply works" optional = false python-versions = ">=3.8" files = [ - {file = "mkdocs_material-9.5.44-py3-none-any.whl", hash = "sha256:47015f9c167d58a5ff5e682da37441fc4d66a1c79334bfc08d774763cacf69ca"}, - {file = "mkdocs_material-9.5.44.tar.gz", hash = "sha256:f3a6c968e524166b3f3ed1fb97d3ed3e0091183b0545cedf7156a2a6804c56c0"}, + {file = "mkdocs_material-9.5.48-py3-none-any.whl", hash = "sha256:b695c998f4b939ce748adbc0d3bff73fa886a670ece948cf27818fa115dc16f8"}, + {file = "mkdocs_material-9.5.48.tar.gz", hash = "sha256:a582531e8b34f4c7ed38c29d5c44763053832cf2a32f7409567e0c74749a47db"}, ] [package.dependencies] @@ -3120,13 +3469,13 @@ tests = ["coverage", "pytest"] [[package]] name = "nbclient" -version = "0.10.0" +version = "0.10.1" description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor." optional = false python-versions = ">=3.8.0" files = [ - {file = "nbclient-0.10.0-py3-none-any.whl", hash = "sha256:f13e3529332a1f1f81d82a53210322476a168bb7090a0289c795fe9cc11c9d3f"}, - {file = "nbclient-0.10.0.tar.gz", hash = "sha256:4b3f1b7dba531e498449c4db4f53da339c91d449dc11e9af3a43b4eb5c5abb09"}, + {file = "nbclient-0.10.1-py3-none-any.whl", hash = "sha256:949019b9240d66897e442888cfb618f69ef23dc71c01cb5fced8499c2cfc084d"}, + {file = "nbclient-0.10.1.tar.gz", hash = "sha256:3e93e348ab27e712acd46fccd809139e356eb9a31aab641d1a7991a6eb4e6f68"}, ] [package.dependencies] @@ -3137,7 +3486,7 @@ traitlets = ">=5.4" [package.extras] dev = ["pre-commit"] -docs = ["autodoc-traits", "mock", "moto", "myst-parser", "nbclient[test]", "sphinx (>=1.7)", "sphinx-book-theme", "sphinxcontrib-spelling"] +docs = ["autodoc-traits", "flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "mock", "moto", "myst-parser", "nbconvert (>=7.0.0)", "pytest (>=7.0,<8)", "pytest-asyncio", "pytest-cov (>=4.0)", "sphinx (>=1.7)", "sphinx-book-theme", "sphinxcontrib-spelling", "testpath", "xmltodict"] test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>=7.0.0)", "pytest (>=7.0,<8)", "pytest-asyncio", "pytest-cov (>=4.0)", "testpath", "xmltodict"] [[package]] @@ -3251,26 +3600,26 @@ test = ["pytest (>=7.2)", "pytest-cov (>=4.0)"] [[package]] name = "notebook" -version = "7.0.7" +version = "7.3.1" description = "Jupyter Notebook - A web-based notebook environment for interactive computing" optional = false python-versions = ">=3.8" files = [ - {file = "notebook-7.0.7-py3-none-any.whl", hash = "sha256:289b606d7e173f75a18beb1406ef411b43f97f7a9c55ba03efa3622905a62346"}, - {file = "notebook-7.0.7.tar.gz", hash = "sha256:3bcff00c17b3ac142ef5f436d50637d936b274cfa0b41f6ac0175363de9b4e09"}, + {file = "notebook-7.3.1-py3-none-any.whl", hash = "sha256:212e1486b2230fe22279043f33c7db5cf9a01d29feb063a85cb139747b7c9483"}, + {file = "notebook-7.3.1.tar.gz", hash = "sha256:84381c2a82d867517fd25b86e986dae1fe113a70b98f03edff9b94e499fec8fa"}, ] [package.dependencies] jupyter-server = ">=2.4.0,<3" -jupyterlab = ">=4.0.2,<5" -jupyterlab-server = ">=2.22.1,<3" +jupyterlab = ">=4.3.2,<4.4" +jupyterlab-server = ">=2.27.1,<3" notebook-shim = ">=0.2,<0.3" tornado = ">=6.2.0" [package.extras] dev = ["hatch", "pre-commit"] docs = ["myst-parser", "nbsphinx", "pydata-sphinx-theme", "sphinx (>=1.3.6)", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] -test = ["importlib-resources (>=5.0)", "ipykernel", "jupyter-server[test] (>=2.4.0,<3)", "jupyterlab-server[test] (>=2.22.1,<3)", "nbval", "pytest (>=7.0)", "pytest-console-scripts", "pytest-timeout", "pytest-tornasync", "requests"] +test = ["importlib-resources (>=5.0)", "ipykernel", "jupyter-server[test] (>=2.4.0,<3)", "jupyterlab-server[test] (>=2.27.1,<3)", "nbval", "pytest (>=7.0)", "pytest-console-scripts", "pytest-timeout", "pytest-tornasync", "requests"] [[package]] name = "notebook-shim" @@ -3345,13 +3694,13 @@ files = [ [[package]] name = "oaklib" -version = "0.5.33" +version = "0.6.18" description = "Ontology Access Kit: Python library for common ontology operations over a variety of backends" optional = false python-versions = "<4.0.0,>=3.9" files = [ - {file = "oaklib-0.5.33-py3-none-any.whl", hash = "sha256:c24a566277213b69fb8e78c041518e601f1587b0f556d60acdd23100235845f3"}, - {file = "oaklib-0.5.33.tar.gz", hash = "sha256:f3b4724583f6e4c572480c955f79182bfa30edca96b528b82102443b17c317f8"}, + {file = "oaklib-0.6.18-py3-none-any.whl", hash = "sha256:90a8fbded82c618aedafd0ff9b13312769801dd354b42daf7bb1a08ad81b437d"}, + {file = "oaklib-0.6.18.tar.gz", hash = "sha256:8ea471b8c5c37a3b51ea0bab2ce97b68630a9d0c7009c166735a0f7bd5ab8ae1"}, ] [package.dependencies] @@ -3360,14 +3709,15 @@ appdirs = ">=1.4.4" class-resolver = ">=0.4.2" click = "*" curies = ">=0.6.6" +defusedxml = ">=0.7.1" eutils = ">=0.6.0" funowl = ">=0.2.0" -jsonlines = ">=4.0.0,<5.0.0" +jsonlines = "*" kgcl-rdflib = "0.5.0" -kgcl-schema = ">=0.6.5,<0.7.0" +kgcl-schema = ">=0.6.9,<0.7.0" linkml-renderer = ">=0.3.0" linkml-runtime = ">=1.5.3" -ndex2 = ">=3.5.0,<4.0.0" +ndex2 = ">=3.5.0" networkx = ">=2.7.1" ols-client = ">=0.1.1" ontoportal-client = ">=0.0.3" @@ -3382,12 +3732,12 @@ semsql = ">=0.3.1" SPARQLWrapper = "*" SQLAlchemy = ">=1.4.32" sssom = ">=0.4.4,<0.5.0" -tenacity = ">=8.2.3,<9.0.0" +tenacity = ">=8.2.3" [package.extras] gilda = ["gilda (>=1.0.0)", "urllib3 (<2)"] -llm = ["aiohttp", "llm"] -semsimian = ["semsimian (>=0.2.15)"] +llm = ["aiohttp", "html2text", "llm (>=0.14,<0.15)"] +semsimian = ["semsimian (>=0.2.18)"] [[package]] name = "oauthlib" @@ -3550,9 +3900,9 @@ files = [ [package.dependencies] numpy = [ + {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, {version = ">=1.22.4", markers = "python_version < \"3.11\""}, {version = ">=1.23.2", markers = "python_version == \"3.11\""}, - {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, ] python-dateutil = ">=2.8.2" pytz = ">=2020.1" @@ -3844,13 +4194,13 @@ pyyaml = ">=5.3.1" [[package]] name = "prometheus-client" -version = "0.21.0" +version = "0.21.1" description = "Python client for the Prometheus monitoring system." optional = false python-versions = ">=3.8" files = [ - {file = "prometheus_client-0.21.0-py3-none-any.whl", hash = "sha256:4fa6b4dd0ac16d58bb587c04b1caae65b8c5043e85f778f42f5f632f6af2e166"}, - {file = "prometheus_client-0.21.0.tar.gz", hash = "sha256:96c83c606b71ff2b0a433c98889d275f51ffec6c5e267de37c7a2b5c9aa9233e"}, + {file = "prometheus_client-0.21.1-py3-none-any.whl", hash = "sha256:594b45c410d6f4f8888940fe80b5cc2521b305a1fafe1c58609ef715a001f301"}, + {file = "prometheus_client-0.21.1.tar.gz", hash = "sha256:252505a722ac04b0456be05c05f75f45d760c2911ffc45f2a06bcaed9f3ae3fb"}, ] [package.extras] @@ -3906,22 +4256,22 @@ testing = ["google-api-core (>=1.31.5)"] [[package]] name = "protobuf" -version = "5.28.3" +version = "5.29.1" description = "" optional = false python-versions = ">=3.8" files = [ - {file = "protobuf-5.28.3-cp310-abi3-win32.whl", hash = "sha256:0c4eec6f987338617072592b97943fdbe30d019c56126493111cf24344c1cc24"}, - {file = "protobuf-5.28.3-cp310-abi3-win_amd64.whl", hash = "sha256:91fba8f445723fcf400fdbe9ca796b19d3b1242cd873907979b9ed71e4afe868"}, - {file = "protobuf-5.28.3-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:a3f6857551e53ce35e60b403b8a27b0295f7d6eb63d10484f12bc6879c715687"}, - {file = "protobuf-5.28.3-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:3fa2de6b8b29d12c61911505d893afe7320ce7ccba4df913e2971461fa36d584"}, - {file = "protobuf-5.28.3-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:712319fbdddb46f21abb66cd33cb9e491a5763b2febd8f228251add221981135"}, - {file = "protobuf-5.28.3-cp38-cp38-win32.whl", hash = "sha256:3e6101d095dfd119513cde7259aa703d16c6bbdfae2554dfe5cfdbe94e32d548"}, - {file = "protobuf-5.28.3-cp38-cp38-win_amd64.whl", hash = "sha256:27b246b3723692bf1068d5734ddaf2fccc2cdd6e0c9b47fe099244d80200593b"}, - {file = "protobuf-5.28.3-cp39-cp39-win32.whl", hash = "sha256:135658402f71bbd49500322c0f736145731b16fc79dc8f367ab544a17eab4535"}, - {file = "protobuf-5.28.3-cp39-cp39-win_amd64.whl", hash = "sha256:70585a70fc2dd4818c51287ceef5bdba6387f88a578c86d47bb34669b5552c36"}, - {file = "protobuf-5.28.3-py3-none-any.whl", hash = "sha256:cee1757663fa32a1ee673434fcf3bf24dd54763c79690201208bafec62f19eed"}, - {file = "protobuf-5.28.3.tar.gz", hash = "sha256:64badbc49180a5e401f373f9ce7ab1d18b63f7dd4a9cdc43c92b9f0b481cef7b"}, + {file = "protobuf-5.29.1-cp310-abi3-win32.whl", hash = "sha256:22c1f539024241ee545cbcb00ee160ad1877975690b16656ff87dde107b5f110"}, + {file = "protobuf-5.29.1-cp310-abi3-win_amd64.whl", hash = "sha256:1fc55267f086dd4050d18ef839d7bd69300d0d08c2a53ca7df3920cc271a3c34"}, + {file = "protobuf-5.29.1-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:d473655e29c0c4bbf8b69e9a8fb54645bc289dead6d753b952e7aa660254ae18"}, + {file = "protobuf-5.29.1-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:b5ba1d0e4c8a40ae0496d0e2ecfdbb82e1776928a205106d14ad6985a09ec155"}, + {file = "protobuf-5.29.1-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:8ee1461b3af56145aca2800e6a3e2f928108c749ba8feccc6f5dd0062c410c0d"}, + {file = "protobuf-5.29.1-cp38-cp38-win32.whl", hash = "sha256:50879eb0eb1246e3a5eabbbe566b44b10348939b7cc1b267567e8c3d07213853"}, + {file = "protobuf-5.29.1-cp38-cp38-win_amd64.whl", hash = "sha256:027fbcc48cea65a6b17028510fdd054147057fa78f4772eb547b9274e5219331"}, + {file = "protobuf-5.29.1-cp39-cp39-win32.whl", hash = "sha256:5a41deccfa5e745cef5c65a560c76ec0ed8e70908a67cc8f4da5fce588b50d57"}, + {file = "protobuf-5.29.1-cp39-cp39-win_amd64.whl", hash = "sha256:012ce28d862ff417fd629285aca5d9772807f15ceb1a0dbd15b88f58c776c98c"}, + {file = "protobuf-5.29.1-py3-none-any.whl", hash = "sha256:32600ddb9c2a53dedc25b8581ea0f1fd8ea04956373c0c07577ce58d312522e0"}, + {file = "protobuf-5.29.1.tar.gz", hash = "sha256:683be02ca21a6ffe80db6dd02c0b5b2892322c59ca57fd6c872d652cb80549cb"}, ] [[package]] @@ -3979,6 +4329,60 @@ files = [ [package.extras] tests = ["pytest"] +[[package]] +name = "pyarrow" +version = "18.1.0" +description = "Python library for Apache Arrow" +optional = false +python-versions = ">=3.9" +files = [ + {file = "pyarrow-18.1.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:e21488d5cfd3d8b500b3238a6c4b075efabc18f0f6d80b29239737ebd69caa6c"}, + {file = "pyarrow-18.1.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:b516dad76f258a702f7ca0250885fc93d1fa5ac13ad51258e39d402bd9e2e1e4"}, + {file = "pyarrow-18.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f443122c8e31f4c9199cb23dca29ab9427cef990f283f80fe15b8e124bcc49b"}, + {file = "pyarrow-18.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0a03da7f2758645d17b7b4f83c8bffeae5bbb7f974523fe901f36288d2eab71"}, + {file = "pyarrow-18.1.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:ba17845efe3aa358ec266cf9cc2800fa73038211fb27968bfa88acd09261a470"}, + {file = "pyarrow-18.1.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:3c35813c11a059056a22a3bef520461310f2f7eea5c8a11ef9de7062a23f8d56"}, + {file = "pyarrow-18.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:9736ba3c85129d72aefa21b4f3bd715bc4190fe4426715abfff90481e7d00812"}, + {file = "pyarrow-18.1.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:eaeabf638408de2772ce3d7793b2668d4bb93807deed1725413b70e3156a7854"}, + {file = "pyarrow-18.1.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:3b2e2239339c538f3464308fd345113f886ad031ef8266c6f004d49769bb074c"}, + {file = "pyarrow-18.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f39a2e0ed32a0970e4e46c262753417a60c43a3246972cfc2d3eb85aedd01b21"}, + {file = "pyarrow-18.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e31e9417ba9c42627574bdbfeada7217ad8a4cbbe45b9d6bdd4b62abbca4c6f6"}, + {file = "pyarrow-18.1.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:01c034b576ce0eef554f7c3d8c341714954be9b3f5d5bc7117006b85fcf302fe"}, + {file = "pyarrow-18.1.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:f266a2c0fc31995a06ebd30bcfdb7f615d7278035ec5b1cd71c48d56daaf30b0"}, + {file = "pyarrow-18.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:d4f13eee18433f99adefaeb7e01d83b59f73360c231d4782d9ddfaf1c3fbde0a"}, + {file = "pyarrow-18.1.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:9f3a76670b263dc41d0ae877f09124ab96ce10e4e48f3e3e4257273cee61ad0d"}, + {file = "pyarrow-18.1.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:da31fbca07c435be88a0c321402c4e31a2ba61593ec7473630769de8346b54ee"}, + {file = "pyarrow-18.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:543ad8459bc438efc46d29a759e1079436290bd583141384c6f7a1068ed6f992"}, + {file = "pyarrow-18.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0743e503c55be0fdb5c08e7d44853da27f19dc854531c0570f9f394ec9671d54"}, + {file = "pyarrow-18.1.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:d4b3d2a34780645bed6414e22dda55a92e0fcd1b8a637fba86800ad737057e33"}, + {file = "pyarrow-18.1.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:c52f81aa6f6575058d8e2c782bf79d4f9fdc89887f16825ec3a66607a5dd8e30"}, + {file = "pyarrow-18.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:0ad4892617e1a6c7a551cfc827e072a633eaff758fa09f21c4ee548c30bcaf99"}, + {file = "pyarrow-18.1.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:84e314d22231357d473eabec709d0ba285fa706a72377f9cc8e1cb3c8013813b"}, + {file = "pyarrow-18.1.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:f591704ac05dfd0477bb8f8e0bd4b5dc52c1cadf50503858dce3a15db6e46ff2"}, + {file = "pyarrow-18.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:acb7564204d3c40babf93a05624fc6a8ec1ab1def295c363afc40b0c9e66c191"}, + {file = "pyarrow-18.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:74de649d1d2ccb778f7c3afff6085bd5092aed4c23df9feeb45dd6b16f3811aa"}, + {file = "pyarrow-18.1.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:f96bd502cb11abb08efea6dab09c003305161cb6c9eafd432e35e76e7fa9b90c"}, + {file = "pyarrow-18.1.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:36ac22d7782554754a3b50201b607d553a8d71b78cdf03b33c1125be4b52397c"}, + {file = "pyarrow-18.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:25dbacab8c5952df0ca6ca0af28f50d45bd31c1ff6fcf79e2d120b4a65ee7181"}, + {file = "pyarrow-18.1.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:6a276190309aba7bc9d5bd2933230458b3521a4317acfefe69a354f2fe59f2bc"}, + {file = "pyarrow-18.1.0-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:ad514dbfcffe30124ce655d72771ae070f30bf850b48bc4d9d3b25993ee0e386"}, + {file = "pyarrow-18.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aebc13a11ed3032d8dd6e7171eb6e86d40d67a5639d96c35142bd568b9299324"}, + {file = "pyarrow-18.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d6cf5c05f3cee251d80e98726b5c7cc9f21bab9e9783673bac58e6dfab57ecc8"}, + {file = "pyarrow-18.1.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:11b676cd410cf162d3f6a70b43fb9e1e40affbc542a1e9ed3681895f2962d3d9"}, + {file = "pyarrow-18.1.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:b76130d835261b38f14fc41fdfb39ad8d672afb84c447126b84d5472244cfaba"}, + {file = "pyarrow-18.1.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:0b331e477e40f07238adc7ba7469c36b908f07c89b95dd4bd3a0ec84a3d1e21e"}, + {file = "pyarrow-18.1.0-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:2c4dd0c9010a25ba03e198fe743b1cc03cd33c08190afff371749c52ccbbaf76"}, + {file = "pyarrow-18.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f97b31b4c4e21ff58c6f330235ff893cc81e23da081b1a4b1c982075e0ed4e9"}, + {file = "pyarrow-18.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a4813cb8ecf1809871fd2d64a8eff740a1bd3691bbe55f01a3cf6c5ec869754"}, + {file = "pyarrow-18.1.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:05a5636ec3eb5cc2a36c6edb534a38ef57b2ab127292a716d00eabb887835f1e"}, + {file = "pyarrow-18.1.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:73eeed32e724ea3568bb06161cad5fa7751e45bc2228e33dcb10c614044165c7"}, + {file = "pyarrow-18.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:a1880dd6772b685e803011a6b43a230c23b566859a6e0c9a276c1e0faf4f4052"}, + {file = "pyarrow-18.1.0.tar.gz", hash = "sha256:9386d3ca9c145b5539a1cfc75df07757dff870168c959b473a0bccbc3abc8c73"}, +] + +[package.extras] +test = ["cffi", "hypothesis", "pandas", "pytest", "pytz"] + [[package]] name = "pyasn1" version = "0.6.1" @@ -4017,22 +4421,19 @@ files = [ [[package]] name = "pydantic" -version = "2.9.2" +version = "2.10.3" description = "Data validation using Python type hints" optional = false python-versions = ">=3.8" files = [ - {file = "pydantic-2.9.2-py3-none-any.whl", hash = "sha256:f048cec7b26778210e28a0459867920654d48e5e62db0958433636cde4254f12"}, - {file = "pydantic-2.9.2.tar.gz", hash = "sha256:d155cef71265d1e9807ed1c32b4c8deec042a44a50a4188b25ac67ecd81a9c0f"}, + {file = "pydantic-2.10.3-py3-none-any.whl", hash = "sha256:be04d85bbc7b65651c5f8e6b9976ed9c6f41782a55524cef079a34a0bb82144d"}, + {file = "pydantic-2.10.3.tar.gz", hash = "sha256:cb5ac360ce894ceacd69c403187900a02c4b20b693a9dd1d643e1effab9eadf9"}, ] [package.dependencies] annotated-types = ">=0.6.0" -pydantic-core = "2.23.4" -typing-extensions = [ - {version = ">=4.6.1", markers = "python_version < \"3.13\""}, - {version = ">=4.12.2", markers = "python_version >= \"3.13\""}, -] +pydantic-core = "2.27.1" +typing-extensions = ">=4.12.2" [package.extras] email = ["email-validator (>=2.0.0)"] @@ -4040,100 +4441,111 @@ timezone = ["tzdata"] [[package]] name = "pydantic-core" -version = "2.23.4" +version = "2.27.1" description = "Core functionality for Pydantic validation and serialization" optional = false python-versions = ">=3.8" files = [ - {file = "pydantic_core-2.23.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:b10bd51f823d891193d4717448fab065733958bdb6a6b351967bd349d48d5c9b"}, - {file = "pydantic_core-2.23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4fc714bdbfb534f94034efaa6eadd74e5b93c8fa6315565a222f7b6f42ca1166"}, - {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63e46b3169866bd62849936de036f901a9356e36376079b05efa83caeaa02ceb"}, - {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ed1a53de42fbe34853ba90513cea21673481cd81ed1be739f7f2efb931b24916"}, - {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cfdd16ab5e59fc31b5e906d1a3f666571abc367598e3e02c83403acabc092e07"}, - {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:255a8ef062cbf6674450e668482456abac99a5583bbafb73f9ad469540a3a232"}, - {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a7cd62e831afe623fbb7aabbb4fe583212115b3ef38a9f6b71869ba644624a2"}, - {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f09e2ff1f17c2b51f2bc76d1cc33da96298f0a036a137f5440ab3ec5360b624f"}, - {file = "pydantic_core-2.23.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e38e63e6f3d1cec5a27e0afe90a085af8b6806ee208b33030e65b6516353f1a3"}, - {file = "pydantic_core-2.23.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0dbd8dbed2085ed23b5c04afa29d8fd2771674223135dc9bc937f3c09284d071"}, - {file = "pydantic_core-2.23.4-cp310-none-win32.whl", hash = "sha256:6531b7ca5f951d663c339002e91aaebda765ec7d61b7d1e3991051906ddde119"}, - {file = "pydantic_core-2.23.4-cp310-none-win_amd64.whl", hash = "sha256:7c9129eb40958b3d4500fa2467e6a83356b3b61bfff1b414c7361d9220f9ae8f"}, - {file = "pydantic_core-2.23.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:77733e3892bb0a7fa797826361ce8a9184d25c8dffaec60b7ffe928153680ba8"}, - {file = "pydantic_core-2.23.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b84d168f6c48fabd1f2027a3d1bdfe62f92cade1fb273a5d68e621da0e44e6d"}, - {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df49e7a0861a8c36d089c1ed57d308623d60416dab2647a4a17fe050ba85de0e"}, - {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ff02b6d461a6de369f07ec15e465a88895f3223eb75073ffea56b84d9331f607"}, - {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:996a38a83508c54c78a5f41456b0103c30508fed9abcad0a59b876d7398f25fd"}, - {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d97683ddee4723ae8c95d1eddac7c192e8c552da0c73a925a89fa8649bf13eea"}, - {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:216f9b2d7713eb98cb83c80b9c794de1f6b7e3145eef40400c62e86cee5f4e1e"}, - {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6f783e0ec4803c787bcea93e13e9932edab72068f68ecffdf86a99fd5918878b"}, - {file = "pydantic_core-2.23.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d0776dea117cf5272382634bd2a5c1b6eb16767c223c6a5317cd3e2a757c61a0"}, - {file = "pydantic_core-2.23.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d5f7a395a8cf1621939692dba2a6b6a830efa6b3cee787d82c7de1ad2930de64"}, - {file = "pydantic_core-2.23.4-cp311-none-win32.whl", hash = "sha256:74b9127ffea03643e998e0c5ad9bd3811d3dac8c676e47db17b0ee7c3c3bf35f"}, - {file = "pydantic_core-2.23.4-cp311-none-win_amd64.whl", hash = "sha256:98d134c954828488b153d88ba1f34e14259284f256180ce659e8d83e9c05eaa3"}, - {file = "pydantic_core-2.23.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:f3e0da4ebaef65158d4dfd7d3678aad692f7666877df0002b8a522cdf088f231"}, - {file = "pydantic_core-2.23.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f69a8e0b033b747bb3e36a44e7732f0c99f7edd5cea723d45bc0d6e95377ffee"}, - {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:723314c1d51722ab28bfcd5240d858512ffd3116449c557a1336cbe3919beb87"}, - {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bb2802e667b7051a1bebbfe93684841cc9351004e2badbd6411bf357ab8d5ac8"}, - {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d18ca8148bebe1b0a382a27a8ee60350091a6ddaf475fa05ef50dc35b5df6327"}, - {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33e3d65a85a2a4a0dc3b092b938a4062b1a05f3a9abde65ea93b233bca0e03f2"}, - {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:128585782e5bfa515c590ccee4b727fb76925dd04a98864182b22e89a4e6ed36"}, - {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:68665f4c17edcceecc112dfed5dbe6f92261fb9d6054b47d01bf6371a6196126"}, - {file = "pydantic_core-2.23.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:20152074317d9bed6b7a95ade3b7d6054845d70584216160860425f4fbd5ee9e"}, - {file = "pydantic_core-2.23.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9261d3ce84fa1d38ed649c3638feefeae23d32ba9182963e465d58d62203bd24"}, - {file = "pydantic_core-2.23.4-cp312-none-win32.whl", hash = "sha256:4ba762ed58e8d68657fc1281e9bb72e1c3e79cc5d464be146e260c541ec12d84"}, - {file = "pydantic_core-2.23.4-cp312-none-win_amd64.whl", hash = "sha256:97df63000f4fea395b2824da80e169731088656d1818a11b95f3b173747b6cd9"}, - {file = "pydantic_core-2.23.4-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7530e201d10d7d14abce4fb54cfe5b94a0aefc87da539d0346a484ead376c3cc"}, - {file = "pydantic_core-2.23.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:df933278128ea1cd77772673c73954e53a1c95a4fdf41eef97c2b779271bd0bd"}, - {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cb3da3fd1b6a5d0279a01877713dbda118a2a4fc6f0d821a57da2e464793f05"}, - {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42c6dcb030aefb668a2b7009c85b27f90e51e6a3b4d5c9bc4c57631292015b0d"}, - {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:696dd8d674d6ce621ab9d45b205df149399e4bb9aa34102c970b721554828510"}, - {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2971bb5ffe72cc0f555c13e19b23c85b654dd2a8f7ab493c262071377bfce9f6"}, - {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8394d940e5d400d04cad4f75c0598665cbb81aecefaca82ca85bd28264af7f9b"}, - {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0dff76e0602ca7d4cdaacc1ac4c005e0ce0dcfe095d5b5259163a80d3a10d327"}, - {file = "pydantic_core-2.23.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7d32706badfe136888bdea71c0def994644e09fff0bfe47441deaed8e96fdbc6"}, - {file = "pydantic_core-2.23.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ed541d70698978a20eb63d8c5d72f2cc6d7079d9d90f6b50bad07826f1320f5f"}, - {file = "pydantic_core-2.23.4-cp313-none-win32.whl", hash = "sha256:3d5639516376dce1940ea36edf408c554475369f5da2abd45d44621cb616f769"}, - {file = "pydantic_core-2.23.4-cp313-none-win_amd64.whl", hash = "sha256:5a1504ad17ba4210df3a045132a7baeeba5a200e930f57512ee02909fc5c4cb5"}, - {file = "pydantic_core-2.23.4-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d4488a93b071c04dc20f5cecc3631fc78b9789dd72483ba15d423b5b3689b555"}, - {file = "pydantic_core-2.23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:81965a16b675b35e1d09dd14df53f190f9129c0202356ed44ab2728b1c905658"}, - {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ffa2ebd4c8530079140dd2d7f794a9d9a73cbb8e9d59ffe24c63436efa8f271"}, - {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:61817945f2fe7d166e75fbfb28004034b48e44878177fc54d81688e7b85a3665"}, - {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:29d2c342c4bc01b88402d60189f3df065fb0dda3654744d5a165a5288a657368"}, - {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5e11661ce0fd30a6790e8bcdf263b9ec5988e95e63cf901972107efc49218b13"}, - {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d18368b137c6295db49ce7218b1a9ba15c5bc254c96d7c9f9e924a9bc7825ad"}, - {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ec4e55f79b1c4ffb2eecd8a0cfba9955a2588497d96851f4c8f99aa4a1d39b12"}, - {file = "pydantic_core-2.23.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:374a5e5049eda9e0a44c696c7ade3ff355f06b1fe0bb945ea3cac2bc336478a2"}, - {file = "pydantic_core-2.23.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5c364564d17da23db1106787675fc7af45f2f7b58b4173bfdd105564e132e6fb"}, - {file = "pydantic_core-2.23.4-cp38-none-win32.whl", hash = "sha256:d7a80d21d613eec45e3d41eb22f8f94ddc758a6c4720842dc74c0581f54993d6"}, - {file = "pydantic_core-2.23.4-cp38-none-win_amd64.whl", hash = "sha256:5f5ff8d839f4566a474a969508fe1c5e59c31c80d9e140566f9a37bba7b8d556"}, - {file = "pydantic_core-2.23.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:a4fa4fc04dff799089689f4fd502ce7d59de529fc2f40a2c8836886c03e0175a"}, - {file = "pydantic_core-2.23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0a7df63886be5e270da67e0966cf4afbae86069501d35c8c1b3b6c168f42cb36"}, - {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dcedcd19a557e182628afa1d553c3895a9f825b936415d0dbd3cd0bbcfd29b4b"}, - {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f54b118ce5de9ac21c363d9b3caa6c800341e8c47a508787e5868c6b79c9323"}, - {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86d2f57d3e1379a9525c5ab067b27dbb8a0642fb5d454e17a9ac434f9ce523e3"}, - {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:de6d1d1b9e5101508cb37ab0d972357cac5235f5c6533d1071964c47139257df"}, - {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1278e0d324f6908e872730c9102b0112477a7f7cf88b308e4fc36ce1bdb6d58c"}, - {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9a6b5099eeec78827553827f4c6b8615978bb4b6a88e5d9b93eddf8bb6790f55"}, - {file = "pydantic_core-2.23.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e55541f756f9b3ee346b840103f32779c695a19826a4c442b7954550a0972040"}, - {file = "pydantic_core-2.23.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a5c7ba8ffb6d6f8f2ab08743be203654bb1aaa8c9dcb09f82ddd34eadb695605"}, - {file = "pydantic_core-2.23.4-cp39-none-win32.whl", hash = "sha256:37b0fe330e4a58d3c58b24d91d1eb102aeec675a3db4c292ec3928ecd892a9a6"}, - {file = "pydantic_core-2.23.4-cp39-none-win_amd64.whl", hash = "sha256:1498bec4c05c9c787bde9125cfdcc63a41004ff167f495063191b863399b1a29"}, - {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f455ee30a9d61d3e1a15abd5068827773d6e4dc513e795f380cdd59932c782d5"}, - {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1e90d2e3bd2c3863d48525d297cd143fe541be8bbf6f579504b9712cb6b643ec"}, - {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e203fdf807ac7e12ab59ca2bfcabb38c7cf0b33c41efeb00f8e5da1d86af480"}, - {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e08277a400de01bc72436a0ccd02bdf596631411f592ad985dcee21445bd0068"}, - {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f220b0eea5965dec25480b6333c788fb72ce5f9129e8759ef876a1d805d00801"}, - {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d06b0c8da4f16d1d1e352134427cb194a0a6e19ad5db9161bf32b2113409e728"}, - {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:ba1a0996f6c2773bd83e63f18914c1de3c9dd26d55f4ac302a7efe93fb8e7433"}, - {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:9a5bce9d23aac8f0cf0836ecfc033896aa8443b501c58d0602dbfd5bd5b37753"}, - {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:78ddaaa81421a29574a682b3179d4cf9e6d405a09b99d93ddcf7e5239c742e21"}, - {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:883a91b5dd7d26492ff2f04f40fbb652de40fcc0afe07e8129e8ae779c2110eb"}, - {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88ad334a15b32a791ea935af224b9de1bf99bcd62fabf745d5f3442199d86d59"}, - {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:233710f069d251feb12a56da21e14cca67994eab08362207785cf8c598e74577"}, - {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:19442362866a753485ba5e4be408964644dd6a09123d9416c54cd49171f50744"}, - {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:624e278a7d29b6445e4e813af92af37820fafb6dcc55c012c834f9e26f9aaaef"}, - {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f5ef8f42bec47f21d07668a043f077d507e5bf4e668d5c6dfe6aaba89de1a5b8"}, - {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:aea443fffa9fbe3af1a9ba721a87f926fe548d32cab71d188a6ede77d0ff244e"}, - {file = "pydantic_core-2.23.4.tar.gz", hash = "sha256:2584f7cf844ac4d970fba483a717dbe10c1c1c96a969bf65d61ffe94df1b2863"}, + {file = "pydantic_core-2.27.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:71a5e35c75c021aaf400ac048dacc855f000bdfed91614b4a726f7432f1f3d6a"}, + {file = "pydantic_core-2.27.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f82d068a2d6ecfc6e054726080af69a6764a10015467d7d7b9f66d6ed5afa23b"}, + {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:121ceb0e822f79163dd4699e4c54f5ad38b157084d97b34de8b232bcaad70278"}, + {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4603137322c18eaf2e06a4495f426aa8d8388940f3c457e7548145011bb68e05"}, + {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a33cd6ad9017bbeaa9ed78a2e0752c5e250eafb9534f308e7a5f7849b0b1bfb4"}, + {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15cc53a3179ba0fcefe1e3ae50beb2784dede4003ad2dfd24f81bba4b23a454f"}, + {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45d9c5eb9273aa50999ad6adc6be5e0ecea7e09dbd0d31bd0c65a55a2592ca08"}, + {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8bf7b66ce12a2ac52d16f776b31d16d91033150266eb796967a7e4621707e4f6"}, + {file = "pydantic_core-2.27.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:655d7dd86f26cb15ce8a431036f66ce0318648f8853d709b4167786ec2fa4807"}, + {file = "pydantic_core-2.27.1-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:5556470f1a2157031e676f776c2bc20acd34c1990ca5f7e56f1ebf938b9ab57c"}, + {file = "pydantic_core-2.27.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f69ed81ab24d5a3bd93861c8c4436f54afdf8e8cc421562b0c7504cf3be58206"}, + {file = "pydantic_core-2.27.1-cp310-none-win32.whl", hash = "sha256:f5a823165e6d04ccea61a9f0576f345f8ce40ed533013580e087bd4d7442b52c"}, + {file = "pydantic_core-2.27.1-cp310-none-win_amd64.whl", hash = "sha256:57866a76e0b3823e0b56692d1a0bf722bffb324839bb5b7226a7dbd6c9a40b17"}, + {file = "pydantic_core-2.27.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:ac3b20653bdbe160febbea8aa6c079d3df19310d50ac314911ed8cc4eb7f8cb8"}, + {file = "pydantic_core-2.27.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a5a8e19d7c707c4cadb8c18f5f60c843052ae83c20fa7d44f41594c644a1d330"}, + {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f7059ca8d64fea7f238994c97d91f75965216bcbe5f695bb44f354893f11d52"}, + {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bed0f8a0eeea9fb72937ba118f9db0cb7e90773462af7962d382445f3005e5a4"}, + {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a3cb37038123447cf0f3ea4c74751f6a9d7afef0eb71aa07bf5f652b5e6a132c"}, + {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:84286494f6c5d05243456e04223d5a9417d7f443c3b76065e75001beb26f88de"}, + {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:acc07b2cfc5b835444b44a9956846b578d27beeacd4b52e45489e93276241025"}, + {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4fefee876e07a6e9aad7a8c8c9f85b0cdbe7df52b8a9552307b09050f7512c7e"}, + {file = "pydantic_core-2.27.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:258c57abf1188926c774a4c94dd29237e77eda19462e5bb901d88adcab6af919"}, + {file = "pydantic_core-2.27.1-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:35c14ac45fcfdf7167ca76cc80b2001205a8d5d16d80524e13508371fb8cdd9c"}, + {file = "pydantic_core-2.27.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d1b26e1dff225c31897696cab7d4f0a315d4c0d9e8666dbffdb28216f3b17fdc"}, + {file = "pydantic_core-2.27.1-cp311-none-win32.whl", hash = "sha256:2cdf7d86886bc6982354862204ae3b2f7f96f21a3eb0ba5ca0ac42c7b38598b9"}, + {file = "pydantic_core-2.27.1-cp311-none-win_amd64.whl", hash = "sha256:3af385b0cee8df3746c3f406f38bcbfdc9041b5c2d5ce3e5fc6637256e60bbc5"}, + {file = "pydantic_core-2.27.1-cp311-none-win_arm64.whl", hash = "sha256:81f2ec23ddc1b476ff96563f2e8d723830b06dceae348ce02914a37cb4e74b89"}, + {file = "pydantic_core-2.27.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9cbd94fc661d2bab2bc702cddd2d3370bbdcc4cd0f8f57488a81bcce90c7a54f"}, + {file = "pydantic_core-2.27.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5f8c4718cd44ec1580e180cb739713ecda2bdee1341084c1467802a417fe0f02"}, + {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15aae984e46de8d376df515f00450d1522077254ef6b7ce189b38ecee7c9677c"}, + {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1ba5e3963344ff25fc8c40da90f44b0afca8cfd89d12964feb79ac1411a260ac"}, + {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:992cea5f4f3b29d6b4f7f1726ed8ee46c8331c6b4eed6db5b40134c6fe1768bb"}, + {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0325336f348dbee6550d129b1627cb8f5351a9dc91aad141ffb96d4937bd9529"}, + {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7597c07fbd11515f654d6ece3d0e4e5093edc30a436c63142d9a4b8e22f19c35"}, + {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3bbd5d8cc692616d5ef6fbbbd50dbec142c7e6ad9beb66b78a96e9c16729b089"}, + {file = "pydantic_core-2.27.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:dc61505e73298a84a2f317255fcc72b710b72980f3a1f670447a21efc88f8381"}, + {file = "pydantic_core-2.27.1-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:e1f735dc43da318cad19b4173dd1ffce1d84aafd6c9b782b3abc04a0d5a6f5bb"}, + {file = "pydantic_core-2.27.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f4e5658dbffe8843a0f12366a4c2d1c316dbe09bb4dfbdc9d2d9cd6031de8aae"}, + {file = "pydantic_core-2.27.1-cp312-none-win32.whl", hash = "sha256:672ebbe820bb37988c4d136eca2652ee114992d5d41c7e4858cdd90ea94ffe5c"}, + {file = "pydantic_core-2.27.1-cp312-none-win_amd64.whl", hash = "sha256:66ff044fd0bb1768688aecbe28b6190f6e799349221fb0de0e6f4048eca14c16"}, + {file = "pydantic_core-2.27.1-cp312-none-win_arm64.whl", hash = "sha256:9a3b0793b1bbfd4146304e23d90045f2a9b5fd5823aa682665fbdaf2a6c28f3e"}, + {file = "pydantic_core-2.27.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:f216dbce0e60e4d03e0c4353c7023b202d95cbaeff12e5fd2e82ea0a66905073"}, + {file = "pydantic_core-2.27.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a2e02889071850bbfd36b56fd6bc98945e23670773bc7a76657e90e6b6603c08"}, + {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42b0e23f119b2b456d07ca91b307ae167cc3f6c846a7b169fca5326e32fdc6cf"}, + {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:764be71193f87d460a03f1f7385a82e226639732214b402f9aa61f0d025f0737"}, + {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1c00666a3bd2f84920a4e94434f5974d7bbc57e461318d6bb34ce9cdbbc1f6b2"}, + {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ccaa88b24eebc0f849ce0a4d09e8a408ec5a94afff395eb69baf868f5183107"}, + {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c65af9088ac534313e1963443d0ec360bb2b9cba6c2909478d22c2e363d98a51"}, + {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:206b5cf6f0c513baffaeae7bd817717140770c74528f3e4c3e1cec7871ddd61a"}, + {file = "pydantic_core-2.27.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:062f60e512fc7fff8b8a9d680ff0ddaaef0193dba9fa83e679c0c5f5fbd018bc"}, + {file = "pydantic_core-2.27.1-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:a0697803ed7d4af5e4c1adf1670af078f8fcab7a86350e969f454daf598c4960"}, + {file = "pydantic_core-2.27.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:58ca98a950171f3151c603aeea9303ef6c235f692fe555e883591103da709b23"}, + {file = "pydantic_core-2.27.1-cp313-none-win32.whl", hash = "sha256:8065914ff79f7eab1599bd80406681f0ad08f8e47c880f17b416c9f8f7a26d05"}, + {file = "pydantic_core-2.27.1-cp313-none-win_amd64.whl", hash = "sha256:ba630d5e3db74c79300d9a5bdaaf6200172b107f263c98a0539eeecb857b2337"}, + {file = "pydantic_core-2.27.1-cp313-none-win_arm64.whl", hash = "sha256:45cf8588c066860b623cd11c4ba687f8d7175d5f7ef65f7129df8a394c502de5"}, + {file = "pydantic_core-2.27.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:5897bec80a09b4084aee23f9b73a9477a46c3304ad1d2d07acca19723fb1de62"}, + {file = "pydantic_core-2.27.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d0165ab2914379bd56908c02294ed8405c252250668ebcb438a55494c69f44ab"}, + {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b9af86e1d8e4cfc82c2022bfaa6f459381a50b94a29e95dcdda8442d6d83864"}, + {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f6c8a66741c5f5447e047ab0ba7a1c61d1e95580d64bce852e3df1f895c4067"}, + {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9a42d6a8156ff78981f8aa56eb6394114e0dedb217cf8b729f438f643608cbcd"}, + {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:64c65f40b4cd8b0e049a8edde07e38b476da7e3aaebe63287c899d2cff253fa5"}, + {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdcf339322a3fae5cbd504edcefddd5a50d9ee00d968696846f089b4432cf78"}, + {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bf99c8404f008750c846cb4ac4667b798a9f7de673ff719d705d9b2d6de49c5f"}, + {file = "pydantic_core-2.27.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:8f1edcea27918d748c7e5e4d917297b2a0ab80cad10f86631e488b7cddf76a36"}, + {file = "pydantic_core-2.27.1-cp38-cp38-musllinux_1_1_armv7l.whl", hash = "sha256:159cac0a3d096f79ab6a44d77a961917219707e2a130739c64d4dd46281f5c2a"}, + {file = "pydantic_core-2.27.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:029d9757eb621cc6e1848fa0b0310310de7301057f623985698ed7ebb014391b"}, + {file = "pydantic_core-2.27.1-cp38-none-win32.whl", hash = "sha256:a28af0695a45f7060e6f9b7092558a928a28553366519f64083c63a44f70e618"}, + {file = "pydantic_core-2.27.1-cp38-none-win_amd64.whl", hash = "sha256:2d4567c850905d5eaaed2f7a404e61012a51caf288292e016360aa2b96ff38d4"}, + {file = "pydantic_core-2.27.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:e9386266798d64eeb19dd3677051f5705bf873e98e15897ddb7d76f477131967"}, + {file = "pydantic_core-2.27.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4228b5b646caa73f119b1ae756216b59cc6e2267201c27d3912b592c5e323b60"}, + {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b3dfe500de26c52abe0477dde16192ac39c98f05bf2d80e76102d394bd13854"}, + {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:aee66be87825cdf72ac64cb03ad4c15ffef4143dbf5c113f64a5ff4f81477bf9"}, + {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b748c44bb9f53031c8cbc99a8a061bc181c1000c60a30f55393b6e9c45cc5bd"}, + {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ca038c7f6a0afd0b2448941b6ef9d5e1949e999f9e5517692eb6da58e9d44be"}, + {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e0bd57539da59a3e4671b90a502da9a28c72322a4f17866ba3ac63a82c4498e"}, + {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ac6c2c45c847bbf8f91930d88716a0fb924b51e0c6dad329b793d670ec5db792"}, + {file = "pydantic_core-2.27.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b94d4ba43739bbe8b0ce4262bcc3b7b9f31459ad120fb595627eaeb7f9b9ca01"}, + {file = "pydantic_core-2.27.1-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:00e6424f4b26fe82d44577b4c842d7df97c20be6439e8e685d0d715feceb9fb9"}, + {file = "pydantic_core-2.27.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:38de0a70160dd97540335b7ad3a74571b24f1dc3ed33f815f0880682e6880131"}, + {file = "pydantic_core-2.27.1-cp39-none-win32.whl", hash = "sha256:7ccebf51efc61634f6c2344da73e366c75e735960b5654b63d7e6f69a5885fa3"}, + {file = "pydantic_core-2.27.1-cp39-none-win_amd64.whl", hash = "sha256:a57847b090d7892f123726202b7daa20df6694cbd583b67a592e856bff603d6c"}, + {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3fa80ac2bd5856580e242dbc202db873c60a01b20309c8319b5c5986fbe53ce6"}, + {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d950caa237bb1954f1b8c9227b5065ba6875ac9771bb8ec790d956a699b78676"}, + {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e4216e64d203e39c62df627aa882f02a2438d18a5f21d7f721621f7a5d3611d"}, + {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02a3d637bd387c41d46b002f0e49c52642281edacd2740e5a42f7017feea3f2c"}, + {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:161c27ccce13b6b0c8689418da3885d3220ed2eae2ea5e9b2f7f3d48f1d52c27"}, + {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:19910754e4cc9c63bc1c7f6d73aa1cfee82f42007e407c0f413695c2f7ed777f"}, + {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:e173486019cc283dc9778315fa29a363579372fe67045e971e89b6365cc035ed"}, + {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:af52d26579b308921b73b956153066481f064875140ccd1dfd4e77db89dbb12f"}, + {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:981fb88516bd1ae8b0cbbd2034678a39dedc98752f264ac9bc5839d3923fa04c"}, + {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5fde892e6c697ce3e30c61b239330fc5d569a71fefd4eb6512fc6caec9dd9e2f"}, + {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:816f5aa087094099fff7edabb5e01cc370eb21aa1a1d44fe2d2aefdfb5599b31"}, + {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c10c309e18e443ddb108f0ef64e8729363adbfd92d6d57beec680f6261556f3"}, + {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98476c98b02c8e9b2eec76ac4156fd006628b1b2d0ef27e548ffa978393fd154"}, + {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c3027001c28434e7ca5a6e1e527487051136aa81803ac812be51802150d880dd"}, + {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:7699b1df36a48169cdebda7ab5a2bac265204003f153b4bd17276153d997670a"}, + {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:1c39b07d90be6b48968ddc8c19e7585052088fd7ec8d568bb31ff64c70ae3c97"}, + {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:46ccfe3032b3915586e469d4972973f893c0a2bb65669194a5bdea9bacc088c2"}, + {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:62ba45e21cf6571d7f716d903b5b7b6d2617e2d5d67c0923dc47b9d41369f840"}, + {file = "pydantic_core-2.27.1.tar.gz", hash = "sha256:62a763352879b84aa31058fc931884055fd75089cccbd9d58bb6afd01141b235"}, ] [package.dependencies] @@ -4204,6 +4616,87 @@ pyyaml = "*" [package.extras] extra = ["pygments (>=2.12)"] +[[package]] +name = "pymongo" +version = "4.10.1" +description = "Python driver for MongoDB " +optional = false +python-versions = ">=3.8" +files = [ + {file = "pymongo-4.10.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e699aa68c4a7dea2ab5a27067f7d3e08555f8d2c0dc6a0c8c60cfd9ff2e6a4b1"}, + {file = "pymongo-4.10.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:70645abc714f06b4ad6b72d5bf73792eaad14e3a2cfe29c62a9c81ada69d9e4b"}, + {file = "pymongo-4.10.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ae2fd94c9fe048c94838badcc6e992d033cb9473eb31e5710b3707cba5e8aee2"}, + {file = "pymongo-4.10.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ded27a4a5374dae03a92e084a60cdbcecd595306555bda553b833baf3fc4868"}, + {file = "pymongo-4.10.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1ecc2455e3974a6c429687b395a0bc59636f2d6aedf5785098cf4e1f180f1c71"}, + {file = "pymongo-4.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a920fee41f7d0259f5f72c1f1eb331bc26ffbdc952846f9bd8c3b119013bb52c"}, + {file = "pymongo-4.10.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e0a15665b2d6cf364f4cd114d62452ce01d71abfbd9c564ba8c74dcd7bbd6822"}, + {file = "pymongo-4.10.1-cp310-cp310-win32.whl", hash = "sha256:29e1c323c28a4584b7095378ff046815e39ff82cdb8dc4cc6dfe3acf6f9ad1f8"}, + {file = "pymongo-4.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:88dc4aa45f8744ccfb45164aedb9a4179c93567bbd98a33109d7dc400b00eb08"}, + {file = "pymongo-4.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:57ee6becae534e6d47848c97f6a6dff69e3cce7c70648d6049bd586764febe59"}, + {file = "pymongo-4.10.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6f437a612f4d4f7aca1812311b1e84477145e950fdafe3285b687ab8c52541f3"}, + {file = "pymongo-4.10.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a970fd3117ab40a4001c3dad333bbf3c43687d90f35287a6237149b5ccae61d"}, + {file = "pymongo-4.10.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7c4d0e7cd08ef9f8fbf2d15ba281ed55604368a32752e476250724c3ce36c72e"}, + {file = "pymongo-4.10.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ca6f700cff6833de4872a4e738f43123db34400173558b558ae079b5535857a4"}, + {file = "pymongo-4.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cec237c305fcbeef75c0bcbe9d223d1e22a6e3ba1b53b2f0b79d3d29c742b45b"}, + {file = "pymongo-4.10.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3337804ea0394a06e916add4e5fac1c89902f1b6f33936074a12505cab4ff05"}, + {file = "pymongo-4.10.1-cp311-cp311-win32.whl", hash = "sha256:778ac646ce6ac1e469664062dfe9ae1f5c9961f7790682809f5ec3b8fda29d65"}, + {file = "pymongo-4.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:9df4ab5594fdd208dcba81be815fa8a8a5d8dedaf3b346cbf8b61c7296246a7a"}, + {file = "pymongo-4.10.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fbedc4617faa0edf423621bb0b3b8707836687161210d470e69a4184be9ca011"}, + {file = "pymongo-4.10.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7bd26b2aec8ceeb95a5d948d5cc0f62b0eb6d66f3f4230705c1e3d3d2c04ec76"}, + {file = "pymongo-4.10.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb104c3c2a78d9d85571c8ac90ec4f95bca9b297c6eee5ada71fabf1129e1674"}, + {file = "pymongo-4.10.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4924355245a9c79f77b5cda2db36e0f75ece5faf9f84d16014c0a297f6d66786"}, + {file = "pymongo-4.10.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:11280809e5dacaef4971113f0b4ff4696ee94cfdb720019ff4fa4f9635138252"}, + {file = "pymongo-4.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e5d55f2a82e5eb23795f724991cac2bffbb1c0f219c0ba3bf73a835f97f1bb2e"}, + {file = "pymongo-4.10.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e974ab16a60be71a8dfad4e5afccf8dd05d41c758060f5d5bda9a758605d9a5d"}, + {file = "pymongo-4.10.1-cp312-cp312-win32.whl", hash = "sha256:544890085d9641f271d4f7a47684450ed4a7344d6b72d5968bfae32203b1bb7c"}, + {file = "pymongo-4.10.1-cp312-cp312-win_amd64.whl", hash = "sha256:dcc07b1277e8b4bf4d7382ca133850e323b7ab048b8353af496d050671c7ac52"}, + {file = "pymongo-4.10.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:90bc6912948dfc8c363f4ead54d54a02a15a7fee6cfafb36dc450fc8962d2cb7"}, + {file = "pymongo-4.10.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:594dd721b81f301f33e843453638e02d92f63c198358e5a0fa8b8d0b1218dabc"}, + {file = "pymongo-4.10.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0783e0c8e95397c84e9cf8ab092ab1e5dd7c769aec0ef3a5838ae7173b98dea0"}, + {file = "pymongo-4.10.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6fb6a72e88df46d1c1040fd32cd2d2c5e58722e5d3e31060a0393f04ad3283de"}, + {file = "pymongo-4.10.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e3a593333e20c87415420a4fb76c00b7aae49b6361d2e2205b6fece0563bf40"}, + {file = "pymongo-4.10.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72e2ace7456167c71cfeca7dcb47bd5dceda7db2231265b80fc625c5e8073186"}, + {file = "pymongo-4.10.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ad05eb9c97e4f589ed9e74a00fcaac0d443ccd14f38d1258eb4c39a35dd722b"}, + {file = "pymongo-4.10.1-cp313-cp313-win32.whl", hash = "sha256:ee4c86d8e6872a61f7888fc96577b0ea165eb3bdb0d841962b444fa36001e2bb"}, + {file = "pymongo-4.10.1-cp313-cp313-win_amd64.whl", hash = "sha256:45ee87a4e12337353242bc758accc7fb47a2f2d9ecc0382a61e64c8f01e86708"}, + {file = "pymongo-4.10.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:442ca247f53ad24870a01e80a71cd81b3f2318655fd9d66748ee2bd1b1569d9e"}, + {file = "pymongo-4.10.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:23e1d62df5592518204943b507be7b457fb8a4ad95a349440406fd42db5d0923"}, + {file = "pymongo-4.10.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6131bc6568b26e7495a9f3ef2b1700566b76bbecd919f4472bfe90038a61f425"}, + {file = "pymongo-4.10.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fdeba88c540c9ed0338c0b2062d9f81af42b18d6646b3e6dda05cf6edd46ada9"}, + {file = "pymongo-4.10.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15a624d752dd3c89d10deb0ef6431559b6d074703cab90a70bb849ece02adc6b"}, + {file = "pymongo-4.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba164e73fdade9b4614a2497321c5b7512ddf749ed508950bdecc28d8d76a2d9"}, + {file = "pymongo-4.10.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9235fa319993405ae5505bf1333366388add2e06848db7b3deee8f990b69808e"}, + {file = "pymongo-4.10.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e4a65567bd17d19f03157c7ec992c6530eafd8191a4e5ede25566792c4fe3fa2"}, + {file = "pymongo-4.10.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:f1945d48fb9b8a87d515da07f37e5b2c35b364a435f534c122e92747881f4a7c"}, + {file = "pymongo-4.10.1-cp38-cp38-win32.whl", hash = "sha256:345f8d340802ebce509f49d5833cc913da40c82f2e0daf9f60149cacc9ca680f"}, + {file = "pymongo-4.10.1-cp38-cp38-win_amd64.whl", hash = "sha256:3a70d5efdc0387ac8cd50f9a5f379648ecfc322d14ec9e1ba8ec957e5d08c372"}, + {file = "pymongo-4.10.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:15b1492cc5c7cd260229590be7218261e81684b8da6d6de2660cf743445500ce"}, + {file = "pymongo-4.10.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:95207503c41b97e7ecc7e596d84a61f441b4935f11aa8332828a754e7ada8c82"}, + {file = "pymongo-4.10.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb99f003c720c6d83be02c8f1a7787c22384a8ca9a4181e406174db47a048619"}, + {file = "pymongo-4.10.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f2bc1ee4b1ca2c4e7e6b7a5e892126335ec8d9215bcd3ac2fe075870fefc3358"}, + {file = "pymongo-4.10.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:93a0833c10a967effcd823b4e7445ec491f0bf6da5de0ca33629c0528f42b748"}, + {file = "pymongo-4.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f56707497323150bd2ed5d63067f4ffce940d0549d4ea2dfae180deec7f9363"}, + {file = "pymongo-4.10.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:409ab7d6c4223e5c85881697f365239dd3ed1b58f28e4124b846d9d488c86880"}, + {file = "pymongo-4.10.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dac78a650dc0637d610905fd06b5fa6419ae9028cf4d04d6a2657bc18a66bbce"}, + {file = "pymongo-4.10.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1ec3fa88b541e0481aff3c35194c9fac96e4d57ec5d1c122376000eb28c01431"}, + {file = "pymongo-4.10.1-cp39-cp39-win32.whl", hash = "sha256:e0e961923a7b8a1c801c43552dcb8153e45afa41749d9efbd3a6d33f45489f7a"}, + {file = "pymongo-4.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:dabe8bf1ad644e6b93f3acf90ff18536d94538ca4d27e583c6db49889e98e48f"}, + {file = "pymongo-4.10.1.tar.gz", hash = "sha256:a9de02be53b6bb98efe0b9eda84ffa1ec027fcb23a2de62c4f941d9a2f2f3330"}, +] + +[package.dependencies] +dnspython = ">=1.16.0,<3.0.0" + +[package.extras] +aws = ["pymongo-auth-aws (>=1.1.0,<2.0.0)"] +docs = ["furo (==2023.9.10)", "readthedocs-sphinx-search (>=0.3,<1.0)", "sphinx (>=5.3,<8)", "sphinx-autobuild (>=2020.9.1)", "sphinx-rtd-theme (>=2,<3)", "sphinxcontrib-shellcheck (>=1,<2)"] +encryption = ["certifi", "pymongo-auth-aws (>=1.1.0,<2.0.0)", "pymongocrypt (>=1.10.0,<2.0.0)"] +gssapi = ["pykerberos", "winkerberos (>=0.5.0)"] +ocsp = ["certifi", "cryptography (>=2.5)", "pyopenssl (>=17.2.0)", "requests (<3.0.0)", "service-identity (>=18.1.0)"] +snappy = ["python-snappy"] +test = ["pytest (>=8.2)", "pytest-asyncio (>=0.24.0)"] +zstd = ["zstandard"] + [[package]] name = "pyparsing" version = "3.2.0" @@ -4278,37 +4771,38 @@ solrcloud = ["kazoo (>=2.5.0)"] [[package]] name = "pystow" -version = "0.5.6" -description = "Easily pick a place to store data for your python package." +version = "0.6.1" +description = "Easily pick a place to store data for your Python code" optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" files = [ - {file = "pystow-0.5.6-py3-none-any.whl", hash = "sha256:3a44349dccc1260238e8f4c8f2dec5d72e2952a126fb897df663e94e6a910c86"}, - {file = "pystow-0.5.6.tar.gz", hash = "sha256:db567e82a5b7aea34cdcf4ae00ba822cd64a51ae2f465b1995599676e4cdbff2"}, + {file = "pystow-0.6.1-py3-none-any.whl", hash = "sha256:aee05079f26e6fa58687f18e4f01ecc74204e66ca645e452cb007fe44bf7bace"}, + {file = "pystow-0.6.1.tar.gz", hash = "sha256:db853bb906ffeb124c6bb20ed99f4594161b6c6c7883f04c2ec593d07897951a"}, ] [package.dependencies] click = "*" requests = "*" tqdm = "*" +typing-extensions = "*" [package.extras] aws = ["boto3"] -docs = ["sphinx (<8.0)", "sphinx-autodoc-typehints", "sphinx-automodapi", "sphinx-click", "sphinx-rtd-theme"] +docs = ["sphinx (>=8)", "sphinx-click", "sphinx-rtd-theme (>=3.0)", "sphinx_automodapi"] pandas = ["pandas"] rdf = ["rdflib"] -tests = ["coverage", "pytest", "requests-file"] +tests = ["coverage", "pytest", "requests_file"] xml = ["lxml"] [[package]] name = "pytest" -version = "8.3.3" +version = "8.3.4" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.8" files = [ - {file = "pytest-8.3.3-py3-none-any.whl", hash = "sha256:a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2"}, - {file = "pytest-8.3.3.tar.gz", hash = "sha256:70b98107bd648308a7952b06e6ca9a50bc660be218d53c257cc1fc94fda10181"}, + {file = "pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6"}, + {file = "pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761"}, ] [package.dependencies] @@ -4351,15 +4845,21 @@ six = ">=1.5" [[package]] name = "python-json-logger" -version = "2.0.7" -description = "A python library adding a json log formatter" +version = "3.2.0" +description = "JSON Log Formatter for the Python Logging Package" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "python-json-logger-2.0.7.tar.gz", hash = "sha256:23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c"}, - {file = "python_json_logger-2.0.7-py3-none-any.whl", hash = "sha256:f380b826a991ebbe3de4d897aeec42760035ac760345e57b812938dc8b35e2bd"}, + {file = "python_json_logger-3.2.0-py3-none-any.whl", hash = "sha256:d73522ddcfc6d0461394120feaddea9025dc64bf804d96357dd42fa878cc5fe8"}, + {file = "python_json_logger-3.2.0.tar.gz", hash = "sha256:2c11056458d3f56614480b24e9cb28f7aba69cbfbebddbb77c92f0ec0d4947ab"}, ] +[package.dependencies] +typing_extensions = {version = "*", markers = "python_version < \"3.10\""} + +[package.extras] +dev = ["backports.zoneinfo", "black", "build", "freezegun", "mdx_truly_sane_lists", "mike", "mkdocs", "mkdocs-awesome-pages-plugin", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-material (>=8.5)", "mkdocstrings[python]", "msgspec", "msgspec-python313-pre", "mypy", "orjson", "pylint", "pytest", "tzdata", "validate-pyproject[all]"] + [[package]] name = "pytrie" version = "0.4.0" @@ -4923,101 +5423,114 @@ files = [ [[package]] name = "rpds-py" -version = "0.21.0" +version = "0.22.3" description = "Python bindings to Rust's persistent data structures (rpds)" optional = false python-versions = ">=3.9" files = [ - {file = "rpds_py-0.21.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a017f813f24b9df929674d0332a374d40d7f0162b326562daae8066b502d0590"}, - {file = "rpds_py-0.21.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:20cc1ed0bcc86d8e1a7e968cce15be45178fd16e2ff656a243145e0b439bd250"}, - {file = "rpds_py-0.21.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad116dda078d0bc4886cb7840e19811562acdc7a8e296ea6ec37e70326c1b41c"}, - {file = "rpds_py-0.21.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:808f1ac7cf3b44f81c9475475ceb221f982ef548e44e024ad5f9e7060649540e"}, - {file = "rpds_py-0.21.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de552f4a1916e520f2703ec474d2b4d3f86d41f353e7680b597512ffe7eac5d0"}, - {file = "rpds_py-0.21.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:efec946f331349dfc4ae9d0e034c263ddde19414fe5128580f512619abed05f1"}, - {file = "rpds_py-0.21.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b80b4690bbff51a034bfde9c9f6bf9357f0a8c61f548942b80f7b66356508bf5"}, - {file = "rpds_py-0.21.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:085ed25baac88953d4283e5b5bd094b155075bb40d07c29c4f073e10623f9f2e"}, - {file = "rpds_py-0.21.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:daa8efac2a1273eed2354397a51216ae1e198ecbce9036fba4e7610b308b6153"}, - {file = "rpds_py-0.21.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:95a5bad1ac8a5c77b4e658671642e4af3707f095d2b78a1fdd08af0dfb647624"}, - {file = "rpds_py-0.21.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3e53861b29a13d5b70116ea4230b5f0f3547b2c222c5daa090eb7c9c82d7f664"}, - {file = "rpds_py-0.21.0-cp310-none-win32.whl", hash = "sha256:ea3a6ac4d74820c98fcc9da4a57847ad2cc36475a8bd9683f32ab6d47a2bd682"}, - {file = "rpds_py-0.21.0-cp310-none-win_amd64.whl", hash = "sha256:b8f107395f2f1d151181880b69a2869c69e87ec079c49c0016ab96860b6acbe5"}, - {file = "rpds_py-0.21.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:5555db3e618a77034954b9dc547eae94166391a98eb867905ec8fcbce1308d95"}, - {file = "rpds_py-0.21.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:97ef67d9bbc3e15584c2f3c74bcf064af36336c10d2e21a2131e123ce0f924c9"}, - {file = "rpds_py-0.21.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ab2c2a26d2f69cdf833174f4d9d86118edc781ad9a8fa13970b527bf8236027"}, - {file = "rpds_py-0.21.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4e8921a259f54bfbc755c5bbd60c82bb2339ae0324163f32868f63f0ebb873d9"}, - {file = "rpds_py-0.21.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a7ff941004d74d55a47f916afc38494bd1cfd4b53c482b77c03147c91ac0ac3"}, - {file = "rpds_py-0.21.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5145282a7cd2ac16ea0dc46b82167754d5e103a05614b724457cffe614f25bd8"}, - {file = "rpds_py-0.21.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de609a6f1b682f70bb7163da745ee815d8f230d97276db049ab447767466a09d"}, - {file = "rpds_py-0.21.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:40c91c6e34cf016fa8e6b59d75e3dbe354830777fcfd74c58b279dceb7975b75"}, - {file = "rpds_py-0.21.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d2132377f9deef0c4db89e65e8bb28644ff75a18df5293e132a8d67748397b9f"}, - {file = "rpds_py-0.21.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0a9e0759e7be10109645a9fddaaad0619d58c9bf30a3f248a2ea57a7c417173a"}, - {file = "rpds_py-0.21.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9e20da3957bdf7824afdd4b6eeb29510e83e026473e04952dca565170cd1ecc8"}, - {file = "rpds_py-0.21.0-cp311-none-win32.whl", hash = "sha256:f71009b0d5e94c0e86533c0b27ed7cacc1239cb51c178fd239c3cfefefb0400a"}, - {file = "rpds_py-0.21.0-cp311-none-win_amd64.whl", hash = "sha256:e168afe6bf6ab7ab46c8c375606298784ecbe3ba31c0980b7dcbb9631dcba97e"}, - {file = "rpds_py-0.21.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:30b912c965b2aa76ba5168fd610087bad7fcde47f0a8367ee8f1876086ee6d1d"}, - {file = "rpds_py-0.21.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ca9989d5d9b1b300bc18e1801c67b9f6d2c66b8fd9621b36072ed1df2c977f72"}, - {file = "rpds_py-0.21.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f54e7106f0001244a5f4cf810ba8d3f9c542e2730821b16e969d6887b664266"}, - {file = "rpds_py-0.21.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fed5dfefdf384d6fe975cc026886aece4f292feaf69d0eeb716cfd3c5a4dd8be"}, - {file = "rpds_py-0.21.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:590ef88db231c9c1eece44dcfefd7515d8bf0d986d64d0caf06a81998a9e8cab"}, - {file = "rpds_py-0.21.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f983e4c2f603c95dde63df633eec42955508eefd8d0f0e6d236d31a044c882d7"}, - {file = "rpds_py-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b229ce052ddf1a01c67d68166c19cb004fb3612424921b81c46e7ea7ccf7c3bf"}, - {file = "rpds_py-0.21.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ebf64e281a06c904a7636781d2e973d1f0926a5b8b480ac658dc0f556e7779f4"}, - {file = "rpds_py-0.21.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:998a8080c4495e4f72132f3d66ff91f5997d799e86cec6ee05342f8f3cda7dca"}, - {file = "rpds_py-0.21.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:98486337f7b4f3c324ab402e83453e25bb844f44418c066623db88e4c56b7c7b"}, - {file = "rpds_py-0.21.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a78d8b634c9df7f8d175451cfeac3810a702ccb85f98ec95797fa98b942cea11"}, - {file = "rpds_py-0.21.0-cp312-none-win32.whl", hash = "sha256:a58ce66847711c4aa2ecfcfaff04cb0327f907fead8945ffc47d9407f41ff952"}, - {file = "rpds_py-0.21.0-cp312-none-win_amd64.whl", hash = "sha256:e860f065cc4ea6f256d6f411aba4b1251255366e48e972f8a347cf88077b24fd"}, - {file = "rpds_py-0.21.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ee4eafd77cc98d355a0d02f263efc0d3ae3ce4a7c24740010a8b4012bbb24937"}, - {file = "rpds_py-0.21.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:688c93b77e468d72579351a84b95f976bd7b3e84aa6686be6497045ba84be560"}, - {file = "rpds_py-0.21.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c38dbf31c57032667dd5a2f0568ccde66e868e8f78d5a0d27dcc56d70f3fcd3b"}, - {file = "rpds_py-0.21.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2d6129137f43f7fa02d41542ffff4871d4aefa724a5fe38e2c31a4e0fd343fb0"}, - {file = "rpds_py-0.21.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:520ed8b99b0bf86a176271f6fe23024323862ac674b1ce5b02a72bfeff3fff44"}, - {file = "rpds_py-0.21.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aaeb25ccfb9b9014a10eaf70904ebf3f79faaa8e60e99e19eef9f478651b9b74"}, - {file = "rpds_py-0.21.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af04ac89c738e0f0f1b913918024c3eab6e3ace989518ea838807177d38a2e94"}, - {file = "rpds_py-0.21.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b9b76e2afd585803c53c5b29e992ecd183f68285b62fe2668383a18e74abe7a3"}, - {file = "rpds_py-0.21.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5afb5efde74c54724e1a01118c6e5c15e54e642c42a1ba588ab1f03544ac8c7a"}, - {file = "rpds_py-0.21.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:52c041802a6efa625ea18027a0723676a778869481d16803481ef6cc02ea8cb3"}, - {file = "rpds_py-0.21.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ee1e4fc267b437bb89990b2f2abf6c25765b89b72dd4a11e21934df449e0c976"}, - {file = "rpds_py-0.21.0-cp313-none-win32.whl", hash = "sha256:0c025820b78817db6a76413fff6866790786c38f95ea3f3d3c93dbb73b632202"}, - {file = "rpds_py-0.21.0-cp313-none-win_amd64.whl", hash = "sha256:320c808df533695326610a1b6a0a6e98f033e49de55d7dc36a13c8a30cfa756e"}, - {file = "rpds_py-0.21.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:2c51d99c30091f72a3c5d126fad26236c3f75716b8b5e5cf8effb18889ced928"}, - {file = "rpds_py-0.21.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cbd7504a10b0955ea287114f003b7ad62330c9e65ba012c6223dba646f6ffd05"}, - {file = "rpds_py-0.21.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6dcc4949be728ede49e6244eabd04064336012b37f5c2200e8ec8eb2988b209c"}, - {file = "rpds_py-0.21.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f414da5c51bf350e4b7960644617c130140423882305f7574b6cf65a3081cecb"}, - {file = "rpds_py-0.21.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9afe42102b40007f588666bc7de82451e10c6788f6f70984629db193849dced1"}, - {file = "rpds_py-0.21.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b929c2bb6e29ab31f12a1117c39f7e6d6450419ab7464a4ea9b0b417174f044"}, - {file = "rpds_py-0.21.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8404b3717da03cbf773a1d275d01fec84ea007754ed380f63dfc24fb76ce4592"}, - {file = "rpds_py-0.21.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e12bb09678f38b7597b8346983d2323a6482dcd59e423d9448108c1be37cac9d"}, - {file = "rpds_py-0.21.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:58a0e345be4b18e6b8501d3b0aa540dad90caeed814c515e5206bb2ec26736fd"}, - {file = "rpds_py-0.21.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:c3761f62fcfccf0864cc4665b6e7c3f0c626f0380b41b8bd1ce322103fa3ef87"}, - {file = "rpds_py-0.21.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c2b2f71c6ad6c2e4fc9ed9401080badd1469fa9889657ec3abea42a3d6b2e1ed"}, - {file = "rpds_py-0.21.0-cp39-none-win32.whl", hash = "sha256:b21747f79f360e790525e6f6438c7569ddbfb1b3197b9e65043f25c3c9b489d8"}, - {file = "rpds_py-0.21.0-cp39-none-win_amd64.whl", hash = "sha256:0626238a43152918f9e72ede9a3b6ccc9e299adc8ade0d67c5e142d564c9a83d"}, - {file = "rpds_py-0.21.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:6b4ef7725386dc0762857097f6b7266a6cdd62bfd209664da6712cb26acef035"}, - {file = "rpds_py-0.21.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:6bc0e697d4d79ab1aacbf20ee5f0df80359ecf55db33ff41481cf3e24f206919"}, - {file = "rpds_py-0.21.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da52d62a96e61c1c444f3998c434e8b263c384f6d68aca8274d2e08d1906325c"}, - {file = "rpds_py-0.21.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:98e4fe5db40db87ce1c65031463a760ec7906ab230ad2249b4572c2fc3ef1f9f"}, - {file = "rpds_py-0.21.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:30bdc973f10d28e0337f71d202ff29345320f8bc49a31c90e6c257e1ccef4333"}, - {file = "rpds_py-0.21.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:faa5e8496c530f9c71f2b4e1c49758b06e5f4055e17144906245c99fa6d45356"}, - {file = "rpds_py-0.21.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32eb88c30b6a4f0605508023b7141d043a79b14acb3b969aa0b4f99b25bc7d4a"}, - {file = "rpds_py-0.21.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a89a8ce9e4e75aeb7fa5d8ad0f3fecdee813802592f4f46a15754dcb2fd6b061"}, - {file = "rpds_py-0.21.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:241e6c125568493f553c3d0fdbb38c74babf54b45cef86439d4cd97ff8feb34d"}, - {file = "rpds_py-0.21.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:3b766a9f57663396e4f34f5140b3595b233a7b146e94777b97a8413a1da1be18"}, - {file = "rpds_py-0.21.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:af4a644bf890f56e41e74be7d34e9511e4954894d544ec6b8efe1e21a1a8da6c"}, - {file = "rpds_py-0.21.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:3e30a69a706e8ea20444b98a49f386c17b26f860aa9245329bab0851ed100677"}, - {file = "rpds_py-0.21.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:031819f906bb146561af051c7cef4ba2003d28cff07efacef59da973ff7969ba"}, - {file = "rpds_py-0.21.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:b876f2bc27ab5954e2fd88890c071bd0ed18b9c50f6ec3de3c50a5ece612f7a6"}, - {file = "rpds_py-0.21.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dc5695c321e518d9f03b7ea6abb5ea3af4567766f9852ad1560f501b17588c7b"}, - {file = "rpds_py-0.21.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b4de1da871b5c0fd5537b26a6fc6814c3cc05cabe0c941db6e9044ffbb12f04a"}, - {file = "rpds_py-0.21.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:878f6fea96621fda5303a2867887686d7a198d9e0f8a40be100a63f5d60c88c9"}, - {file = "rpds_py-0.21.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8eeec67590e94189f434c6d11c426892e396ae59e4801d17a93ac96b8c02a6c"}, - {file = "rpds_py-0.21.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ff2eba7f6c0cb523d7e9cff0903f2fe1feff8f0b2ceb6bd71c0e20a4dcee271"}, - {file = "rpds_py-0.21.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a429b99337062877d7875e4ff1a51fe788424d522bd64a8c0a20ef3021fdb6ed"}, - {file = "rpds_py-0.21.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:d167e4dbbdac48bd58893c7e446684ad5d425b407f9336e04ab52e8b9194e2ed"}, - {file = "rpds_py-0.21.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:4eb2de8a147ffe0626bfdc275fc6563aa7bf4b6db59cf0d44f0ccd6ca625a24e"}, - {file = "rpds_py-0.21.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:e78868e98f34f34a88e23ee9ccaeeec460e4eaf6db16d51d7a9b883e5e785a5e"}, - {file = "rpds_py-0.21.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4991ca61656e3160cdaca4851151fd3f4a92e9eba5c7a530ab030d6aee96ec89"}, - {file = "rpds_py-0.21.0.tar.gz", hash = "sha256:ed6378c9d66d0de903763e7706383d60c33829581f0adff47b6535f1802fa6db"}, + {file = "rpds_py-0.22.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:6c7b99ca52c2c1752b544e310101b98a659b720b21db00e65edca34483259967"}, + {file = "rpds_py-0.22.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:be2eb3f2495ba669d2a985f9b426c1797b7d48d6963899276d22f23e33d47e37"}, + {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70eb60b3ae9245ddea20f8a4190bd79c705a22f8028aaf8bbdebe4716c3fab24"}, + {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4041711832360a9b75cfb11b25a6a97c8fb49c07b8bd43d0d02b45d0b499a4ff"}, + {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:64607d4cbf1b7e3c3c8a14948b99345eda0e161b852e122c6bb71aab6d1d798c"}, + {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e69b0a0e2537f26d73b4e43ad7bc8c8efb39621639b4434b76a3de50c6966e"}, + {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc27863442d388870c1809a87507727b799c8460573cfbb6dc0eeaef5a11b5ec"}, + {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e79dd39f1e8c3504be0607e5fc6e86bb60fe3584bec8b782578c3b0fde8d932c"}, + {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e0fa2d4ec53dc51cf7d3bb22e0aa0143966119f42a0c3e4998293a3dd2856b09"}, + {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fda7cb070f442bf80b642cd56483b5548e43d366fe3f39b98e67cce780cded00"}, + {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cff63a0272fcd259dcc3be1657b07c929c466b067ceb1c20060e8d10af56f5bf"}, + {file = "rpds_py-0.22.3-cp310-cp310-win32.whl", hash = "sha256:9bd7228827ec7bb817089e2eb301d907c0d9827a9e558f22f762bb690b131652"}, + {file = "rpds_py-0.22.3-cp310-cp310-win_amd64.whl", hash = "sha256:9beeb01d8c190d7581a4d59522cd3d4b6887040dcfc744af99aa59fef3e041a8"}, + {file = "rpds_py-0.22.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d20cfb4e099748ea39e6f7b16c91ab057989712d31761d3300d43134e26e165f"}, + {file = "rpds_py-0.22.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:68049202f67380ff9aa52f12e92b1c30115f32e6895cd7198fa2a7961621fc5a"}, + {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb4f868f712b2dd4bcc538b0a0c1f63a2b1d584c925e69a224d759e7070a12d5"}, + {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bc51abd01f08117283c5ebf64844a35144a0843ff7b2983e0648e4d3d9f10dbb"}, + {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f3cec041684de9a4684b1572fe28c7267410e02450f4561700ca5a3bc6695a2"}, + {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7ef9d9da710be50ff6809fed8f1963fecdfecc8b86656cadfca3bc24289414b0"}, + {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59f4a79c19232a5774aee369a0c296712ad0e77f24e62cad53160312b1c1eaa1"}, + {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a60bce91f81ddaac922a40bbb571a12c1070cb20ebd6d49c48e0b101d87300d"}, + {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e89391e6d60251560f0a8f4bd32137b077a80d9b7dbe6d5cab1cd80d2746f648"}, + {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e3fb866d9932a3d7d0c82da76d816996d1667c44891bd861a0f97ba27e84fc74"}, + {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1352ae4f7c717ae8cba93421a63373e582d19d55d2ee2cbb184344c82d2ae55a"}, + {file = "rpds_py-0.22.3-cp311-cp311-win32.whl", hash = "sha256:b0b4136a252cadfa1adb705bb81524eee47d9f6aab4f2ee4fa1e9d3cd4581f64"}, + {file = "rpds_py-0.22.3-cp311-cp311-win_amd64.whl", hash = "sha256:8bd7c8cfc0b8247c8799080fbff54e0b9619e17cdfeb0478ba7295d43f635d7c"}, + {file = "rpds_py-0.22.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:27e98004595899949bd7a7b34e91fa7c44d7a97c40fcaf1d874168bb652ec67e"}, + {file = "rpds_py-0.22.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1978d0021e943aae58b9b0b196fb4895a25cc53d3956b8e35e0b7682eefb6d56"}, + {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:655ca44a831ecb238d124e0402d98f6212ac527a0ba6c55ca26f616604e60a45"}, + {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:feea821ee2a9273771bae61194004ee2fc33f8ec7db08117ef9147d4bbcbca8e"}, + {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22bebe05a9ffc70ebfa127efbc429bc26ec9e9b4ee4d15a740033efda515cf3d"}, + {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3af6e48651c4e0d2d166dc1b033b7042ea3f871504b6805ba5f4fe31581d8d38"}, + {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e67ba3c290821343c192f7eae1d8fd5999ca2dc99994114643e2f2d3e6138b15"}, + {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02fbb9c288ae08bcb34fb41d516d5eeb0455ac35b5512d03181d755d80810059"}, + {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f56a6b404f74ab372da986d240e2e002769a7d7102cc73eb238a4f72eec5284e"}, + {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0a0461200769ab3b9ab7e513f6013b7a97fdeee41c29b9db343f3c5a8e2b9e61"}, + {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8633e471c6207a039eff6aa116e35f69f3156b3989ea3e2d755f7bc41754a4a7"}, + {file = "rpds_py-0.22.3-cp312-cp312-win32.whl", hash = "sha256:593eba61ba0c3baae5bc9be2f5232430453fb4432048de28399ca7376de9c627"}, + {file = "rpds_py-0.22.3-cp312-cp312-win_amd64.whl", hash = "sha256:d115bffdd417c6d806ea9069237a4ae02f513b778e3789a359bc5856e0404cc4"}, + {file = "rpds_py-0.22.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ea7433ce7e4bfc3a85654aeb6747babe3f66eaf9a1d0c1e7a4435bbdf27fea84"}, + {file = "rpds_py-0.22.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6dd9412824c4ce1aca56c47b0991e65bebb7ac3f4edccfd3f156150c96a7bf25"}, + {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20070c65396f7373f5df4005862fa162db5d25d56150bddd0b3e8214e8ef45b4"}, + {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0b09865a9abc0ddff4e50b5ef65467cd94176bf1e0004184eb915cbc10fc05c5"}, + {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3453e8d41fe5f17d1f8e9c383a7473cd46a63661628ec58e07777c2fff7196dc"}, + {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f5d36399a1b96e1a5fdc91e0522544580dbebeb1f77f27b2b0ab25559e103b8b"}, + {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009de23c9c9ee54bf11303a966edf4d9087cd43a6003672e6aa7def643d06518"}, + {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1aef18820ef3e4587ebe8b3bc9ba6e55892a6d7b93bac6d29d9f631a3b4befbd"}, + {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f60bd8423be1d9d833f230fdbccf8f57af322d96bcad6599e5a771b151398eb2"}, + {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:62d9cfcf4948683a18a9aff0ab7e1474d407b7bab2ca03116109f8464698ab16"}, + {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9253fc214112405f0afa7db88739294295f0e08466987f1d70e29930262b4c8f"}, + {file = "rpds_py-0.22.3-cp313-cp313-win32.whl", hash = "sha256:fb0ba113b4983beac1a2eb16faffd76cb41e176bf58c4afe3e14b9c681f702de"}, + {file = "rpds_py-0.22.3-cp313-cp313-win_amd64.whl", hash = "sha256:c58e2339def52ef6b71b8f36d13c3688ea23fa093353f3a4fee2556e62086ec9"}, + {file = "rpds_py-0.22.3-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:f82a116a1d03628a8ace4859556fb39fd1424c933341a08ea3ed6de1edb0283b"}, + {file = "rpds_py-0.22.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3dfcbc95bd7992b16f3f7ba05af8a64ca694331bd24f9157b49dadeeb287493b"}, + {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59259dc58e57b10e7e18ce02c311804c10c5a793e6568f8af4dead03264584d1"}, + {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5725dd9cc02068996d4438d397e255dcb1df776b7ceea3b9cb972bdb11260a83"}, + {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99b37292234e61325e7a5bb9689e55e48c3f5f603af88b1642666277a81f1fbd"}, + {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:27b1d3b3915a99208fee9ab092b8184c420f2905b7d7feb4aeb5e4a9c509b8a1"}, + {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f612463ac081803f243ff13cccc648578e2279295048f2a8d5eb430af2bae6e3"}, + {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f73d3fef726b3243a811121de45193c0ca75f6407fe66f3f4e183c983573e130"}, + {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3f21f0495edea7fdbaaa87e633a8689cd285f8f4af5c869f27bc8074638ad69c"}, + {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:1e9663daaf7a63ceccbbb8e3808fe90415b0757e2abddbfc2e06c857bf8c5e2b"}, + {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a76e42402542b1fae59798fab64432b2d015ab9d0c8c47ba7addddbaf7952333"}, + {file = "rpds_py-0.22.3-cp313-cp313t-win32.whl", hash = "sha256:69803198097467ee7282750acb507fba35ca22cc3b85f16cf45fb01cb9097730"}, + {file = "rpds_py-0.22.3-cp313-cp313t-win_amd64.whl", hash = "sha256:f5cf2a0c2bdadf3791b5c205d55a37a54025c6e18a71c71f82bb536cf9a454bf"}, + {file = "rpds_py-0.22.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:378753b4a4de2a7b34063d6f95ae81bfa7b15f2c1a04a9518e8644e81807ebea"}, + {file = "rpds_py-0.22.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3445e07bf2e8ecfeef6ef67ac83de670358abf2996916039b16a218e3d95e97e"}, + {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b2513ba235829860b13faa931f3b6846548021846ac808455301c23a101689d"}, + {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eaf16ae9ae519a0e237a0f528fd9f0197b9bb70f40263ee57ae53c2b8d48aeb3"}, + {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:583f6a1993ca3369e0f80ba99d796d8e6b1a3a2a442dd4e1a79e652116413091"}, + {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4617e1915a539a0d9a9567795023de41a87106522ff83fbfaf1f6baf8e85437e"}, + {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c150c7a61ed4a4f4955a96626574e9baf1adf772c2fb61ef6a5027e52803543"}, + {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2fa4331c200c2521512595253f5bb70858b90f750d39b8cbfd67465f8d1b596d"}, + {file = "rpds_py-0.22.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:214b7a953d73b5e87f0ebece4a32a5bd83c60a3ecc9d4ec8f1dca968a2d91e99"}, + {file = "rpds_py-0.22.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f47ad3d5f3258bd7058d2d506852217865afefe6153a36eb4b6928758041d831"}, + {file = "rpds_py-0.22.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f276b245347e6e36526cbd4a266a417796fc531ddf391e43574cf6466c492520"}, + {file = "rpds_py-0.22.3-cp39-cp39-win32.whl", hash = "sha256:bbb232860e3d03d544bc03ac57855cd82ddf19c7a07651a7c0fdb95e9efea8b9"}, + {file = "rpds_py-0.22.3-cp39-cp39-win_amd64.whl", hash = "sha256:cfbc454a2880389dbb9b5b398e50d439e2e58669160f27b60e5eca11f68ae17c"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:d48424e39c2611ee1b84ad0f44fb3b2b53d473e65de061e3f460fc0be5f1939d"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:24e8abb5878e250f2eb0d7859a8e561846f98910326d06c0d51381fed59357bd"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b232061ca880db21fa14defe219840ad9b74b6158adb52ddf0e87bead9e8493"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac0a03221cdb5058ce0167ecc92a8c89e8d0decdc9e99a2ec23380793c4dcb96"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb0c341fa71df5a4595f9501df4ac5abfb5a09580081dffbd1ddd4654e6e9123"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf9db5488121b596dbfc6718c76092fda77b703c1f7533a226a5a9f65248f8ad"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b8db6b5b2d4491ad5b6bdc2bc7c017eec108acbf4e6785f42a9eb0ba234f4c9"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b3d504047aba448d70cf6fa22e06cb09f7cbd761939fdd47604f5e007675c24e"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e61b02c3f7a1e0b75e20c3978f7135fd13cb6cf551bf4a6d29b999a88830a338"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:e35ba67d65d49080e8e5a1dd40101fccdd9798adb9b050ff670b7d74fa41c566"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:26fd7cac7dd51011a245f29a2cc6489c4608b5a8ce8d75661bb4a1066c52dfbe"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:177c7c0fce2855833819c98e43c262007f42ce86651ffbb84f37883308cb0e7d"}, + {file = "rpds_py-0.22.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bb47271f60660803ad11f4c61b42242b8c1312a31c98c578f79ef9387bbde21c"}, + {file = "rpds_py-0.22.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:70fb28128acbfd264eda9bf47015537ba3fe86e40d046eb2963d75024be4d055"}, + {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44d61b4b7d0c2c9ac019c314e52d7cbda0ae31078aabd0f22e583af3e0d79723"}, + {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f0e260eaf54380380ac3808aa4ebe2d8ca28b9087cf411649f96bad6900c728"}, + {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b25bc607423935079e05619d7de556c91fb6adeae9d5f80868dde3468657994b"}, + {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fb6116dfb8d1925cbdb52595560584db42a7f664617a1f7d7f6e32f138cdf37d"}, + {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a63cbdd98acef6570c62b92a1e43266f9e8b21e699c363c0fef13bd530799c11"}, + {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2b8f60e1b739a74bab7e01fcbe3dddd4657ec685caa04681df9d562ef15b625f"}, + {file = "rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2e8b55d8517a2fda8d95cb45d62a5a8bbf9dd0ad39c5b25c8833efea07b880ca"}, + {file = "rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:2de29005e11637e7a2361fa151f780ff8eb2543a0da1413bb951e9f14b699ef3"}, + {file = "rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:666ecce376999bf619756a24ce15bb14c5bfaf04bf00abc7e663ce17c3f34fe7"}, + {file = "rpds_py-0.22.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:5246b14ca64a8675e0a7161f7af68fe3e910e6b90542b4bfb5439ba752191df6"}, + {file = "rpds_py-0.22.3.tar.gz", hash = "sha256:e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d"}, ] [[package]] @@ -5102,6 +5615,60 @@ files = [ {file = "ruamel.yaml.clib-0.2.12.tar.gz", hash = "sha256:6c8fbb13ec503f99a91901ab46e0b07ae7941cd527393187039aec586fdfd36f"}, ] +[[package]] +name = "scikit-learn" +version = "1.6.0" +description = "A set of python modules for machine learning and data mining" +optional = false +python-versions = ">=3.9" +files = [ + {file = "scikit_learn-1.6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:366fb3fa47dce90afed3d6106183f4978d6f24cfd595c2373424171b915ee718"}, + {file = "scikit_learn-1.6.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:59cd96a8d9f8dfd546f5d6e9787e1b989e981388d7803abbc9efdcde61e47460"}, + {file = "scikit_learn-1.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efa7a579606c73a0b3d210e33ea410ea9e1af7933fe324cb7e6fbafae4ea5948"}, + {file = "scikit_learn-1.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a46d3ca0f11a540b8eaddaf5e38172d8cd65a86cb3e3632161ec96c0cffb774c"}, + {file = "scikit_learn-1.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:5be4577769c5dde6e1b53de8e6520f9b664ab5861dd57acee47ad119fd7405d6"}, + {file = "scikit_learn-1.6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1f50b4f24cf12a81c3c09958ae3b864d7534934ca66ded3822de4996d25d7285"}, + {file = "scikit_learn-1.6.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:eb9ae21f387826da14b0b9cb1034f5048ddb9182da429c689f5f4a87dc96930b"}, + {file = "scikit_learn-1.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0baa91eeb8c32632628874a5c91885eaedd23b71504d24227925080da075837a"}, + {file = "scikit_learn-1.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c716d13ba0a2f8762d96ff78d3e0cde90bc9c9b5c13d6ab6bb9b2d6ca6705fd"}, + {file = "scikit_learn-1.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:9aafd94bafc841b626681e626be27bf1233d5a0f20f0a6fdb4bee1a1963c6643"}, + {file = "scikit_learn-1.6.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:04a5ba45c12a5ff81518aa4f1604e826a45d20e53da47b15871526cda4ff5174"}, + {file = "scikit_learn-1.6.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:21fadfc2ad7a1ce8bd1d90f23d17875b84ec765eecbbfc924ff11fb73db582ce"}, + {file = "scikit_learn-1.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30f34bb5fde90e020653bb84dcb38b6c83f90c70680dbd8c38bd9becbad7a127"}, + {file = "scikit_learn-1.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1dad624cffe3062276a0881d4e441bc9e3b19d02d17757cd6ae79a9d192a0027"}, + {file = "scikit_learn-1.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:2fce7950a3fad85e0a61dc403df0f9345b53432ac0e47c50da210d22c60b6d85"}, + {file = "scikit_learn-1.6.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e5453b2e87ef8accedc5a8a4e6709f887ca01896cd7cc8a174fe39bd4bb00aef"}, + {file = "scikit_learn-1.6.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:5fe11794236fb83bead2af26a87ced5d26e3370b8487430818b915dafab1724e"}, + {file = "scikit_learn-1.6.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:61fe3dcec0d82ae280877a818ab652f4988371e32dd5451e75251bece79668b1"}, + {file = "scikit_learn-1.6.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b44e3a51e181933bdf9a4953cc69c6025b40d2b49e238233f149b98849beb4bf"}, + {file = "scikit_learn-1.6.0-cp313-cp313-win_amd64.whl", hash = "sha256:a17860a562bac54384454d40b3f6155200c1c737c9399e6a97962c63fce503ac"}, + {file = "scikit_learn-1.6.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:98717d3c152f6842d36a70f21e1468fb2f1a2f8f2624d9a3f382211798516426"}, + {file = "scikit_learn-1.6.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:34e20bfac8ff0ebe0ff20fb16a4d6df5dc4cc9ce383e00c2ab67a526a3c67b18"}, + {file = "scikit_learn-1.6.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eba06d75815406091419e06dd650b91ebd1c5f836392a0d833ff36447c2b1bfa"}, + {file = "scikit_learn-1.6.0-cp313-cp313t-win_amd64.whl", hash = "sha256:b6916d1cec1ff163c7d281e699d7a6a709da2f2c5ec7b10547e08cc788ddd3ae"}, + {file = "scikit_learn-1.6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:66b1cf721a9f07f518eb545098226796c399c64abdcbf91c2b95d625068363da"}, + {file = "scikit_learn-1.6.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:7b35b60cf4cd6564b636e4a40516b3c61a4fa7a8b1f7a3ce80c38ebe04750bc3"}, + {file = "scikit_learn-1.6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a73b1c2038c93bc7f4bf21f6c9828d5116c5d2268f7a20cfbbd41d3074d52083"}, + {file = "scikit_learn-1.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c3fa7d3dd5a0ec2d0baba0d644916fa2ab180ee37850c5d536245df916946bd"}, + {file = "scikit_learn-1.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:df778486a32518cda33818b7e3ce48c78cef1d5f640a6bc9d97c6d2e71449a51"}, + {file = "scikit_learn-1.6.0.tar.gz", hash = "sha256:9d58481f9f7499dff4196927aedd4285a0baec8caa3790efbe205f13de37dd6e"}, +] + +[package.dependencies] +joblib = ">=1.2.0" +numpy = ">=1.19.5" +scipy = ">=1.6.0" +threadpoolctl = ">=3.1.0" + +[package.extras] +benchmark = ["matplotlib (>=3.3.4)", "memory_profiler (>=0.57.0)", "pandas (>=1.1.5)"] +build = ["cython (>=3.0.10)", "meson-python (>=0.16.0)", "numpy (>=1.19.5)", "scipy (>=1.6.0)"] +docs = ["Pillow (>=7.1.2)", "matplotlib (>=3.3.4)", "memory_profiler (>=0.57.0)", "numpydoc (>=1.2.0)", "pandas (>=1.1.5)", "plotly (>=5.14.0)", "polars (>=0.20.30)", "pooch (>=1.6.0)", "pydata-sphinx-theme (>=0.15.3)", "scikit-image (>=0.17.2)", "seaborn (>=0.9.0)", "sphinx (>=7.3.7)", "sphinx-copybutton (>=0.5.2)", "sphinx-design (>=0.5.0)", "sphinx-design (>=0.6.0)", "sphinx-gallery (>=0.17.1)", "sphinx-prompt (>=1.4.0)", "sphinx-remove-toctrees (>=1.0.0.post1)", "sphinxcontrib-sass (>=0.3.4)", "sphinxext-opengraph (>=0.9.1)", "towncrier (>=24.8.0)"] +examples = ["matplotlib (>=3.3.4)", "pandas (>=1.1.5)", "plotly (>=5.14.0)", "pooch (>=1.6.0)", "scikit-image (>=0.17.2)", "seaborn (>=0.9.0)"] +install = ["joblib (>=1.2.0)", "numpy (>=1.19.5)", "scipy (>=1.6.0)", "threadpoolctl (>=3.1.0)"] +maintenance = ["conda-lock (==2.5.6)"] +tests = ["black (>=24.3.0)", "matplotlib (>=3.3.4)", "mypy (>=1.9)", "numpydoc (>=1.2.0)", "pandas (>=1.1.5)", "polars (>=0.20.30)", "pooch (>=1.6.0)", "pyamg (>=4.0.0)", "pyarrow (>=12.0.0)", "pytest (>=7.1.2)", "pytest-cov (>=2.9.0)", "ruff (>=0.5.1)", "scikit-image (>=0.17.2)"] + [[package]] name = "scipy" version = "1.13.1" @@ -5178,23 +5745,23 @@ win32 = ["pywin32"] [[package]] name = "setuptools" -version = "75.4.0" +version = "75.6.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.9" files = [ - {file = "setuptools-75.4.0-py3-none-any.whl", hash = "sha256:b3c5d862f98500b06ffdf7cc4499b48c46c317d8d56cb30b5c8bce4d88f5c216"}, - {file = "setuptools-75.4.0.tar.gz", hash = "sha256:1dc484f5cf56fd3fe7216d7b8df820802e7246cfb534a1db2aa64f14fcb9cdcb"}, + {file = "setuptools-75.6.0-py3-none-any.whl", hash = "sha256:ce74b49e8f7110f9bf04883b730f4765b774ef3ef28f722cce7c273d253aaf7d"}, + {file = "setuptools-75.6.0.tar.gz", hash = "sha256:8199222558df7c86216af4f84c30e9b34a61d8ba19366cc914424cdbd28252f6"}, ] [package.extras] check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.7.0)"] -core = ["importlib-metadata (>=6)", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more-itertools", "more-itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] +core = ["importlib_metadata (>=6)", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] enabler = ["pytest-enabler (>=2.2)"] test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] -type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (>=1.12,<1.14)", "pytest-mypy"] +type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (>=1.12,<1.14)", "pytest-mypy"] [[package]] name = "sheets-and-friends" @@ -5232,13 +5799,13 @@ pyjsg = ">=0.11.10" [[package]] name = "six" -version = "1.16.0" +version = "1.17.0" description = "Python 2 and 3 compatibility utilities" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ - {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, - {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, + {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, + {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, ] [[package]] @@ -5435,13 +6002,13 @@ url = ["furl (>=0.4.1)"] [[package]] name = "sssom" -version = "0.4.13" +version = "0.4.15" description = "Operations on SSSOM mapping tables" optional = false python-versions = "<4.0.0,>=3.9" files = [ - {file = "sssom-0.4.13-py3-none-any.whl", hash = "sha256:6cd521ed7039bb01ec117a68c0c2ccf1863b79a96b2f6300bb01a91f849c06e7"}, - {file = "sssom-0.4.13.tar.gz", hash = "sha256:38d198d4bee2791cdd15114533d78a0bac6e5b19cde167f40cf57054b3f3cf63"}, + {file = "sssom-0.4.15-py3-none-any.whl", hash = "sha256:22eca776daaceeaa0a9133504d869c051b4eabb59abe1b5c74a34d23b83e7b0d"}, + {file = "sssom-0.4.15.tar.gz", hash = "sha256:588fbd554e5e52a20e7782ad1f0d6a237f5df9bb8494fd6a74f2cf9304aa6397"}, ] [package.dependencies] @@ -5496,13 +6063,13 @@ tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] [[package]] name = "tenacity" -version = "8.5.0" +version = "9.0.0" description = "Retry code until it succeeds" optional = false python-versions = ">=3.8" files = [ - {file = "tenacity-8.5.0-py3-none-any.whl", hash = "sha256:b594c2a5945830c267ce6b79a166228323ed52718f30302c1359836112346687"}, - {file = "tenacity-8.5.0.tar.gz", hash = "sha256:8bc6c0c8a09b31e6cad13c47afbed1a567518250a9a171418582ed8d9c20ca78"}, + {file = "tenacity-9.0.0-py3-none-any.whl", hash = "sha256:93de0c98785b27fcf659856aa9f54bfbd399e29969b0621bc7f762bd441b4539"}, + {file = "tenacity-9.0.0.tar.gz", hash = "sha256:807f37ca97d62aa361264d497b0e31e92b8027044942bfa756160d908320d73b"}, ] [package.extras] @@ -5556,6 +6123,17 @@ levenshtein = ["Levenshtein", "rapidfuzz (>=2.6.0)"] lint = ["flake8", "flake8-blind-except", "flake8-bugbear", "flake8-commas", "flake8-logging-format", "flake8-mutable", "flake8-pep3101", "flake8-quotes", "flake8-string-format", "flake8-tidy-imports", "isort", "mypy", "pep8-naming", "twine", "types-tabulate"] test = ["hypothesis", "isort", "numpy", "pytest"] +[[package]] +name = "threadpoolctl" +version = "3.5.0" +description = "threadpoolctl" +optional = false +python-versions = ">=3.8" +files = [ + {file = "threadpoolctl-3.5.0-py3-none-any.whl", hash = "sha256:56c1e26c150397e58c4926da8eeee87533b1e32bef131bd4bf6a2f45f3185467"}, + {file = "threadpoolctl-3.5.0.tar.gz", hash = "sha256:082433502dd922bf738de0d8bcc4fdcbf0979ff44c42bd40f5af8a282f6fa107"}, +] + [[package]] name = "tinycss2" version = "1.4.0" @@ -5576,51 +6154,81 @@ test = ["pytest", "ruff"] [[package]] name = "tomli" -version = "2.1.0" +version = "2.2.1" description = "A lil' TOML parser" optional = false python-versions = ">=3.8" files = [ - {file = "tomli-2.1.0-py3-none-any.whl", hash = "sha256:a5c57c3d1c56f5ccdf89f6523458f60ef716e210fc47c4cfb188c5ba473e0391"}, - {file = "tomli-2.1.0.tar.gz", hash = "sha256:3f646cae2aec94e17d04973e4249548320197cfabdf130015d023de4b74d8ab8"}, + {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"}, + {file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"}, + {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a"}, + {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee"}, + {file = "tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e"}, + {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4"}, + {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106"}, + {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8"}, + {file = "tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff"}, + {file = "tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b"}, + {file = "tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea"}, + {file = "tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8"}, + {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192"}, + {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222"}, + {file = "tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77"}, + {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6"}, + {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd"}, + {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e"}, + {file = "tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98"}, + {file = "tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4"}, + {file = "tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7"}, + {file = "tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c"}, + {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13"}, + {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281"}, + {file = "tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272"}, + {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140"}, + {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2"}, + {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744"}, + {file = "tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec"}, + {file = "tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69"}, + {file = "tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc"}, + {file = "tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff"}, ] [[package]] name = "tornado" -version = "6.4.1" +version = "6.4.2" description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." optional = false python-versions = ">=3.8" files = [ - {file = "tornado-6.4.1-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:163b0aafc8e23d8cdc3c9dfb24c5368af84a81e3364745ccb4427669bf84aec8"}, - {file = "tornado-6.4.1-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:6d5ce3437e18a2b66fbadb183c1d3364fb03f2be71299e7d10dbeeb69f4b2a14"}, - {file = "tornado-6.4.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e20b9113cd7293f164dc46fffb13535266e713cdb87bd2d15ddb336e96cfc4"}, - {file = "tornado-6.4.1-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ae50a504a740365267b2a8d1a90c9fbc86b780a39170feca9bcc1787ff80842"}, - {file = "tornado-6.4.1-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:613bf4ddf5c7a95509218b149b555621497a6cc0d46ac341b30bd9ec19eac7f3"}, - {file = "tornado-6.4.1-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:25486eb223babe3eed4b8aecbac33b37e3dd6d776bc730ca14e1bf93888b979f"}, - {file = "tornado-6.4.1-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:454db8a7ecfcf2ff6042dde58404164d969b6f5d58b926da15e6b23817950fc4"}, - {file = "tornado-6.4.1-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a02a08cc7a9314b006f653ce40483b9b3c12cda222d6a46d4ac63bb6c9057698"}, - {file = "tornado-6.4.1-cp38-abi3-win32.whl", hash = "sha256:d9a566c40b89757c9aa8e6f032bcdb8ca8795d7c1a9762910c722b1635c9de4d"}, - {file = "tornado-6.4.1-cp38-abi3-win_amd64.whl", hash = "sha256:b24b8982ed444378d7f21d563f4180a2de31ced9d8d84443907a0a64da2072e7"}, - {file = "tornado-6.4.1.tar.gz", hash = "sha256:92d3ab53183d8c50f8204a51e6f91d18a15d5ef261e84d452800d4ff6fc504e9"}, + {file = "tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e828cce1123e9e44ae2a50a9de3055497ab1d0aeb440c5ac23064d9e44880da1"}, + {file = "tornado-6.4.2-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:072ce12ada169c5b00b7d92a99ba089447ccc993ea2143c9ede887e0937aa803"}, + {file = "tornado-6.4.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a017d239bd1bb0919f72af256a970624241f070496635784d9bf0db640d3fec"}, + {file = "tornado-6.4.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c36e62ce8f63409301537222faffcef7dfc5284f27eec227389f2ad11b09d946"}, + {file = "tornado-6.4.2-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca9eb02196e789c9cb5c3c7c0f04fb447dc2adffd95265b2c7223a8a615ccbf"}, + {file = "tornado-6.4.2-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:304463bd0772442ff4d0f5149c6f1c2135a1fae045adf070821c6cdc76980634"}, + {file = "tornado-6.4.2-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:c82c46813ba483a385ab2a99caeaedf92585a1f90defb5693351fa7e4ea0bf73"}, + {file = "tornado-6.4.2-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:932d195ca9015956fa502c6b56af9eb06106140d844a335590c1ec7f5277d10c"}, + {file = "tornado-6.4.2-cp38-abi3-win32.whl", hash = "sha256:2876cef82e6c5978fde1e0d5b1f919d756968d5b4282418f3146b79b58556482"}, + {file = "tornado-6.4.2-cp38-abi3-win_amd64.whl", hash = "sha256:908b71bf3ff37d81073356a5fadcc660eb10c1476ee6e2725588626ce7e5ca38"}, + {file = "tornado-6.4.2.tar.gz", hash = "sha256:92bad5b4746e9879fd7bf1eb21dce4e3fc5128d71601f80005afa39237ad620b"}, ] [[package]] name = "tqdm" -version = "4.67.0" +version = "4.67.1" description = "Fast, Extensible Progress Meter" optional = false python-versions = ">=3.7" files = [ - {file = "tqdm-4.67.0-py3-none-any.whl", hash = "sha256:0cd8af9d56911acab92182e88d763100d4788bdf421d251616040cc4d44863be"}, - {file = "tqdm-4.67.0.tar.gz", hash = "sha256:fe5a6f95e6fe0b9755e9469b77b9c3cf850048224ecaa8293d7d2d31f97d869a"}, + {file = "tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2"}, + {file = "tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2"}, ] [package.dependencies] colorama = {version = "*", markers = "platform_system == \"Windows\""} [package.extras] -dev = ["pytest (>=6)", "pytest-cov", "pytest-timeout", "pytest-xdist"] +dev = ["nbval", "pytest (>=6)", "pytest-asyncio (>=0.24)", "pytest-cov", "pytest-timeout"] discord = ["requests"] notebook = ["ipywidgets (>=6)"] slack = ["slack-sdk"] @@ -5643,13 +6251,13 @@ test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0, [[package]] name = "types-python-dateutil" -version = "2.9.0.20241003" +version = "2.9.0.20241206" description = "Typing stubs for python-dateutil" optional = false python-versions = ">=3.8" files = [ - {file = "types-python-dateutil-2.9.0.20241003.tar.gz", hash = "sha256:58cb85449b2a56d6684e41aeefb4c4280631246a0da1a719bdbe6f3fb0317446"}, - {file = "types_python_dateutil-2.9.0.20241003-py3-none-any.whl", hash = "sha256:250e1d8e80e7bbc3a6c99b907762711d1a1cdd00e978ad39cb5940f6f0a87f3d"}, + {file = "types_python_dateutil-2.9.0.20241206-py3-none-any.whl", hash = "sha256:e248a4bc70a486d3e3ec84d0dc30eec3a5f979d6e7ee4123ae043eedbb987f53"}, + {file = "types_python_dateutil-2.9.0.20241206.tar.gz", hash = "sha256:18f493414c26ffba692a72369fea7a154c502646301ebfe3d56a04b3767284cb"}, ] [[package]] @@ -5848,81 +6456,76 @@ files = [ [[package]] name = "wrapt" -version = "1.16.0" +version = "1.17.0" description = "Module for decorators, wrappers and monkey patching." optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "wrapt-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4"}, - {file = "wrapt-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020"}, - {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440"}, - {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487"}, - {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf"}, - {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72"}, - {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0"}, - {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136"}, - {file = "wrapt-1.16.0-cp310-cp310-win32.whl", hash = "sha256:f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d"}, - {file = "wrapt-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2"}, - {file = "wrapt-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09"}, - {file = "wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d"}, - {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389"}, - {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060"}, - {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1"}, - {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3"}, - {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956"}, - {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d"}, - {file = "wrapt-1.16.0-cp311-cp311-win32.whl", hash = "sha256:66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362"}, - {file = "wrapt-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89"}, - {file = "wrapt-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b"}, - {file = "wrapt-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36"}, - {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73"}, - {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809"}, - {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b"}, - {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81"}, - {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9"}, - {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c"}, - {file = "wrapt-1.16.0-cp312-cp312-win32.whl", hash = "sha256:685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc"}, - {file = "wrapt-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8"}, - {file = "wrapt-1.16.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8"}, - {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39"}, - {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c"}, - {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40"}, - {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc"}, - {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e"}, - {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465"}, - {file = "wrapt-1.16.0-cp36-cp36m-win32.whl", hash = "sha256:da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e"}, - {file = "wrapt-1.16.0-cp36-cp36m-win_amd64.whl", hash = "sha256:6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966"}, - {file = "wrapt-1.16.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593"}, - {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292"}, - {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5"}, - {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf"}, - {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228"}, - {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f"}, - {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c"}, - {file = "wrapt-1.16.0-cp37-cp37m-win32.whl", hash = "sha256:9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c"}, - {file = "wrapt-1.16.0-cp37-cp37m-win_amd64.whl", hash = "sha256:66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00"}, - {file = "wrapt-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0"}, - {file = "wrapt-1.16.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202"}, - {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0"}, - {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e"}, - {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f"}, - {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267"}, - {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca"}, - {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6"}, - {file = "wrapt-1.16.0-cp38-cp38-win32.whl", hash = "sha256:c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b"}, - {file = "wrapt-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41"}, - {file = "wrapt-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2"}, - {file = "wrapt-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb"}, - {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8"}, - {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c"}, - {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a"}, - {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664"}, - {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f"}, - {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537"}, - {file = "wrapt-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3"}, - {file = "wrapt-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35"}, - {file = "wrapt-1.16.0-py3-none-any.whl", hash = "sha256:6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1"}, - {file = "wrapt-1.16.0.tar.gz", hash = "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"}, + {file = "wrapt-1.17.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2a0c23b8319848426f305f9cb0c98a6e32ee68a36264f45948ccf8e7d2b941f8"}, + {file = "wrapt-1.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1ca5f060e205f72bec57faae5bd817a1560fcfc4af03f414b08fa29106b7e2d"}, + {file = "wrapt-1.17.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e185ec6060e301a7e5f8461c86fb3640a7beb1a0f0208ffde7a65ec4074931df"}, + {file = "wrapt-1.17.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb90765dd91aed05b53cd7a87bd7f5c188fcd95960914bae0d32c5e7f899719d"}, + {file = "wrapt-1.17.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:879591c2b5ab0a7184258274c42a126b74a2c3d5a329df16d69f9cee07bba6ea"}, + {file = "wrapt-1.17.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fce6fee67c318fdfb7f285c29a82d84782ae2579c0e1b385b7f36c6e8074fffb"}, + {file = "wrapt-1.17.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0698d3a86f68abc894d537887b9bbf84d29bcfbc759e23f4644be27acf6da301"}, + {file = "wrapt-1.17.0-cp310-cp310-win32.whl", hash = "sha256:69d093792dc34a9c4c8a70e4973a3361c7a7578e9cd86961b2bbf38ca71e4e22"}, + {file = "wrapt-1.17.0-cp310-cp310-win_amd64.whl", hash = "sha256:f28b29dc158ca5d6ac396c8e0a2ef45c4e97bb7e65522bfc04c989e6fe814575"}, + {file = "wrapt-1.17.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:74bf625b1b4caaa7bad51d9003f8b07a468a704e0644a700e936c357c17dd45a"}, + {file = "wrapt-1.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f2a28eb35cf99d5f5bd12f5dd44a0f41d206db226535b37b0c60e9da162c3ed"}, + {file = "wrapt-1.17.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:81b1289e99cf4bad07c23393ab447e5e96db0ab50974a280f7954b071d41b489"}, + {file = "wrapt-1.17.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f2939cd4a2a52ca32bc0b359015718472d7f6de870760342e7ba295be9ebaf9"}, + {file = "wrapt-1.17.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6a9653131bda68a1f029c52157fd81e11f07d485df55410401f745007bd6d339"}, + {file = "wrapt-1.17.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4e4b4385363de9052dac1a67bfb535c376f3d19c238b5f36bddc95efae15e12d"}, + {file = "wrapt-1.17.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bdf62d25234290db1837875d4dceb2151e4ea7f9fff2ed41c0fde23ed542eb5b"}, + {file = "wrapt-1.17.0-cp311-cp311-win32.whl", hash = "sha256:5d8fd17635b262448ab8f99230fe4dac991af1dabdbb92f7a70a6afac8a7e346"}, + {file = "wrapt-1.17.0-cp311-cp311-win_amd64.whl", hash = "sha256:92a3d214d5e53cb1db8b015f30d544bc9d3f7179a05feb8f16df713cecc2620a"}, + {file = "wrapt-1.17.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:89fc28495896097622c3fc238915c79365dd0ede02f9a82ce436b13bd0ab7569"}, + {file = "wrapt-1.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:875d240fdbdbe9e11f9831901fb8719da0bd4e6131f83aa9f69b96d18fae7504"}, + {file = "wrapt-1.17.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5ed16d95fd142e9c72b6c10b06514ad30e846a0d0917ab406186541fe68b451"}, + {file = "wrapt-1.17.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18b956061b8db634120b58f668592a772e87e2e78bc1f6a906cfcaa0cc7991c1"}, + {file = "wrapt-1.17.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:daba396199399ccabafbfc509037ac635a6bc18510ad1add8fd16d4739cdd106"}, + {file = "wrapt-1.17.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4d63f4d446e10ad19ed01188d6c1e1bb134cde8c18b0aa2acfd973d41fcc5ada"}, + {file = "wrapt-1.17.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8a5e7cc39a45fc430af1aefc4d77ee6bad72c5bcdb1322cfde852c15192b8bd4"}, + {file = "wrapt-1.17.0-cp312-cp312-win32.whl", hash = "sha256:0a0a1a1ec28b641f2a3a2c35cbe86c00051c04fffcfcc577ffcdd707df3f8635"}, + {file = "wrapt-1.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:3c34f6896a01b84bab196f7119770fd8466c8ae3dfa73c59c0bb281e7b588ce7"}, + {file = "wrapt-1.17.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:714c12485aa52efbc0fc0ade1e9ab3a70343db82627f90f2ecbc898fdf0bb181"}, + {file = "wrapt-1.17.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da427d311782324a376cacb47c1a4adc43f99fd9d996ffc1b3e8529c4074d393"}, + {file = "wrapt-1.17.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba1739fb38441a27a676f4de4123d3e858e494fac05868b7a281c0a383c098f4"}, + {file = "wrapt-1.17.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e711fc1acc7468463bc084d1b68561e40d1eaa135d8c509a65dd534403d83d7b"}, + {file = "wrapt-1.17.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:140ea00c87fafc42739bd74a94a5a9003f8e72c27c47cd4f61d8e05e6dec8721"}, + {file = "wrapt-1.17.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:73a96fd11d2b2e77d623a7f26e004cc31f131a365add1ce1ce9a19e55a1eef90"}, + {file = "wrapt-1.17.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0b48554952f0f387984da81ccfa73b62e52817a4386d070c75e4db7d43a28c4a"}, + {file = "wrapt-1.17.0-cp313-cp313-win32.whl", hash = "sha256:498fec8da10e3e62edd1e7368f4b24aa362ac0ad931e678332d1b209aec93045"}, + {file = "wrapt-1.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:fd136bb85f4568fffca995bd3c8d52080b1e5b225dbf1c2b17b66b4c5fa02838"}, + {file = "wrapt-1.17.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:17fcf043d0b4724858f25b8826c36e08f9fb2e475410bece0ec44a22d533da9b"}, + {file = "wrapt-1.17.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4a557d97f12813dc5e18dad9fa765ae44ddd56a672bb5de4825527c847d6379"}, + {file = "wrapt-1.17.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0229b247b0fc7dee0d36176cbb79dbaf2a9eb7ecc50ec3121f40ef443155fb1d"}, + {file = "wrapt-1.17.0-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8425cfce27b8b20c9b89d77fb50e368d8306a90bf2b6eef2cdf5cd5083adf83f"}, + {file = "wrapt-1.17.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9c900108df470060174108012de06d45f514aa4ec21a191e7ab42988ff42a86c"}, + {file = "wrapt-1.17.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:4e547b447073fc0dbfcbff15154c1be8823d10dab4ad401bdb1575e3fdedff1b"}, + {file = "wrapt-1.17.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:914f66f3b6fc7b915d46c1cc424bc2441841083de01b90f9e81109c9759e43ab"}, + {file = "wrapt-1.17.0-cp313-cp313t-win32.whl", hash = "sha256:a4192b45dff127c7d69b3bdfb4d3e47b64179a0b9900b6351859f3001397dabf"}, + {file = "wrapt-1.17.0-cp313-cp313t-win_amd64.whl", hash = "sha256:4f643df3d4419ea3f856c5c3f40fec1d65ea2e89ec812c83f7767c8730f9827a"}, + {file = "wrapt-1.17.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:69c40d4655e078ede067a7095544bcec5a963566e17503e75a3a3e0fe2803b13"}, + {file = "wrapt-1.17.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f495b6754358979379f84534f8dd7a43ff8cff2558dcdea4a148a6e713a758f"}, + {file = "wrapt-1.17.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:baa7ef4e0886a6f482e00d1d5bcd37c201b383f1d314643dfb0367169f94f04c"}, + {file = "wrapt-1.17.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8fc931382e56627ec4acb01e09ce66e5c03c384ca52606111cee50d931a342d"}, + {file = "wrapt-1.17.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8f8909cdb9f1b237786c09a810e24ee5e15ef17019f7cecb207ce205b9b5fcce"}, + {file = "wrapt-1.17.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ad47b095f0bdc5585bced35bd088cbfe4177236c7df9984b3cc46b391cc60627"}, + {file = "wrapt-1.17.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:948a9bd0fb2c5120457b07e59c8d7210cbc8703243225dbd78f4dfc13c8d2d1f"}, + {file = "wrapt-1.17.0-cp38-cp38-win32.whl", hash = "sha256:5ae271862b2142f4bc687bdbfcc942e2473a89999a54231aa1c2c676e28f29ea"}, + {file = "wrapt-1.17.0-cp38-cp38-win_amd64.whl", hash = "sha256:f335579a1b485c834849e9075191c9898e0731af45705c2ebf70e0cd5d58beed"}, + {file = "wrapt-1.17.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d751300b94e35b6016d4b1e7d0e7bbc3b5e1751e2405ef908316c2a9024008a1"}, + {file = "wrapt-1.17.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7264cbb4a18dc4acfd73b63e4bcfec9c9802614572025bdd44d0721983fc1d9c"}, + {file = "wrapt-1.17.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:33539c6f5b96cf0b1105a0ff4cf5db9332e773bb521cc804a90e58dc49b10578"}, + {file = "wrapt-1.17.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c30970bdee1cad6a8da2044febd824ef6dc4cc0b19e39af3085c763fdec7de33"}, + {file = "wrapt-1.17.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:bc7f729a72b16ee21795a943f85c6244971724819819a41ddbaeb691b2dd85ad"}, + {file = "wrapt-1.17.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:6ff02a91c4fc9b6a94e1c9c20f62ea06a7e375f42fe57587f004d1078ac86ca9"}, + {file = "wrapt-1.17.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2dfb7cff84e72e7bf975b06b4989477873dcf160b2fd89959c629535df53d4e0"}, + {file = "wrapt-1.17.0-cp39-cp39-win32.whl", hash = "sha256:2399408ac33ffd5b200480ee858baa58d77dd30e0dd0cab6a8a9547135f30a88"}, + {file = "wrapt-1.17.0-cp39-cp39-win_amd64.whl", hash = "sha256:4f763a29ee6a20c529496a20a7bcb16a73de27f5da6a843249c7047daf135977"}, + {file = "wrapt-1.17.0-py3-none-any.whl", hash = "sha256:d2c63b93548eda58abf5188e505ffed0229bf675f7c3090f8e36ad55b8cbc371"}, + {file = "wrapt-1.17.0.tar.gz", hash = "sha256:16187aa2317c731170a88ef35e8937ae0f533c402872c1ee5e6d079fcf320801"}, ] [[package]] @@ -5950,4 +6553,4 @@ docs = [] [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "80b2d052b989d8c4f4f31c52b63cd94f4ade6b1df15c98099b2453095d34187b" +content-hash = "73bc91ecb5b566a38d3e80d1b4562ad31a616a6d2079235061639e70a010fcee" diff --git a/pyproject.toml b/pyproject.toml index f17c1543..ea3daab5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,17 +22,24 @@ python = "^3.9" linkml-runtime = "^1.6.2" [tool.poetry.group.dev.dependencies] +db-dtypes = "^1.3.1" +duckdb = "^1.1.3" +duckdb-engine = "^0.13.6" exhaustion-check = "^0.1.3" +google-cloud-bigquery = "^3.27.0" +inflection = "^0.5.1" +jupyter = "^1.1.1" +jupyter-datatables = "^0.3.9" linkml = "^1.7.10" +matplotlib = "^3.9.2" mkdocs-material = "^9.1.2" mkdocs-mermaid2-plugin = "^0.6.0" -oaklib = "^0.5.28" # https://pypi.org/project/oaklib/0.5.6/ +oaklib = "^0.6.1" # was using 0.5.6 up to 2024-12-10 +pymongo = "^4.10.1" rdflib = "^6.2.0" +scikit-learn = "^1.5.2" sheets-and-friends = "^0.5.4" -jupyter = "^1.1.1" -matplotlib = "^3.9.2" textdistance = "^4.6.3" -jupyter-datatables = "^0.3.9" [tool.poetry-dynamic-versioning] # We need poetry-dynamic-versioning to update the version in the src schema file, diff --git a/qy.tsv b/qy.tsv deleted file mode 100644 index e69de29b..00000000