Knowledge graph
Attach meaning to embeddings and traverse it to guide search.
Alongside the vector index, dynavec keeps a lightweight entity-relationship graph in DynamoDB. Entities link to documents; you can traverse the graph first (cheap key lookups) to gather a candidate set, then rank only those against the query embedding. That is the DynamoDB → S3 Vectors reference join.
# build the graph
db.graph_add_edge("acme", "competes_with", "globex", namespace="kb")
db.graph_link("acme", ["doc-1", "doc-2"], namespace="kb")
# GraphRAG: traverse from seeds, then rank related docs by the query
hits = db.graph_search(
"recent product launches",
seed_entities=["acme"],
hops=2,
top_k=10,
namespace="kb",
)
Traversal helpers: graph_add_node, graph_add_edge, graph_link,
graph_neighbors.
The graph uses embedded adjacency lists (one item per node). Very high fan-out entities
want a sort-key adjacency design — on the roadmap.