POST
/signalsPOST /signal, this endpoint calls ingest_sequence() internally,
which analyses co-occurrence across adjacent signals: two entities that share
the same attribute value in consecutive signals get an edge created
(or incremented) between them.
Use this endpoint when you need a connected graph via HTTP.
POST /signal
inserts isolated nodes — it never creates edges.Why this endpoint exists
POST /signal calls ingest() — a single-signal path that stores nodes but
never creates edges. Edges are the backbone of queries like strongest_path,
intersect, and retract. If you ingest signals one-by-one via HTTP, these
queries always return found: false.
POST /signals fixes this by accepting a batch and delegating to
ingest_sequence(), the same function used by the CLI kremis ingest command.
Request Body
An empty array
{"signals": []} is a valid no-op.
Response
Example
GET /status shows edge_count >= 1, and
POST /query with strongest_path from Alice’s node to Bob’s node
returns found: true.