diff --git a/poetry.lock b/poetry.lock index efb6ceeb6..aaba0dfc1 100644 --- a/poetry.lock +++ b/poetry.lock @@ -5298,46 +5298,46 @@ stats = ["scipy (>=1.3)", "statsmodels (>=0.10)"] [[package]] name = "semsimian" -version = "0.2.13" +version = "0.2.15" description = "Sematic similarity calculations for ontologies implemented in Rust." optional = true python-versions = ">=3.7" files = [ - {file = "semsimian-0.2.13-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:0cae647709461a8b32dbe4b8fdf3d0c3af4f159a508fd2761f6f359dbb8a5047"}, - {file = "semsimian-0.2.13-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:37933f826145cb44bfcd3dd550023fd6834c12c7b51e39a5f74255daf9fe1037"}, - {file = "semsimian-0.2.13-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:981da80284bd72c4dcc8c4f5f2c6a5c55f83c59b7b9c5362ffc25a1896c41496"}, - {file = "semsimian-0.2.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f69c84b55f53baed192d6d463e07290f4a2c8066666099bc09c425b7ab52bad5"}, - {file = "semsimian-0.2.13-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:fb7573f397f681e660144f2d8caed0dd6f18626519144b142b215f6fea110a4e"}, - {file = "semsimian-0.2.13-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f47bf27f54b7226f795633366d0217c0cf640bbaf0a21b9e5bd7ee562d5c9a42"}, - {file = "semsimian-0.2.13-cp310-none-win_amd64.whl", hash = "sha256:65157616584f134559090dddd7dd3ce12e7b08782dcd8fd4031b0a59dd52e076"}, - {file = "semsimian-0.2.13-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:9efd16b6306e53a86db94c896970b2466d7b62ee8249d733e4e2eadc25a5aafa"}, - {file = "semsimian-0.2.13-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:74ad10a7bc6f9ee8b65b04725b1aeb6308f4a4fda000409d010b1baa5ef066ae"}, - {file = "semsimian-0.2.13-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dc60f61e3d804257e612a567195309a5d460b5b616a88fb6b167624b665811c1"}, - {file = "semsimian-0.2.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be7dd32221551b568f003cf75cddfd8ed6f5902e0278dc13e0a558599faa3316"}, - {file = "semsimian-0.2.13-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:aac8ccadb190c52f4ea49c72e5a19fbdffce12c074a68aba5f43702059d1ac50"}, - {file = "semsimian-0.2.13-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3a3217f3f8bc19a2d760bb2494ee8536837b8e75d6432b8bc07d0642d8efef51"}, - {file = "semsimian-0.2.13-cp311-none-win_amd64.whl", hash = "sha256:4d3a24d7089f2c1563c027b2bf22a868fe241e9fa32ad6ad80d9977a2bd72de8"}, - {file = "semsimian-0.2.13-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:587b77602403bb80ac8920c0db04880babb868703665bc0d548a7d5d7fe59f19"}, - {file = "semsimian-0.2.13-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:812cf8257a4e77aec036790c33dc1d4abdfdec4424ece71cbadab36625f13b9a"}, - {file = "semsimian-0.2.13-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fff9a04b34b281206815a462177d188f2c6821e22ac3d63353e246a7e4c08f7e"}, - {file = "semsimian-0.2.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2a091f6a1ba54ae3c22bdd557d2fc8a85b37d09a7dde04f420bcb249b82e341"}, - {file = "semsimian-0.2.13-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8c2153761fff03815b9a953a71a15b8444860af801489f2e55bfdd8c5044461c"}, - {file = "semsimian-0.2.13-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:89967703890aa380f2fae7548d1802890edf2f5dec99a1c93f952692e030a4fd"}, - {file = "semsimian-0.2.13-cp312-none-win_amd64.whl", hash = "sha256:6aa60e95a6db252fa7c19c0cb0ed27053e70cedd67516486d8ddfbfd5439b633"}, - {file = "semsimian-0.2.13-cp38-cp38-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:04a43e56a5ffbb32ac83215b86a3a04ae3b0e37002eaa1024a0d18a86247b2ef"}, - {file = "semsimian-0.2.13-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:3bf5cbc9cd08caa55e86bc6b8157e7b1ca1c455647f9ed6c25251f6f84c8041e"}, - {file = "semsimian-0.2.13-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16b86a3f4bafb357ebb4fe624acbf4c30d0d4e2a565f448a4117333f5cd92766"}, - {file = "semsimian-0.2.13-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f719191a8f21cda9748c7b0ebe1d24f1ca7d273a0cb073390dfee0bff8edc329"}, - {file = "semsimian-0.2.13-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:5ce834fc650b1a5a2a6273e2864973c711f6d19ac3e2075fcbe3cea528c199f2"}, - {file = "semsimian-0.2.13-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:a07e31cb823014a6e1ee5677a108990f163dccbea26741a5bd44546a36e14757"}, - {file = "semsimian-0.2.13-cp38-none-win_amd64.whl", hash = "sha256:0aac7281cb363a6c37efd4e5aed8557dfb3581ce312cb6307044e268fceb726f"}, - {file = "semsimian-0.2.13-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:1536672d9d9cce13f11321be32d2b8472afa7abde4f5de98e5fa7cf21deb60f9"}, - {file = "semsimian-0.2.13-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:31ebb7242291f41207b97a04969f73832a8bc9055025add8d21be9a3cb323f4a"}, - {file = "semsimian-0.2.13-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a0e25ad658c63ff88012d91cdf0496e3abb75138891838b75a2b58dd0044399"}, - {file = "semsimian-0.2.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b78a2433a63643101f5491e6c96be5d2978cbb920551817bb3cb8ebe118618f"}, - {file = "semsimian-0.2.13-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:e09e40663ae3a8e588042081a889e5d731f7d525d255287c264bfba55941e5de"}, - {file = "semsimian-0.2.13-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6fd0fb9a4a2b1f8a8231e5278e6b4b3ca6148c26fe6627caaf3b9f90de62c550"}, - {file = "semsimian-0.2.13-cp39-none-win_amd64.whl", hash = "sha256:e597c45a456512b8260a990c89c00f37aa773bab94de4b4e9826081fe8feacae"}, + {file = "semsimian-0.2.15-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:7ecdda0c76d85110da83e842be93c5cd4d7093f1fa6ee0c024ae50712c4e2c7b"}, + {file = "semsimian-0.2.15-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:4e3e302f7d3a456b055d1bde4e6e3a01705353779446b32dd8c01eaf1a88419f"}, + {file = "semsimian-0.2.15-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:008d85e3ddca6224016e14868b30ca4f489354eac77a0bba3764c1c4e18e7f43"}, + {file = "semsimian-0.2.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1397b2a3136afbe86664277116144c2ac463fec333cba0af62fb130965a84fe"}, + {file = "semsimian-0.2.15-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f55703fc99121ee86e7f26afc2ec5f7a42e45e16266852aea21df48205270ad2"}, + {file = "semsimian-0.2.15-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1799185b18f12755a841c9c38e1b1ced95127cd018007477d9a3cb0c0fed1d02"}, + {file = "semsimian-0.2.15-cp310-none-win_amd64.whl", hash = "sha256:60c8b794ec15a53f5a1a3d729068f64cb48a349c0e6fc280b5ea7efce23034a2"}, + {file = "semsimian-0.2.15-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:7f87d78e6a4f649f91450d14af2070e7d93d136640aef9148adbc88b89991980"}, + {file = "semsimian-0.2.15-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:3bc0a6d82ebd15151a75eaf66ff7be5e69dece0e71c5d586233bae4d5e5d6a05"}, + {file = "semsimian-0.2.15-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:719759a9b3eedeb4faa7837a8125cecce45dc5699dd66dda4673bfae8173ffce"}, + {file = "semsimian-0.2.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1afeeae6b5c606da1a51d46faf13521bd721dba5eb9e5dbec7be15088a99e823"}, + {file = "semsimian-0.2.15-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:007ed1751dc06d3fecd76e7184bd5f364736516ed095babd4b68a843f15aa1a8"}, + {file = "semsimian-0.2.15-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:2f844f76d8d8a5c7f824440aad75626e3f16c245a7019066dbc5d0cd81225237"}, + {file = "semsimian-0.2.15-cp311-none-win_amd64.whl", hash = "sha256:9c846bb6bdaef42451412b4fc5b6be2e696692f8f43da2dd0bf833070115c054"}, + {file = "semsimian-0.2.15-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:139cf0a4f38d34e0a93222278c3fa270e96977b2bf9aa11d8851d7cfd7dd6c4e"}, + {file = "semsimian-0.2.15-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:74f6283e773913697186f44e21868c720339bae201debfced85a7e0c3f1cbcc8"}, + {file = "semsimian-0.2.15-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d91d095a7dca4a5616edd8873ba7c843d1f0d66c8a9b72fb5f6c52c0152af84"}, + {file = "semsimian-0.2.15-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:336f373981d1a052815c18c84ddfc222e79919b17a1de9f74c286e059a8baeca"}, + {file = "semsimian-0.2.15-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:119e31772b7698ea4cec7df003c09c78399db8a7a373a77bae8a3fca9b6b69a5"}, + {file = "semsimian-0.2.15-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:76525a68656c96cc78501dd2659751760c41596523299301cc7e7d24d08bd5f2"}, + {file = "semsimian-0.2.15-cp312-none-win_amd64.whl", hash = "sha256:921b11acce6c6bfa33c0b9e250ded0493c040e3dea1d480b3c2cf5170a1f0cee"}, + {file = "semsimian-0.2.15-cp38-cp38-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:81d91cc009b58c602840677549727a9b0c9802c353f9849599a510c756ca5ab2"}, + {file = "semsimian-0.2.15-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:375818b9159fddcd6031cd1cdf806676c1b688dd683c753e885074c03351294a"}, + {file = "semsimian-0.2.15-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0a3e45d9408ab0f060cf213f912d9a55b7df2168aa754ab7e777d9a1505079f"}, + {file = "semsimian-0.2.15-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a22612a59ef1865883a7feff52accdbcf8951b0b3d50e3fbe33419b3157fde34"}, + {file = "semsimian-0.2.15-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:5fdda8cb5b694153b1665f7539c73227d8545f93b176286b68965696c7d8115b"}, + {file = "semsimian-0.2.15-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:c6d00e0c1a8034ee9dd634869a7fc53b88759da154cb3df05aac532a0e647d8c"}, + {file = "semsimian-0.2.15-cp38-none-win_amd64.whl", hash = "sha256:41d94ed2c36129c22048213c56722373d2e8e3f7e6a8fdc6d6fd78124caa4d91"}, + {file = "semsimian-0.2.15-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:468456dd56150e2ef858864f547f545e807db2280372382493fe19bd756ab4f3"}, + {file = "semsimian-0.2.15-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:74609f766bb62a95e1e97d99fb0929bb67a5d3a9f4af3cce295bbf0c6aa83f31"}, + {file = "semsimian-0.2.15-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a07dd055f2ede32adb0a4614ef3913f163b4856631b7d362242ddcc20b57333"}, + {file = "semsimian-0.2.15-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b0019d6af552d69ccd7395783d8f3c7fb7ba564e1a1101317c6cb5827e7c6c62"}, + {file = "semsimian-0.2.15-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:b0cccdbc5a5b1b75aa6f8789251a00bfcdceb52e15b6b297c27d3247e366ae77"}, + {file = "semsimian-0.2.15-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b0f99eb1e193c43e796792734eace9e3ce25b915d42d3fb83661524ef0adc36d"}, + {file = "semsimian-0.2.15-cp39-none-win_amd64.whl", hash = "sha256:aaaa6334e53fff8dc44470d4dd1f4fc61ef804cd4cb43d7bf4c5897a1d59174f"}, ] [[package]] @@ -6563,4 +6563,4 @@ semsimian = ["semsimian"] [metadata] lock-version = "2.0" python-versions = ">=3.9,<4.0.0" -content-hash = "4741a5db8b062457de5bc6ea86107f2a816cfa25f4bf29d4cee1cd9a66cb120d" +content-hash = "1a7d5a135ecd6016d915620c07c4094acd2fc55b0a0e6d90db22d59953ceb16f" diff --git a/pyproject.toml b/pyproject.toml index 86d8b1992..de91464e4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,7 +23,7 @@ kgcl-schema = "^0.6.5" funowl = ">=0.2.0" gilda = {version = ">=1.0.0", optional = true} -semsimian = {version = ">=0.1.0", optional = true} +semsimian = {version = ">=0.2.15", optional = true} kgcl-rdflib = "0.5.0" llm = {version = "*", optional = true} aiohttp = {version = "*", optional = true} diff --git a/tests/test_implementations/test_bioportal.py b/tests/test_implementations/test_bioportal.py index 2b2ebf7d1..2b6eba82b 100644 --- a/tests/test_implementations/test_bioportal.py +++ b/tests/test_implementations/test_bioportal.py @@ -1,6 +1,7 @@ import itertools import logging import unittest +from unittest import mock from linkml_runtime.dumpers import yaml_dumper from oaklib.implementations.ontoportal.bioportal_implementation import ( @@ -75,11 +76,35 @@ def test_ontology_versions(self): self.assertIn("5.0.0", versions) self.assertIn("v3.2.1", versions) - def test_ontology_metadata(self): + @mock.patch("oaklib.implementations.ontoportal.bioportal_implementation.BioPortalImplementation") + def test_ontology_metadata(self, mock_impl): + mock_impl.return_value = { + "id": "OBI", + "title": "Ontology for Biomedical Investigations", + "hasOntologyLanguage": "OWL", + "released": "2024-01-22T18:11:12-08:00", + "creationDate": "2024-01-22T18:11:18-08:00", + "homepage": "http://purl.obolibrary.org/obo/obi", + "publication": "http://purl.obolibrary.org/obo/obi/Technical_Reports", + "documentation": "http://purl.obolibrary.org/obo/obi/wiki", + "version": "2024-01-09", + "description": 'OBI is an ontology of investigations, the protocols and instrumentation used,\ + the material used, the data generated and the types of analysis performed on it.\ +

\r\nTo import,
\r\nLatest version:\ + http://purl.obolibrary.org/obo/obi.owl
\ + \r\n
\r\nLatest release notes at \ + http://purl.obolibrary.org/obo/obi/release-notes.html
\r\n
\r\nNote: BFO 2.0 pre-Graz\ + release (not official release version) was used in this release.', + "status": "production", + "submissionId": 53, + "submission_uri": "https://data.bioontology.org/ontologies/OBI/submissions/53", + "type": "http://data.bioontology.org/metadata/OntologySubmission", + } metadata = self.impl.ontology_metadata_map("OBI") self.assertIn("title", metadata) self.assertEqual(metadata["title"], "Ontology for Biomedical Investigations") self.assertIn("homepage", metadata) self.assertEqual(metadata["homepage"], "http://purl.obolibrary.org/obo/obi") - self.assertIn("classes", metadata) - self.assertIsInstance(metadata["classes"], int) + # ! The following test is commented out because the metadata does not have the "classes" fields any more. + # self.assertIn("classes", metadata) + # self.assertIsInstance(metadata["classes"], int)