From e0b83d04088d7eab72b070fbf4b5cb28342d4743 Mon Sep 17 00:00:00 2001 From: francescalb Date: Wed, 22 Sep 2021 18:06:06 +0200 Subject: [PATCH 1/6] Added function to load the emmo (the ontology) directly --- emmopy/__init__.py | 6 ++++++ emmopy/emmopy.py | 19 +++++++++++++++++++ tests/test_load_emmo.py | 7 +++++-- 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 emmopy/emmopy.py diff --git a/emmopy/__init__.py b/emmopy/__init__.py index 378a166f5..0c4d63450 100644 --- a/emmopy/__init__.py +++ b/emmopy/__init__.py @@ -11,3 +11,9 @@ # Ensure emmopy is imported before owlready2... if 'owlready2' in sys.modules.keys() and "ontopy" not in sys.modules.keys(): raise RuntimeError('emmopy must be imported before owlready2') + +# Import functions from emmopy +from .emmopy import emmo + + +__all__ = ("emmo",) diff --git a/emmopy/emmopy.py b/emmopy/emmopy.py new file mode 100644 index 000000000..314d31543 --- /dev/null +++ b/emmopy/emmopy.py @@ -0,0 +1,19 @@ +from ontopy import get_ontology +from typing import Optional + + +def emmo(inferred: Optional[bool] = True): + """Returns the current version of emmo. + + Args: + inferred: Whether to import the inferred version of emmo or not. + Default is True. + + Returns: + the loaded emmo ontology. + """ + if inferred == True: + name = 'emmo-inferred' + else: + name = 'emmo' + return get_ontology(name).load() diff --git a/tests/test_load_emmo.py b/tests/test_load_emmo.py index 0d32fe537..92e88dd98 100644 --- a/tests/test_load_emmo.py +++ b/tests/test_load_emmo.py @@ -6,7 +6,10 @@ def test_load_emmo() -> None: thisdir = os.path.abspath(os.path.dirname(__file__)) sys.path.insert(1, os.path.abspath(os.path.join(thisdir, '..'))) from ontopy import get_ontology # noqa: E402, F401 + from emmopy import emmo + onto = get_ontology() + onto.load() - emmo = get_ontology() - emmo.load() + emmo = emmo() + emmo_inferred = emmo(inferred=False) From 692c50322466922f235a2bfd9eb015249c8330f9 Mon Sep 17 00:00:00 2001 From: francescalb Date: Thu, 23 Sep 2021 13:36:38 +0200 Subject: [PATCH 2/6] Changed to function name from emmo to get_emmo --- emmopy/emmopy.py | 14 +++++++------- tests/test_load_emmo.py | 10 +++++----- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/emmopy/emmopy.py b/emmopy/emmopy.py index 314d31543..ade617a62 100644 --- a/emmopy/emmopy.py +++ b/emmopy/emmopy.py @@ -1,8 +1,11 @@ from ontopy import get_ontology -from typing import Optional +from typing import Optional, TYPE_CHECKING +if TYPE_CHECKING: + from ontopy.ontology import Ontology -def emmo(inferred: Optional[bool] = True): + +def get_emmo(inferred: Optional[bool] = True) -> "Ontology": """Returns the current version of emmo. Args: @@ -10,10 +13,7 @@ def emmo(inferred: Optional[bool] = True): Default is True. Returns: - the loaded emmo ontology. + The loaded emmo ontology. """ - if inferred == True: - name = 'emmo-inferred' - else: - name = 'emmo' + name = 'emmo-inferred' if inferred else 'emmo' return get_ontology(name).load() diff --git a/tests/test_load_emmo.py b/tests/test_load_emmo.py index 92e88dd98..40ea5757c 100644 --- a/tests/test_load_emmo.py +++ b/tests/test_load_emmo.py @@ -6,10 +6,10 @@ def test_load_emmo() -> None: thisdir = os.path.abspath(os.path.dirname(__file__)) sys.path.insert(1, os.path.abspath(os.path.join(thisdir, '..'))) from ontopy import get_ontology # noqa: E402, F401 - from emmopy import emmo + from emmopy import get_emmo - onto = get_ontology() - onto.load() + emmo = get_ontology() + emmo.load() - emmo = emmo() - emmo_inferred = emmo(inferred=False) + EMMO_inferred = get_emmo() + EMMO = get_emmo(inferred=False) From 521b634ab14bddfda15a5980a790eacfd23ce440 Mon Sep 17 00:00:00 2001 From: francescalb Date: Thu, 23 Sep 2021 21:03:48 +0200 Subject: [PATCH 3/6] Corrected import of get_emmo from emmopy in __init__.py --- emmopy/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/emmopy/__init__.py b/emmopy/__init__.py index 0c4d63450..aabbad8f4 100644 --- a/emmopy/__init__.py +++ b/emmopy/__init__.py @@ -13,7 +13,7 @@ raise RuntimeError('emmopy must be imported before owlready2') # Import functions from emmopy -from .emmopy import emmo +from .emmopy import get_emmo -__all__ = ("emmo",) +__all__ = ("get_emmo",) From 51c1ec71aa1d42cc5a1c6af9c83cfd4e72f0e0bb Mon Sep 17 00:00:00 2001 From: francescalb <48128015+francescalb@users.noreply.github.com> Date: Fri, 24 Sep 2021 11:11:54 +0200 Subject: [PATCH 4/6] Specify inferred=None equal inferred= True, and add this to test Good suggestions from Casper. Co-authored-by: Casper Welzel Andersen <43357585+CasperWA@users.noreply.github.com> --- emmopy/emmopy.py | 1 + tests/test_load_emmo.py | 1 + 2 files changed, 2 insertions(+) diff --git a/emmopy/emmopy.py b/emmopy/emmopy.py index ade617a62..51ccd86e2 100644 --- a/emmopy/emmopy.py +++ b/emmopy/emmopy.py @@ -15,5 +15,6 @@ def get_emmo(inferred: Optional[bool] = True) -> "Ontology": Returns: The loaded emmo ontology. """ + inferred = True if inferred is None else False name = 'emmo-inferred' if inferred else 'emmo' return get_ontology(name).load() diff --git a/tests/test_load_emmo.py b/tests/test_load_emmo.py index 40ea5757c..5dab745e9 100644 --- a/tests/test_load_emmo.py +++ b/tests/test_load_emmo.py @@ -13,3 +13,4 @@ def test_load_emmo() -> None: EMMO_inferred = get_emmo() EMMO = get_emmo(inferred=False) + assert EMMO_inferred == get_emmo(None) From 7916adc442b7902a36a83bbcc0f407e16fe66e1d Mon Sep 17 00:00:00 2001 From: francescalb Date: Fri, 24 Sep 2021 14:06:53 +0200 Subject: [PATCH 5/6] Corrected that inferred=True gives emmo-inferred in get_emmo --- emmopy/emmopy.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/emmopy/emmopy.py b/emmopy/emmopy.py index 51ccd86e2..9d212c62a 100644 --- a/emmopy/emmopy.py +++ b/emmopy/emmopy.py @@ -15,6 +15,5 @@ def get_emmo(inferred: Optional[bool] = True) -> "Ontology": Returns: The loaded emmo ontology. """ - inferred = True if inferred is None else False - name = 'emmo-inferred' if inferred else 'emmo' + name = 'emmo-inferred' if inferred in [True, None] else 'emmo' return get_ontology(name).load() From 7bb34b03676febec31009e38dbc4402be044f849 Mon Sep 17 00:00:00 2001 From: francescalb Date: Fri, 24 Sep 2021 15:13:21 +0200 Subject: [PATCH 6/6] Testing qual base_iri when checking same ontolgy in test_load_emmo --- tests/test_load_emmo.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/test_load_emmo.py b/tests/test_load_emmo.py index 5dab745e9..75d0a5e7a 100644 --- a/tests/test_load_emmo.py +++ b/tests/test_load_emmo.py @@ -13,4 +13,5 @@ def test_load_emmo() -> None: EMMO_inferred = get_emmo() EMMO = get_emmo(inferred=False) - assert EMMO_inferred == get_emmo(None) + assert EMMO_inferred.base_iri == get_emmo(None).base_iri +