Skip to content

LDBC SNB Interactive — IC01–IC12

NamiDB targets the 12 in-scope Complex Read queries from the LDBC Social Network Benchmark — Interactive workload. All twelve parse, plan, and execute end-to-end on the v0.3 engine.

Quick reference

#NamePattern
IC01Friends with a given name1–3 hop KNOWS traversal
IC02Recent messages from friendsKNOWS + POST + ORDER BY
IC03Friends and friends-of-friends in countries X and Y2-hop + filter
IC04New topicstag aggregation over a window
IC05New groupsforum membership window
IC06Tag co-occurrenceedge join + group by
IC07Recent likersLIKES + recency
IC08Recent repliesREPLY_OF traversal
IC09Recent messages by friends and FoF1–2 hop KNOWS + posts
IC10Friend recommendation2-hop similarity
IC11Friend’s job referralsKNOWS + WORKS_AT
IC12Expert searchKNOWS + tag intersection

IC01 — Find friends with a given name

MATCH (p:Person {_id: $personId})-[:KNOWS*1..3]-(friend:Person {firstName: $name})
WHERE friend._id <> $personId
RETURN
friend._id AS friendId,
friend.lastName AS friendLastName,
length(path) AS distance
ORDER BY distance ASC, friendLastName ASC, friendId ASC
LIMIT 20

IC02 — Recent messages from friends

MATCH (p:Person {_id: $personId})-[:KNOWS]-(friend)
MATCH (friend)<-[:HAS_CREATOR]-(message)
WHERE message.creationDate <= $maxDate
RETURN
friend._id AS friendId,
friend.firstName AS firstName,
message._id AS messageId,
message.content AS content,
message.creationDate AS creationDate
ORDER BY creationDate DESC, messageId ASC
LIMIT 20

(IC03–IC12 in the bench harness)

The full canonical query texts live in crates/namidb-query/tests/fixtures/ in the engine repo. The bench harness under bench/ runs all twelve against a synthetic dataset and prints a comparison vs Kùzu.

Running the bench locally

Terminal window
git clone https://github.com/namidb/namidb.git
cd namidb/bench
python kuzu_runner.py # generate dataset
cargo run --release -p namidb-bench

See bench/README.md for the full reproduction recipe.

See also