⚠️ Note: This is not the commercial version of Hypertrie, but a research prototype that focuses on aspects presented in papers. For a reliable, SPARQL feature-complete, and well-tested edition, see the commercial edition at https://github.com/tentris/tentris.
- the backend of the commercial and research-prototype Tentris triple stores/RDF graph databases
- a sparse tensor representation that supports slicing by any dimension and einstein summation
- a monolithic index that supports worst-case optimal joins (WCOJ) by providing all collation orders in a single redundancy eliminating datastructure.
Technically, a hypertrie stores
It allows incremental slicing (tensor) by any dimension or select and project by any predicate (relational algebra). These properties are important to support worst-case optimal joins (WCOJ) efficiently.
A depth
install conan, cmake and a C++20 compiler.
and create a conan profile
conan profile new --detect default
conan profile update settings.compiler.libcxx=libstdc++11 defaultYou'll need some packages from DICE group's conan artifactory. Add it with:
conan remote add dice-group https://conan.dice-research.org/artifactory/api/conan/tentrismkdir build
cd build
conan install .. --build=missing
cmake ..To enable test, set DBUILD_TESTING in cmake:
cmake -DBUILD_TESTING=ON ..
make -j tests
tests/testsSome tests are using pytorch which is not provided with the code.
Those tests are disabled by default.
To enable them, provide the path to the pytorch library via cmake variable hypertrie_LIBTORCH_PATH.
Prebuild binaries may be downloaded via https://pytorch.org/get-started/locally/ (works at least with
Stable|Linux|LibTorch|C++|None).
cmake -DDBUILD_TESTING=ON -DLIBTORCH_PATH=/path/to/libtorch ..