Back to blog
ResearchMay 20, 202510 min read

From Knowledge Graph to Operating System

Knowledge graphs are excellent at representation, but enterprise operations need execution. Here is why we think the next step is an ontology runtime -- and what that actually means.

The Knowledge Graph Decade

Google's Knowledge Graph improved search results. LinkedIn's Economic Graph powered recommendations. Uber's domain graph made microservice orchestration more manageable. Amazon's product graph connected billions of catalog items. Neo4j built an excellent graph database and a passionate community around it. Stardog made SPARQL accessible to people who did not have PhDs in semantic web technologies.

These are real, valuable achievements. But there is a pattern worth noticing: in most of these cases, the graph is a backend data layer that other systems query. You ask the graph a question; you get an answer. You build an application on top of the graph; the application does the actual work. The graph describes. Something else acts.

For consumer applications, that division of labor works well. Google does not need the Knowledge Graph to take actions -- it needs it to display info boxes. But for enterprise operations, where the goal is increasingly to automate decisions and workflows, the gap between description and execution becomes a real limitation.

Description Is Not Execution

You can query a knowledge graph to learn that Supplier X delivers Material Y to Plant Z with a lead time of 14 days. Useful. Now tell the graph to automatically reorder Material Y when inventory at Plant Z falls below safety stock, selecting the optimal supplier based on current lead times and contract terms, generating the purchase requisition in SAP, and routing it for approval based on the cost center's authorization matrix.

You cannot. The graph does not do that. It answers queries. It does not orchestrate actions. And no amount of SPARQL sophistication changes this, because the limitation is not in the query language -- it is in the paradigm. Graphs are designed for representation, not execution.

This is not a flaw. It is a design choice. The same way a database schema describes data structures but does not execute business logic. The same way a type system describes valid programs but does not compile them. Description and execution are separate concerns.

The problem in enterprise software is that this separation has become a liability. Organizations maintain elaborate knowledge models -- data dictionaries, process maps, business glossaries, semantic layers -- that are completely disconnected from the systems that run the business. The model says one thing. The code does another. They drift apart within weeks. Within months, the model is fiction.

The Palantir Clue

Palantir understood this earlier than most. Their Foundry platform is built around what they call the "Ontology" -- and it is telling that they chose that word instead of "knowledge graph." Palantir's Ontology is a layer that connects data to actions: you define object types, link them to datasets, attach actions to those objects, and build workflows that operate on them.

This is closer to what enterprises need. Palantir's approach still involves writing functions (in Python, or in their low-code builder) that implement the actions -- the ontology organizes and connects, but the gap between model and code is still there, even if it is narrower than in a traditional knowledge graph.

The question we keep coming back to: what if the ontology itself was the execution layer?

What an Operating System Actually Requires

An operating system does three things that a knowledge graph does not.

It manages state. Not just storing data but tracking the lifecycle of every entity: created, submitted, approved, in transit, received, inspected, reconciled, closed. Each state transition has preconditions, postconditions, and side effects. A knowledge graph stores the current state as a property. An operating system enforces the state machine.

It enforces invariants. Business rules that must hold across all operations, all the time, regardless of which system or user initiates the change. Not just at query time ("is this valid?") but at mutation time ("I will not let you do that"). A knowledge graph can validate after the fact. An operating system prevents violations before they occur.

It orchestrates actions. Triggering workflows, calling external APIs, scheduling tasks, managing concurrency, handling failures and retries. A knowledge graph can inform all of these capabilities. But it cannot perform them. You need an execution layer -- a runtime -- that reads the model and acts on it.

The Ontology Runtime

The core idea we are building P3 around is that the ontology should be the runtime -- not a separate artifact that informs or configures the runtime, but the thing the runtime directly interprets.

In this model, classes become entity types with managed lifecycles. Relations become typed, validated connections with referential integrity enforced on every mutation. Axioms become runtime constraints checked on every state transition. Lifecycle definitions become executable state machines.

The goal is that when you define a ProcurementProcess in the ontology -- with its entity types, relationships, validation rules, state transitions, and exception-handling logic -- you are not writing a specification that a developer later translates into code. You are defining the process itself. The runtime interprets the ontology and executes it.

Not Code Generation

This distinction matters. Code generation creates a snapshot -- a translation of the model at a point in time. Change the model, and you regenerate, recompile, test, redeploy. The model and the code are separate artifacts that must be kept in sync. They will not be.

P3's runtime is interpretive. Change the ontology, and the system's behavior changes. Add a new entity type, define its relationships and constraints, and it is live -- queryable, mutable, governed by the rules you just declared. No build step. No separate deployment pipeline for the domain model.

If this sounds like a Smalltalk-era dream, it kind of is. The difference is that we are not interpreting an ad-hoc object model. We are interpreting a formal ontology grounded in description logic -- which means the runtime can reason about the model, check it for consistency, infer implied relationships, and verify that every state the system reaches satisfies every axiom. The goal is the dynamism of an interpreted system with the rigor of a formally verified one.

Neurosymbolic: Where Neural Meets Formal

A practical reason to build an ontology runtime now, rather than five years ago, is the AI problem. Large language models can generate plans, write code, analyze documents, and hold conversations. They also hallucinate, ignore constraints, and violate business rules -- with complete confidence. The capability and the unreliability scale together.

Enterprise operations cannot tolerate this. You cannot have an AI agent that creates purchase orders without checking approval authorities, schedules maintenance without verifying part availability, or reroutes production without understanding capacity constraints. The LLM does not know your business rules. It cannot.

The approach we are taking with P3 is neurosymbolic. Neural models -- LLMs, vision models, embedding models -- handle perception, natural language understanding, and creative problem-solving. The ontology runtime handles reasoning, validation, and execution. An LLM can interpret a user's request like "Reorder the packaging materials for the Munich plant." The ontology runtime determines which materials qualify, which suppliers are eligible based on current contracts, what the correct prices are, whether the requisition exceeds the requester's approval limit, and which workflow to trigger.

The LLM proposes actions; the ontology runtime validates them against formal constraints before anything executes. The result -- if it works as intended -- is AI with guardrails that are auditable and grounded in actual business rules rather than training data from the internet. That is the architecture we are working toward, though the integration boundary between neural and symbolic components is still an area of active experimentation.

From Query to Intent

In a knowledge graph, the interaction model is query-response. You write a SPARQL or Cypher query. You get triples or nodes back. An application interprets the results and decides what to do.

In the architecture we are building, the interaction model is intent-action. You express an intent -- "Optimize next week's production schedule for Plant Stuttgart" -- and the system acts. It queries current orders. Checks machine availability and maintenance windows. Evaluates material constraints and supplier delivery confirmations. Simulates alternative schedules. Scores them against business objectives (minimize changeovers? maximize throughput? prioritize on-time delivery for key customers?). Presents a recommended schedule with traceability of every decision.

This is only possible because the ontology does not merely describe production schedules. It defines them: what a schedule is, what constraints it must satisfy, what objectives it optimizes, what actions are available to modify it, and what approvals are required before it takes effect. The runtime has everything it needs to act, not just answer.

Building on the Runtime

The shift from knowledge graph to operating system changes how enterprise software is built. Instead of writing application code that queries a graph, you define domain ontologies that the runtime executes. The application is not a program -- it is a model.

UIs are generated from entity types and their relationships. APIs are generated from the operations the ontology permits. Workflows are generated from lifecycle definitions and business rules. Permissions are generated from the authorization model embedded in the ontology. Reports are generated from the query patterns the ontology's structure implies.

This does not eliminate software engineering. Custom visualizations, legacy system integrations, novel algorithms, and performance optimizations still require code. But the routine enterprise functionality -- the CRUD operations, the approval workflows, the validation rules, the exception handling, the audit logging -- can emerge from the ontology definition. The payoff is consistency: every component derives from the same formal model, so they cannot disagree about what a PurchaseOrder is or what constraints apply to it.

Knowledge graphs proved that modeling entities and relationships as a graph enables queries that relational databases struggle with. The question we are working on with P3 is what happens when you take that same model and make it executable -- when the graph is not just something you query, but something a runtime interprets. The hard parts are performance (interpretive systems are slower than compiled ones), tooling (developers need IDE-level support, not just a graph browser), and the inherent tension between flexibility and rigor.

Ready to build your digital twin?

See how P3 turns ontology into a running system — from data model to production in weeks, not months.

Related articles