dice-group / tentris

Tentris is a tensor-based RDF triple store with SPARQL support.
https://tentris.dice-research.org/iswc2020/
Apache License 2.0
54 stars 10 forks source link
docker endpoint rdf rdf-data sparql tensor triplestore

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`. ```shell 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: ```shell 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 . 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](./Dockerfile) to build tentris. * A docker image is available on [docker hub](https://hub.docker.com/r/dicegroup/tentris_server). Get it with ```shell script 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 15. As standard library, only libstdc++11 (v12) was tested. For details refer to the [Dockerfile](./Dockerfile) or github actions.