prez
prez copied to clipboard
Some URLs throw "Can't split" errors
For http://www.opengis.net/spec/ogcapi-features-1/1.0/
Prez generates the following friendly URL: http://defs-dev.opengis.net/prez/v/vocab/gcp-ftrs-1:1.0
This triggers the following exception:
Traceback (most recent call last):
File "/app/.venv/lib/python3.11/site-packages/starlette/middleware/base.py", line 108, in __call__
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/prez/app.py", line 85, in add_cors_headers
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.11/site-packages/starlette/middleware/base.py", line 84, in call_next
raise app_exc
File "/app/.venv/lib/python3.11/site-packages/starlette/middleware/base.py", line 70, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/app/.venv/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 79, in __call__
raise exc
File "/app/.venv/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 68, in __call__
await self.app(scope, receive, sender)
File "/app/.venv/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__
raise e
File "/app/.venv/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
await self.app(scope, receive, send)
File "/app/.venv/lib/python3.11/site-packages/starlette/routing.py", line 718, in __call__
await route.handle(scope, receive, send)
File "/app/.venv/lib/python3.11/site-packages/starlette/routing.py", line 276, in handle
await self.app(scope, receive, send)
File "/app/.venv/lib/python3.11/site-packages/starlette/routing.py", line 66, in app
response = await func(request)
^^^^^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.11/site-packages/fastapi/routing.py", line 237, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.11/site-packages/fastapi/routing.py", line 163, in run_endpoint_function
return await dependant.call(**values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/prez/routers/vocprez.py", line 83, in vocprez_scheme
return await object_function(request, object_curie=scheme_curie, repo=repo)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/prez/services/objects.py", line 84, in object_function
await _add_prez_links(item_graph, repo)
File "/app/prez/services/link_generation.py", line 21, in _add_prez_links
await _create_internal_links_graph(uri, graph, repo)
File "/app/prez/services/link_generation.py", line 41, in _create_internal_links_graph
quads = generate_system_links_object(result, uri)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/prez/services/link_generation.py", line 85, in generate_system_links_object
} | {"object": get_curie_id_for_uri(URIRef(object_uri))}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/prez/services/curie_functions.py", line 84, in get_curie_id_for_uri
qname = prefix_graph.compute_qname(uri, generate=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.11/site-packages/rdflib/graph.py", line 1188, in compute_qname
return self.namespace_manager.compute_qname(uri, generate)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.11/site-packages/rdflib/namespace/__init__.py", line 516, in compute_qname
raise e
File "/app/.venv/lib/python3.11/site-packages/rdflib/namespace/__init__.py", line 510, in compute_qname
namespace, name = split_uri(uri)
^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.11/site-packages/rdflib/namespace/__init__.py", line 817, in split_uri
raise ValueError("Can't split '{}'".format(uri))
ValueError: Can't split 'http://www.opengis.net/spec/ogcapi-features-1/1.0/'