Predictive Knowledge Graph

A Knowledge Graph, Without a Graph Database

Model your data as entities and edges and Aito reasons over the whole graph. It is a knowledge graph that is probabilistic, explainable, and incrementally writable, with no separate graph database to run. Node classification and link prediction are ordinary queries, each returning a calibrated probability and the factors behind it.


What makes it different

  • Probabilistic. Every node and edge prediction returns a calibrated probability, so you can threshold an action on it instead of guessing.
  • Explainable. A factor tree accompanies every prediction, readable by the person who has to trust or override the decision.
  • Incrementally writable. Corroborate a fact by adding an edge, retract it by deleting one. The next prediction reflects it, with no retraining.
  • No graph database. Entities and edges live in the same store as your facts, text, and vectors. You walk links by name, several hops out, with nothing to keep in sync.

Node classification and link prediction

Model your data as entities and edges, one row per subject, relation, target. The same engine predicts a node's attributes from its neighbourhood, and predicts the missing endpoint of an edge.

Classify an entity from its neighbourhood, here a segment for anyone who has engaged with something:

POST /api/v2/_predict
{
  "from": "entities",
  "where": { "$refs.edges.subject": { "$exists": { "relation": "engaged_with" } } },
  "predict": "segment"
}

Predict a missing edge endpoint, here which target a tech-role subject is likely to use:

POST /api/v2/_predict
{
  "from": "edges",
  "where": { "subject.role": "tech", "relation": "uses" },
  "predict": "target"
}

Both answers come back calibrated and explained, and basedOn lets a prediction generalise to entities it has never seen.


Instead of Neo4j or a graph database

You still traverse relationships by name, but you also get node classification and link prediction that a graph database cannot do, and you get them as calibrated, explained queries rather than as a separate model bolted onto the graph. Because the graph lives in the same store as your facts, text, and vectors, there is no second system to keep in sync beside your database.

For an agent that needs memory, this is the shape that fits: a store it can write a fact into as one edge, retract as one deletion, and query for what is probably true, with the reasoning attached.


Get Started

Start for free → Model your entities and edges and query the graph.

Read the graph docs → The full operator surface: links, $refs, node classification, and link prediction.