Skip to content

Commit d35ad59

Browse files
committed
Create URIs for Enums in same style as for classes & slots
1 parent 6725464 commit d35ad59

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
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 & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -640,6 +640,9 @@ def test_imports(schema_view_with_imports: SchemaView) -> None:
640640
assert view.get_uri("TestClass", use_element_type=True) == "core:class/TestClass"
641641
assert view.get_uri("name", use_element_type=True) == "core:slot/name"
642642

643+
assert view.get_uri("OrganismType") == "ks:OrganismType"
644+
assert view.get_uri("OrganismType", use_element_type=True) == "ks:enum/OrganismType"
645+
643646
assert view.get_uri("string") == "xsd:string"
644647

645648
# dynamic enums
@@ -1263,11 +1266,11 @@ def test_uris_without_default_prefix() -> None:
12631266
view = SchemaView(schema_definition)
12641267
view.add_class(ClassDefinition(name="TestClass", from_schema="https://example.org/another#"))
12651268
view.add_slot(SlotDefinition(name="test_slot", from_schema="https://example.org/another#"))
1269+
view.add_enum(EnumDefinition(name="tEsT_enum", from_schema="https://example.org/another#"))
12661270

12671271
assert view.get_uri("TestClass", imports=True) == "https://example.org/test#TestClass"
12681272
assert view.get_uri("test_slot", imports=True) == "https://example.org/test#test_slot"
1269-
1270-
1273+
assert view.get_uri("tEsT_enum", imports=True) == "https://example.org/test#tEsT_enum"
12711274
"""
12721275
merge_schema tests: https://github.com/linkml/linkml/issues/1143
12731276
"""
@@ -1476,3 +1479,4 @@ def test_class_name_mappings() -> None:
14761479
assert set(view.all_slots()) == set(slot_names)
14771480
assert set(view.slot_name_mappings()) == set(slot_names.values())
14781481
assert {snm_def.name: snm for snm, snm_def in view.slot_name_mappings().items()} == slot_names
1482+

0 commit comments

Comments
 (0)