Wasm port of the hdt-cpp library to allow indexing graph databases on the browser.
The project is nowhere close to a production-ready build with a stable api. Yet, it is already able to compile with no major issue and run some demos!
Check the demos here:
- a turtle (ttl) to HDT converter: https://lucafabbian.github.io/hdt-wasm/demo-converter/dist
- a sparql query over HDT playground: https://lucafabbian.github.io/hdt-wasm/demo-sparql/dist
You find a Dockerfile with all dependencies already preconfigured. Just build it and run it with:
docker build -t hdt_emscripten .
docker run --rm -v $(pwd):/src -u $(id -u):$(id -g) hdt_emscripten bash build.sh
(tested on Ubuntu 22.04)
Be sure to have Node.js and emscripten on your system (test with em++ --version
). Do not use the ones from Ubuntu repos, they are outdated.
You also need the following dependencies:
sudo apt-get install git autoconf libtool pkg-config
Build with:
# clone deps, rebuild and link them
./build.sh
The main goal now is to provide a real binding to the WebAssembly file and distribute it as a npm package.
The code inside this repo is to be considered under MIT license. However, the overall library would be distributed under LGPL 2.1 license since the libhdt project is distributed under such license.
Author: Luca Fabbian [email protected]