← Go back

Release: Tentris 1.0.7

3 years ago by Alexander Bigerl

We are happy to announce version 1.0.7 of Tentris .

This update is mainly a follow-up to the initial Tentris paper at ISWC2020. In the paper our analysis showed that Tentris was fastest for queries with large results but fell behind for some queries with large results. We suspected the reason was Tentris' JSON serialization engine; what turned out to be true. With Tentris 1.0.7 this problem is solved.

The main improvements compared to Tentris 1.0.5.1 (version from the paper) at a glance:

  • Several fixes to result serialization. A faster SAX parser based on RapidJSON is used now.
  • Improved and fixed einsum operator graph from hypertrie/0.5.3
  • Support for chunked HTTP (streaming)
  • Fixed and improved Dockerfile
  • General improvements to the build process

A mini benchmark on the SWDF dataset from the paper shows the significant improvement of the new version:

Throughput and Query Mixes per Hour (QMpH) are more than doubled. Those metrics are most sensitive to the performance of the few larger, long-running queries. Queries per second (QpS) on the other hand is more robust to single queries taking a long time. As expected, it stays stable between the versions.

Another exciting new feature of Tentris 1.0.7 is the chunked HTTP endpoint available at http://127.0.0.1:9080/stream. It works just as the normal /sparql endpoint but streams the result. When this endpoint is used, Tentris calculates a solution, hands it to the client and forgets it. This way, large-scale results are retrievable without full materialization in memory.


project page: https://tentris.dice-research.org/

paper: https://link.springer.com/chapter/10.1007/978-3-030-62419-4_4

github: https://github.com/dice-group/tentris