Python bindings for using the RDF graph database Tentris RDF rdflib
Project description
Running Tentris Using Python
Note: Connecting to local/remote Tentris instances via HTTP is supported on all plattforms. Running Tentris within python is only supported on Linux.
Getting Started
The Tentris Python library is a plugin for rdflib.
Native (Linux only)
With the native TentrisStore, Tentris is embedded in Python applications.
import tentris
import rdflib
# Create an RDFLib graph using Tentris as its backend
graph = rdflib.Graph(store="Tentris")
# Load the graph using the SPARQL Update operation `LOAD`
# https://www.w3.org/TR/2013/REC-sparql11-update-20130321/#load
graph.update("LOAD <https://files.tentris.io/mona-lisa.ttl>")
# Query the Mona Lisa knowledge graph
query_str = """
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX dbr: <http://dbpedia.org/resource/>
PREFIX dbo: <http://dbpedia.org/ontology/>
SELECT ?name WHERE {
dbr:Mona_Lisa dbo:author ?person .
?person foaf:name ?name .
}
"""
for binding in graph.query(query_str):
print(f"{binding.name.n3()}")
The TentrisStore operates in-memory and does not persist data in the disk.
To use a disk-based instance of Tentris, the HTTP-based store should be used.
HTTP (Any Operating System)
Remote or local instances of Tentris can be queries using the HTTP-based TentrisHTTPStore.
Local
Assuming a Tentris server is running on the localhost listening to the default port, it can be queried as shown in the example below.
import tentris
import rdflib
graph = rdflib.Graph(store="TentrisHTTP")
for binding in graph.query("SELECT * WHERE { ?s ?p ?o } LIMIT 10"):
print(f"{binding.s.n3()} {binding.p.n3()} {binding.o.n3()}")
Remote
To query remote instances of Tentris, the URL needs to be explicitly stated.
from tentris import TentrisHTTPStore
import rdflib
graph = rdflib.Graph(store=TentrisHTTPStore("https://dbpedia.data.dice-research.org"))
for binding in graph.query("SELECT * WHERE { ?s ?p ?o } LIMIT 10"):
print(f"{binding.s.n3()} {binding.p.n3()} {binding.o.n3()}")
For more information about setting up a disk-based instance of Tentris, please refer to the chapter Binary.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tentris-0.19.6b0-py3-none-any.whl.
File metadata
- Download URL: tentris-0.19.6b0-py3-none-any.whl
- Upload date:
- Size: 10.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec11c3e65902e408bbb940014310d251dfd41042790908554c700e35c3440f4c
|
|
| MD5 |
fbdb97fd040f8b40ce3c33a4ca404769
|
|
| BLAKE2b-256 |
985c8ef33307f9cf8dcd291d063bcdab0f285ab7bf3aeac2227733949626e539
|
File details
Details for the file tentris-0.19.6b0-cp312-abi3-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: tentris-0.19.6b0-cp312-abi3-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 10.4 MB
- Tags: CPython 3.12+, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e9d87222942017a2a4658526324f0d9cb5d8534bf66e39745b9d4186e207bfcb
|
|
| MD5 |
a79b9aa7450a591f80aa1e407407dbc2
|
|
| BLAKE2b-256 |
dec81a6c3424c1e55246d98bca5c017f12faf262c67706948cab4a9eca4d9fd1
|