Skip to content

Commit 4e0b501

Browse files
committed
Create URIs for Enums in same style as for classes & slots
1 parent 9501812 commit 4e0b501

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

linkml_runtime/utils/schemaview.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1213,6 +1213,9 @@ def get_uri(
12131213
elif isinstance(e, SlotDefinition):
12141214
uri = e.slot_uri
12151215
e_name = underscore(e.name)
1216+
elif isinstance(e, EnumDefinition):
1217+
uri = e.enum_uri
1218+
e_name = e.name
12161219
elif isinstance(e, TypeDefinition):
12171220
uri = e.uri
12181221
e_name = underscore(e.name)

tests/test_utils/test_schemaview.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from linkml_runtime.linkml_model.meta import (
1313
ClassDefinition,
1414
ClassDefinitionName,
15+
EnumDefinition,
1516
Example,
1617
Prefix,
1718
SchemaDefinition,
@@ -517,6 +518,9 @@ def test_imports(schema_view_with_imports: SchemaView) -> None:
517518
assert view.get_uri("TestClass", use_element_type=True) == "core:class/TestClass"
518519
assert view.get_uri("name", use_element_type=True) == "core:slot/name"
519520

521+
assert view.get_uri("OrganismType") == "ks:OrganismType"
522+
assert view.get_uri("OrganismType", use_element_type=True) == "ks:enum/OrganismType"
523+
520524
assert view.get_uri("string") == "xsd:string"
521525

522526
# dynamic enums
@@ -988,6 +992,8 @@ def test_uris_without_default_prefix() -> None:
988992
view = SchemaView(schema_definition)
989993
view.add_class(ClassDefinition(name="TestClass", from_schema="https://example.org/another#"))
990994
view.add_slot(SlotDefinition(name="test_slot", from_schema="https://example.org/another#"))
995+
view.add_enum(EnumDefinition(name="tEsT_enum", from_schema="https://example.org/another#"))
991996

992997
assert view.get_uri("TestClass", imports=True) == "https://example.org/test#TestClass"
993998
assert view.get_uri("test_slot", imports=True) == "https://example.org/test#test_slot"
999+
assert view.get_uri("tEsT_enum", imports=True) == "https://example.org/test#tEsT_enum"

0 commit comments

Comments
 (0)