Skip to content

Tentris is a tensor-based RDF triple store with SPARQL support.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

dice-group/tentris

Repository files navigation

Tᴇɴᴛʀɪs: A Tensor-based Triple Store

Tᴇɴᴛʀɪs Logo

Tᴇɴᴛʀɪs is a tensor-based RDF triple store with SPARQL support. It is introduced and described in:

Alexander Bigerl, Felix Conrads, Charlotte Behning, Mohamed Ahmed Sherif, Muhammad Saleem and Axel-Cyrille Ngonga Ngomo (2020) **Tentris – A Tensor-Based Triple Store. ** In: The Semantic Web – ISWC 2020

and

Alexander Bigerl, Lixi Conrads, Charlotte Behning, Muhammad Saleem and Axel-Cyrille Ngonga Ngomo (2022) Hashing the Hypertrie: Space- and Time-Efficient Indexing for SPARQL in Tensors. In: The Semantic Web – ISWC 2022 Hashing the Hypertrie: Space- and Time-Efficient Indexing for SPARQL in Tensors

Get It

Running Tᴇɴᴛʀɪs

Bulk-load Data

Provide an NTRIPLE or TURTLE file to build the an index. By default, the index is stored in the current directory. The path can be changed with the option --storage.

tentris_loader --file my_nt_file.nt

Start HTTP endpoint

To start Tᴇɴᴛʀɪs as a HTTP endpoint on port 9080 run now:

tentris_server -p 9080

Query

The SPARQL endpoint may now be queried locally at: 127.0.0.1:9080/sparql?query=*your query*. You can execute queries with the following curl command:

curl -G \
--data-urlencode 'query=SELECT * WHERE { ?s ?p ?o . }' \
'127.0.0.1:9080/sparql'

If you want to type the query in your browser, the query string must be URL encoded. You can use any online URL encoder like https://meyerweb.com/eric/tools/dencoder.

The following endpoints are available: Available endpoints:

  • HTTP GET /sparql?query= for normal queries
  • HTTP GET /stream?query= for queries with huge results
  • HTTP GET /count?query= as a workaround for count (consumes a select query)

Docker

Use the Dockerfile to build tentris.

  • A docker image is available on docker hub. Get it with
    docker build -f Dockerfile .
    docker pull dicegroup/tentris_server

Build It Yourself

Tᴇɴᴛʀɪs is known to build on Ubuntu 22.04 and newer. Building was tested with Clang 17 & 19. As standard library, only libstdc++11 (v13) was tested. For details refer to the Dockerfile or github actions.