Довольно поздно, но когда я столкнулся с подобной проблемой, вот мой способ общения с Jena TDB из python.
Вы также можете использовать JayDeBeApi и официальный Jena TDB JDBC Driver .Вы должны убедиться, что драйвер JDBC доступен в Java classpath.
import jaydebeapi
jclass = "org.apache.jena.jdbc.JenaJDBC"
conn_string = "jdbc:jena:tdb:location=/path/to/tdbstore"
conn = jaydebeapi.connect(jclass, conn_string)
cursor = conn.cursor()
query = """
SELECT DISTINCT ?a
WHERE {
?a ?b ?b .
}
"""
cursor.execute(query)
# do something with the results
cursor.close()
conn.close()
Вы также можете добавить &must-exist=true|false
к conn_string
, обозначая, должно ли существовать хранилище.