Skip to content

Instantly share code, notes, and snippets.

@anatoly-scherbakov
Created November 13, 2021 11:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anatoly-scherbakov/ee60c200986e664bd944ed3712569591 to your computer and use it in GitHub Desktop.
Save anatoly-scherbakov/ee60c200986e664bd944ed3712569591 to your computer and use it in GitHub Desktop.
Cryptic `LUUU` error when adding an invalid triple into graph
import logging
from sys import version as python_version
from rdflib import RDF, SDO, ConjunctiveGraph, Literal, URIRef
from rdflib import __version__ as rdflib_version
from rdflib import plugin
from rdflib.store import Store
from rdflib_sqlalchemy import __version__ as rdflib_sqlalchemy_version
logger = logging.getLogger(__name__)
def test_sqlalchemy_luuu():
logger.info(f'Python version: {python_version}')
logger.info(f'RDFLib version: {rdflib_version}')
logger.info(f'RDFLib-SQLAlchemy version: {rdflib_sqlalchemy_version}')
identifier = URIRef('local://test_sqlalchemy_luuu/')
store = plugin.get(
'SQLAlchemy',
Store,
)(
identifier=identifier,
)
graph = ConjunctiveGraph(
store=store,
identifier=identifier,
)
graph.open('sqlite:///', create=True)
graph.add([
Literal('https://example.org'), # <--- sic!
RDF.type,
SDO.WebSite,
URIRef('https://example.org/about/'),
])
@anatoly-scherbakov
Copy link
Author

FAILED                      [100%]
2021-11-13 18:43:27,712 [INFO] tests.test_experiments.test_sqlalchemy_luu: Python version: 3.8.1 (default, Feb 21 2020, 23:12:01) 
[GCC 9.2.1 20191008]
2021-11-13 18:43:27,712 [INFO] tests.test_experiments.test_sqlalchemy_luu: RDFLib version: 6.0.1
2021-11-13 18:43:27,713 [INFO] tests.test_experiments.test_sqlalchemy_luu: RDFLib-SQLAlchemy version: 0.4.0

tests/test_experiments/test_sqlalchemy_luu.py:11 (test_sqlalchemy_luuu)
test_sqlalchemy_luu.py:33: in test_sqlalchemy_luuu
    graph.add([
../../../../.pyenv/versions/octadocs/lib/python3.8/site-packages/rdflib/graph.py:1592: in add
    self.store.add((s, p, o), context=c, quoted=False)
../../../../.pyenv/versions/octadocs/lib/python3.8/site-packages/rdflib_sqlalchemy/store.py:320: in add
    _, statement, params = self._get_build_command(
../../../../.pyenv/versions/octadocs/lib/python3.8/site-packages/rdflib_sqlalchemy/store.py:730: in _get_build_command
    statement, params = self._build_type_sql_command(
../../../../.pyenv/versions/octadocs/lib/python3.8/site-packages/rdflib_sqlalchemy/base.py:24: in _build_type_sql_command
    "termComb": int(type_to_term_combination(member, klass, context))
../../../../.pyenv/versions/octadocs/lib/python3.8/site-packages/rdflib_sqlalchemy/termutils.py:147: in type_to_term_combination
    return TERM_COMBINATIONS["%sU%s%s" %
E   KeyError: 'LUUU'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment