Skip to content

rdf4cpp/rdf4cpp

Repository files navigation

⚠️ This repo is work-in-progress! Before v0.1.0 all APIs are considered unstable and might be subject to change. ⚠️

⚠️ Conan 2 only works when consuming the rdf4cpp conan package. Other usecases (e.g. development) still require Conan 1. ⚠️

rdf4cpp

rdf4cpp aims to be a stable, modern RDF library for C++.

Current documentation: https://rdf4cpp.readthedocs.io/en/latest/

Usage

check out the examples directory.

As Conan Package

Until its first stable release, rdf4cpp will not be available via Conan Center. Instead, it is available via the artifactory of the DICE Research Group.

You need the package manager Conan installed and set up. You can add the DICE artifactory with:

conan remote add dice-group https://conan.dice-research.org/artifactory/api/conan/tentris

To use rdf4cpp, add it to your conanfile.txt:

[requires]
rdf4cpp/0.0.32

Note:

If you want to include rdf4cpp without using conan, make sure you also include its dependencies exposed via the rdf4cpp API.

Build

Requirements

Currently, rdf4cpp builds only on linux with a C++20 compatible compiler. CI builds and tests rdf4cpp with gcc-{13}, clang-{15,16} with libstdc++-13 on ubuntu 22.04.

Dependencies

It is recommended to include build dependencies via conan version 1. Set up Conan as follows on Ubuntu 22.04+:

sudo apt install python3-pip
pip3 install --user "conan<2"
conan user
conan profile new --detect default
conan profile update settings.compiler.libcxx=libstdc++13 default
conan remote add dice-group https://conan.dice-research.org/artifactory/api/conan/tentris

Compile

rdf4cpp uses CMake. To build it, run:

cmake -B build_dir # configure and generate
cmake --build build_dir # compile

To install it to your system, run afterward:

sudo make install

Additional CMake config options:

-DBUILD_EXAMPLES=ON/OFF [default: OFF]: Build the examples.

-DBUILD_TESTING=ON/OFF [default: OFF]: Build the tests.

-DBUILD_SHARED_LIBS=ON/OFF [default: OFF]: Build a shared library instead of a static one.

-DUSE_CONAN=ON/OFF [default: ON]: If available, use Conan to retrieve dependencies.