The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

roxigraph provides RDF storage and SPARQL 1.1 query capabilities for R by wrapping the Oxigraph graph database library. Built using the extendr framework for high-performance Rust-R bindings.
Install pre-built binaries from r-universe:
install.packages("roxigraph", repos = c("https://cboettig.r-universe.dev", "https://cloud.r-project.org"))For binary installation on Ubuntu (no Rust required):
# Set up r-universe binary repo for Linux
repo <- sprintf(
"https://cboettig.r-universe.dev/bin/linux/noble-%s/%s/",
R.version$arch, substr(getRversion(), 1, 3)
)
install.packages("roxigraph", repos = c(repo, "https://cloud.r-project.org"))# install.packages("pak")
pak::pak("cboettig/roxigraph")Building from source requires: - Rust toolchain (rustc >= 1.65, cargo) - libclang-dev (for RocksDB bindings on Linux)
On Ubuntu/Debian:
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Install libclang
sudo apt-get install libclang-devlibrary(roxigraph)
# Create an in-memory store
store <- rdf_store()
# Load some RDF data (Turtle format)
rdf_load(store, '
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://example.org/> .
ex:alice foaf:name "Alice" ;
foaf:knows ex:bob .
ex:bob foaf:name "Bob" .
', format = "turtle")
# Query with SPARQL
sparql_query(store, "
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?name WHERE { ?person foaf:name ?name }
ORDER BY ?name
")
#> name
#> 1 "Alice"
#> 2 "Bob"
# Check store size
rdf_size(store)
#> [1] 3For data that should persist across R sessions:
# Create a persistent store
store <- rdf_store("/path/to/my/database")
# Data is automatically persisted to disk
rdf_load(store, data, format = "turtle")Modify your data using SPARQL Update:
store <- rdf_store()
# Insert data
sparql_update(store, "
INSERT DATA {
<http://example.org/alice> <http://xmlns.com/foaf/0.1/name> 'Alice' .
}
")
# Query the inserted data
sparql_query(store, "SELECT * WHERE { ?s ?p ?o }")
#> o p s
#> 1 "Alice" <http://xmlns.com/foaf/0.1/name> <http://example.org/alice>Export your RDF data to various formats:
store <- rdf_store()
rdf_load(store, '<http://ex.org/s> <http://ex.org/p> "hello" .', format = "ntriples")
# Serialize to N-Quads
cat(rdf_serialize(store, format = "nquads"))
#> <http://ex.org/s> <http://ex.org/p> "hello" .MIT © Carl Boettiger
Oxigraph is dual-licensed under MIT/Apache-2.0.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.