1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
[]
= "rete-core"
= true
= true
= true
= true
= true
= true
= "Core format types for the Rete cloud-native RDF graph file."
= "https://docs.rs/rete-core"
= "README.md"
= ["rdf", "sparql", "graph", "database", "range-queries"]
= ["database", "data-structures", "web-programming"]
= ["crates-io"]
= ["src/**", "tests/**", "examples/**", "Cargo.toml", "README.md", "LICENSE"]
# docs.rs builds default features only, which would hide the `parallel` module.
# The builder is native Linux with a C toolchain, so `compression` + `rayon`
# both build there.
[]
= true
[]
= true
= true
= true
= true
= true
= true
= true
# Pure-Rust zstd *decoder* — always available (incl. wasm). Encoding uses the
# faster C `zstd` below when the `compression` feature is on.
= "0.7"
# Tiny pure-Rust regex engine for SPARQL `REGEX(...)` — `regex-lite` keeps the
# wasm small (no SIMD/aho-corasick), unlike the full `regex` crate.
= "0.1"
# Pure-Rust hashes for the SPARQL hash built-ins (MD5/SHA1/SHA2 family). All
# RustCrypto, no C, so they compile to wasm too.
= "0.10"
= "0.10"
= "0.10"
# Randomness for the SPARQL RAND/UUID/STRUUID/BNODE built-ins. On
# wasm32-unknown-unknown getrandom has no default backend: a *browser* consumer
# turns on the `wasm-js` feature below (crypto.getRandomValues); a non-browser
# wasm host (Chicory/WASI/Wasmtime) must supply its own via getrandom's `custom`
# backend. Native targets use the OS backend and need neither.
= "0.2"
= { = true, = true }
# Data-parallel query evaluator (prototype). Behind the `parallel` feature so it
# is never pulled into wasm (the wasm crate builds with --no-default-features).
= { = "1", = true }
[]
# Property-based testing (tests only — never shipped, so the dep weight and the
# transitive `rand` are fine here). Generates random graphs/queries and shrinks
# any counterexample to a minimal failing case — the SQLite-style invariant net.
= "1"
[]
= ["compression"]
# zstd needs a C toolchain; disable for targets that lack one (e.g. wasm).
= ["dep:zstd"]
# Prototype data-parallel query evaluator. NOT default; wasm must never enable it
# (wasm has no threads). Enables the `parallel` module + `rayon`.
= ["dep:rayon"]
# getrandom's browser backend (crypto.getRandomValues, via js-sys/wasm-bindgen).
# Enable ONLY for a wasm build that runs in a browser — it makes the module
# import wasm-bindgen JS glue, which a non-browser wasm host (Chicory on the JVM,
# WASI) cannot link. Those hosts leave this off and register a `custom` backend.
= ["getrandom/js"]
# The parallel benchmark only compiles with the `parallel` feature (it uses
# rayon + the feature-gated `parallel` module). Without the gate, a default
# `cargo build --examples` would try to build it and fail.
[[]]
= "parallel_bench"
= ["parallel"]