Skip to main content

What it does

memify enriches an existing knowledge graph by building and indexing triplet embeddings from its edges. By default it runs over the whole graph; node filtering scopes it to a specific node set — a node type plus one or more node names. This is the “Node Sets” concept (see Concepts): a named subgraph you can enrich or query independently. Mirrors Python’s memify(node_type=…, node_name=…).

When to use it

  • Re-enrich only part of a large graph (e.g. just Entity nodes named “Acme”).
  • Build focused triplet indexes for a subset of your memory.

CLI

Flags (crates/cli/src/cli.rs, MemifyArgs):
  • --node-type <T> — filter to one node type (e.g. Entity).
  • --node-name <N> — repeatable; matches any of the given names (OR).
  • --batch-size <N> — triplet extraction/embedding batch size (default 100).
Filtering takes effect only when both a node type and at least one node name are supplied — the pipeline then pulls the matching node-set subgraph (crates/cognify/src/memify/extract_triplets.rs).

Programmatic

See MemifyConfignode_type_filter, node_name_filter, node_name_filter_operator (validated to be "OR" or "AND").

Pointers