TriplestarKB is a ROS 2 enabled knowledge base backed by Oxigraph, a high-performance SPARQL graph database.
📖 Full documentation: https://kas-lab.github.io/triplestar_kb
First, clone the current repo into the src folder of your ROS2 workspace.
cd src
git clone https://github.com/kas-lab/triplestar_kb.git
cd ..Secondly, install the needed dependencies via rosdep:
rosdep install -i --from-path src/triplestar_kb -r -yTriplestarKB is configured on a per-scenario basis using bringup packages. To generate a new bringup package, run the following from your sourced workspace:
ros2 triplestar bringup newYou will be prompted for the package name. To skip the prompt, pass it with
--name:
ros2 triplestar bringup new --name my_bringupThe generated package is placed in the src/ folder of the active colcon
workspace automatically. To write somewhere other than the workspace src/,
pass --output-dir:
ros2 triplestar bringup new --name my_bringup --output-dir /path/to/dircolcon build --symlink-install --merge-install --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=ON --packages-select {your_custom_bringup_name}After sourcing the workspace, run triplestar with your custom config using:
ros2 triplestar bringup launch {your_custom_brigup_name}:info: As seen in the above snippets, the
triplestarcli provides convenient commands for common operations.
pixi sets up ROS 2 Jazzy and all dependencies from
RoboStack inside the checkout, without a system ROS
install or a container. pixi.lock pins the environment for linux-64,
linux-aarch64 and osx-arm64.
curl -fsSL https://pixi.sh/install.sh | sh # install pixi once
pixi install # create the environment in .pixi/
pixi run build # colcon build into build/, install/, log/
pixi run test # run all package testsThe checkout is its own colcon workspace, so every clone or git worktree builds in
isolation. To run the node, generate a bringup package in the checkout and launch it
(launch rebuilds first):
pixi run ros2 triplestar bringup new --name my_bringup
pixi run launch my_bringuppixi shell opens a shell with ROS and the built packages sourced, for commands like
ros2 triplestar query list; after building inside it, run
source install/local_setup.bash to pick up new packages. Do not source an
apt-installed ROS setup.bash in that shell. Give each checkout its own
ROS_DOMAIN_ID when running several side by side.
Contributions are welcome. Please install pre-commit and enable the hooks once:
pip install pre-commit
pre-commit install
This runs ruff (lint + format) automatically on every commit.
This work has received funding from the European Union's Horizon Europe research and innovation programme under grant agreement No 101070254 (CORESENSE). Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or the European Commission. Neither the European Union nor the granting authority can be held responsible for them.