Knowledge Graphs
Reference note for DigiTPME / IEIA explaining what a knowledge graph is, why it matters in industrial contexts, and how it sits relative to the Unified Namespace in our reference architecture.
Definition (operational, not academic)
A knowledge graph (KG) is a data structure built from:
- Nodes — entities (assets, tags, alarms, events, documents, people, decisions)
- Edges — typed relationships between nodes
- Edge metadata — relationship type, confidence/priority, provenance, temporal validity
Unlike a relational schema, a KG can add a new edge between any two nodes at any time without altering the underlying tables. That is the property that makes it useful for industrial reasoning, where the relationships you care about are discovered during problem-solving, not at design time.
The 4 Dimensions
| Dimension | Type | Where it lives |
|---|---|---|
| 1 — Parent | semantic | UNS hierarchy |
| 2 — Child | semantic | UNS hierarchy |
| 3 — Sibling | semantic | UNS hierarchy |
| 4 — Non-semantic | arbitrary cross-leaf | KG only |
The first three exist in any Unified Namespace. The fourth is what a KG adds. Examples of non-semantic edges that a UNS cannot express:
- “These three rotary encoders, on three different production lines in three different areas, are the same OEM/model.”
- “The pressure-drop alarm on the palletizer’s end-of-arm tooling is causally linked to the air compressor located in a different building.”
- “Operator note from yesterday’s shift meeting matches a similar root-cause pattern from Q4 last year.”
Walker Reynolds’s framing: the delta between the formal semantic edges and the non-semantic edges is where most root-cause answers live.
Why KG ≠ UNS — and why both are needed
| Layer | Dimensionality | Built for | Math analogy | Brain analogy |
|---|---|---|---|---|
| Unified Namespace | 2D semantic | Humans | Algebra (universal) | Spinal column / short-term memory |
| Knowledge Graphs | 3D + non-semantic | Agents | Calculus (specialized) | Cerebral cortex / associative + long-term memory |
A UNS is a hierarchy a plant manager can read. A KG is a graph an agent can traverse. The promise of Industry 5 — convergence of human and artificial intelligence — requires both layers, in that order.
DigiTPME design rule: never sell a KG without a UNS underneath. Layering a KG on messy tags inherits the mess. Fix the UNS first.
Why OT data needs a KG (the “post-hoc meaning” problem)
- IT data is born from a use case. The model is designed to serve a query.
- OT data is born from automation requirements. The model exists to make the machine run; it was never designed to serve queries from finance, sustainability, or quality.
- Functional acceptance testing only validates that the automation works — never “how will this data be served to the rest of the business?”
⇒ Every PLC tag carries automation meaning but lacks business meaning. The KG is the place where business meaning is assigned post-hoc without rewriting any PLC code.
This is exactly the CBAM reporting problem at Sonasid, YNNA Steel, OCP Group: the Scope-1/2 emissions data exists in PLC registers but was never modeled for emissions accounting as a downstream consumer.
The “Brain Region” Discipline (architectural rule)
Each layer of the stack does one job. Mixing them produces unreliable systems.
| Job | Correct layer | Anti-pattern |
|---|---|---|
| Measurement / counting / arithmetic | Control system (PLC, Ignition expressions) | Asking the LLM to compute averages |
| Routing / transport | MQTT + Sparkplug B + UNS | Having the KG poll PLCs |
| Relationships / context | Knowledge graph | Hard-coding context into PLC logic |
| Reasoning / explanation / synthesis | LLM via MCP | Asking the KG to reason |
Bob Vanderoulen: “LLMs are overconfident teenagers. Don’t ask them to calculate.” Measurement at the control layer; relationships at the KG layer; reasoning at the LLM layer.
Concrete capability examples
What a KG-augmented agent can answer that a UNS-only stack cannot:
- Root cause across the plant. “Why did the palletizer go down at 03:14?” → traverse robot → end-of-arm tooling → pneumatic supply → air compressor in another building. 2 minutes vs 2 weeks in ThreadCloud’s ProveIt 2026 demo.
- Cohort questions. “Show me every rotary encoder of this OEM/model and rank by drift in the last 30 days.” — impossible in a pure UNS without parameter scans.
- CBAM cost attribution. “Why did our Scope-1 intensity rise 8 % on line 2 last shift?” — requires edges between energy meters, batch records, recipe variant, ambient conditions, and operator log.
- Tribal-knowledge capture. Meeting transcripts → proposed exploratory edges → human approval → permanent organizational memory. Solves Pfeffer’s Knowing-Doing Gap.
- Agent navigation. Top-level executive question (“why aren’t we hitting $500 M revenue?“) → agent traverses from KPI node down to leaf operational nodes via the KG.
Edge typing & maturity
KGs in production should distinguish:
| Edge confidence | Source | Treatment |
|---|---|---|
| Deterministic | PLC code, P&ID drawings, ISA-95 hierarchy | Trust at face value |
| Validated | Confirmed by past incidents / human approval | Use for automated decisions |
| Exploratory | Proposed by LLM, by transcript analysis, or by humans during a problem-solving session | Surface to humans, do not auto-act |
Validation criterion (per Bob Vanderoulen): “the edge has become useful.” Usefulness is the litmus, not theoretical correctness.
Tooling Landscape (industrial KG vendors)
| Vendor | Approach | Notes |
|---|---|---|
| ThreadCloud | Cloud KG + Ignition module + MCP/Claude | NZ startup, $800/mo per factory, Walker Reynolds-endorsed. See ThreadCloud — Vendor Intelligence 2026. |
| HighByte / Rise (Jeff Knepper / Jeff Nunn) | DataOps with GraphQL-backed relationships under the hood | Australia-based, parent/child/sibling + non-semantic |
| MaestroHub | UNS + protocol library (no native KG layer today) | Potential partner per IIoT Platform Build Intelligence — Open Source Stack 2026 |
| AVEVA / Rockwell Automation | Proprietary, no KG/MCP story | What 4Sight Holdings resells in Sub-Saharan Africa |
Implications for DigiTPME
The DigiTPME maturity model should explicitly add a KG / Agentic Reasoning dimension on top of the existing UNS dimension:
| Maturity level | UNS | KG / Agentic |
|---|---|---|
| 0 — Unmanaged | No structured data flow | — |
| 1 — Connected | Tag-level OPC-UA / MQTT | — |
| 2 — Contextualized | UNS with ISA-95 hierarchy (Morocco UNS Standard v0.1) | — |
| 3 — Queryable | UNS + historian | Default KG from tag tree |
| 4 — Reasoned | UNS stable + secure (Morocco UNS Standard v0.2 — Security & i18n) | KG with deterministic + validated non-semantic edges |
| 5 — Agentic | — | KG + MCP + LLM, with audited exploratory edges feeding back into long-term memory |
Most Moroccan industrials in the Moroccan Industrial Digital Maturity Dossier 2026 sit at level 1–2. Managem Tizert is the only confirmed level-2 site. No Moroccan plant is at level 3 or above. This is the open ground DigiTPME / IEIA should claim.
CBAM-Specific KG Pattern (DigiTPME house play)
For CBAM reporting, every emissions-relevant Scope-1/2 KPI should be backed by a KG sub-graph that ties:
[CBAM line item KPI]
├─ provenance edges → [meter tags, batch IDs, recipe IDs, fuel-mix records]
├─ causal edges → [process variables, ambient conditions, operator events]
├─ apportionment → [shared-asset allocation rules — critical for ports & multi-product steel]
└─ governance → [signed envelope per Morocco UNS v0.2, Ed25519 signature, CNDP flag]
This is what makes “why did our CBAM exposure move?” a 30-second answer instead of a multi-week audit.
Cross-References
- Unified Namespace · MCP · Sparkplug B · MQTT · Industry 4.0
- ThreadCloud · ThreadCloud — Vendor Intelligence 2026
- Walker Reynolds · Bob Vanderoulen · 4.0 Solutions · Inductive Automation · ProveIt Conference
- Morocco UNS Standard v0.1 · Morocco UNS Standard v0.2 — Security & i18n
- CBAM · Carbon Compliance
- Moroccan Industrial Digital Maturity Dossier 2026
- IIoT Platform Build Intelligence — Open Source Stack 2026
- 4Sight Holdings (does NOT offer this layer — competitive opening)