prez icon indicating copy to clipboard operation
prez copied to clipboard

Some URLs throw "Can't split" errors

Open avillar opened this issue 1 year ago • 0 comments

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/'

avillar avatar Jan 08 '24 13:01 avillar