#graph-database #sparql #rdf #datalog #api-bindings

yanked rdfox

RDFox for Rust, a high-performance in-memory semantic graph database

6.0.0 May 3, 2023
0.0.1 May 4, 2023

#28 in #sparql

Custom license

115KB
3K SLoC

rdfox-rs

Embedded Oxford Semantic Technologies RDFox database for Rust programs.

  • Downloads RDFox zip file (to your target directory)
  • Generates bindings from CRDFox.h using bindgen (which requires llvm to be installed)
  • Links to dynamic link library libRDFox.dylib (if you use feature rdfox-dylib)
  • Links to the static RDFox library by default
  • Requires an RDFox license (see https://www.oxfordsemantic.tech/product)
    • Copy license to ~/.RDFox/RDFox.lic
  • Provides a higher level rust-friendly interface over the C-API

Status

  • Works with both dynamic and static link library
  • All the basics work
  • RDFox API logging does not work when linking with static library (issue in progress)

Plans

  • Make high-level interface more abstract so that it can also be used for remote endpoints using REST calls and potentially any other triple store product.
    • Core components that are RDFox-independent have already been moved to the rdf-store-rs crate

Version

The major/minor version numbers of this crate are used to determine which version of RDFox needs to be downloaded and used.

How to run the tests

RUST_LOG=info cargo test 

Or, if you want to see all output:

RUST_LOG=trace cargo test --package rdfox --test load load_rdfox -- --exact --nocapture

If you want to run the tests with the dynamic link library of RDFox, then run this:

RUST_LOG=trace cargo test --package rdfox --features rdfox-dylib --test load load_rdfox -- --exact --nocapture

Dependencies

~10–22MB
~324K SLoC