Enterprise architecture · a strategy brief

The Chubb Enterprise Knowledge Graph, built virtual-first.

How to turn a modular insurance ontology into an enterprise-wide layer of answers — a virtual knowledge graph mapped over federated data, governed by SHACL, resolved by identity, and served to analytics, 360 views and GenAI alike, without copying the data.

OBDA / Virtual Knowledge Graph mixed & federated sources for data architects & platform engineers

The strategy, up front

Thesis

The modeling foundation exists — a modular, competency-question-driven OWL 2 DL ontology with SHACL shapes — but today it is a design artifact, not a running system: not yet adopted, populated, or wired to a single source. The Enterprise Knowledge Graph is what turns that schema into answers over live enterprise data without moving the data: map federated sources to the ontology, resolve identity across them, govern with executable shapes, and serve one semantic layer to every consumer. That adoption is the work — the model is the starting line, not the finish.

This is not a proposal to build another data store. It is a proposal to build a semantic access layer. The data stays where it lives — in Guidewire, in policy-admin systems, in the lakehouse — and the knowledge graph provides one governed, machine-reasonable vocabulary for asking questions across all of it. That choice, Ontology-Based Data Access (OBDA), is the spine of everything that follows.

The document is written for the people who will build it. It moves from principles to a reference architecture, then through the four systems that make a virtual graph real — the semantic layer, the mapping-and-federation fabric, entity resolution, and executable governance — to the serving layer and a phased roadmap. It builds on the four ontology-engineering briefs in this series: the questions that drive scope, the message anti-pattern that keeps the model clean, modularization that structures it, and the namespace policy that names it.

01 — VISION & FIRST PRINCIPLES

A semantic layer, not another warehouse

The Enterprise Knowledge Graph exists to answer questions that span systems — What is this customer’s total exposure across every policy and open claim? — in one vocabulary, traceably, over authoritative data. Its value is meaning and connection, not storage. Every architectural decision below descends from seven principles.

P1

The ontology is the contract

Every mapping, query and API targets the shared ontology, never a source schema. The model is the single point of agreement between producers and consumers.

P2

Virtual-first, materialize by exception

Data is accessed where it lives via query rewriting. Materialize only what virtualization cannot serve well — the identity graph, hot aggregates, analytics projections.

P3

Competency questions are the acceptance tests

A capability is “done” when its CQs return correct answers over live data as SPARQL. The existing misc/*-cq.ttl suites become executable regression tests.

P4

Identity is a first-class service

The same party or policy exists under different keys in every source. Reconciling them to stable canonical IRIs is a dedicated, governed service — not a mapping side-effect.

P5

Governance is executable

SHACL conformance, OWL DL consistency and CQ regression run in CI on every ontology and mapping change. Quality is a gate, not a report.

P6

Federated ownership, central standards

The foundation and the contract are owned centrally and change slowly; domains are owned by domain teams as data products. Autonomy inside a shared frame.

P7

Consumer-driven, thin-sliced

Build the smallest end-to-end slice that serves a real consumer, prove it, then widen. Never build platform capability ahead of a question that needs it.

Why virtual, for Chubb, now

A mid-modernization insurer has data in many places and few of them stand still. Physically consolidating it all into one graph store means an ETL project that is obsolete before it finishes and a copy that drifts from the source of record the moment it lands. A virtual knowledge graph inverts the cost: you invest in mappings and identity — durable, declarative assets — and let the data stay authoritative at source. You get enterprise-wide reach without an enterprise-wide migration.

02 — REFERENCE ARCHITECTURE

Six layers and a governance spine

The stack reads bottom-up: authoritative data at the base, a thin declarative fabric that lifts it into the ontology, and a serving layer that hands one graph to many consumers. Governance, catalog and security run vertically through all of it.

Layer 6 · consumption

GenAI & agents · Party/Policy 360 · claims & fraud analytics · regulatory reporting

The four target consumers. Each reads the same graph through the interface that suits it — agent tools, application APIs, BI extracts, or governed regulatory queries.

▲   consumes   ▲

Layer 5 · serving

SPARQL endpoint · GraphQL · REST/materialized views · text-to-SPARQL & MCP tools

Query surfaces sized to each audience: SPARQL for power users and tools, GraphQL for app teams, cached views for BI, and a curated tool layer that exposes competency questions to LLM agents.

▲   exposes   ▲

Layer 4 · semantic layer (the contract)

Ontology (T-Box) · SKOS code-lists · SHACL shapes · identity / entity-resolution service

The existing fnd/ → ins/ ontology, its controlled vocabularies, its validation shapes, and the identity service that mints canonical IRIs. This is what every layer below must satisfy and every layer above may assume.

▲   defines   ▲

Layer 3 · virtualization & federation

OBDA engine + federated query planner → SPARQL-to-SQL rewriting, join pushdown, caching

Answers SPARQL by rewriting it into queries against the underlying sources and joining results across them. The engine (e.g. Ontop, Stardog Virtual Graphs, or a federation platform) must push work down to the sources, not pull raw data up.

▲   rewrites   ▲

Layer 2 · mapping

R2RML / RML mapping modules — one per source, versioned and tested

Declarative rules that say “this table/column becomes this class/property.” Mappings mirror the ontology’s modularity and are governed like code.

▲   maps   ▲

Layer 1 · sources (authoritative, unmoved)

Curated lakehouse · Guidewire PC/CC/BC · policy admin · mainframe/DB2 · SQL Server

Systems of record stay where they are. Some domains are mapped over the curated analytical layer; others are federated directly to operational systems where no curated layer exists yet.

The governance spine (vertical, across all six layers)

Catalog & lineage traces every source column through its mapping to its ontology term. CI/CD gates every change on syntax, DL consistency, SHACL conformance and CQ regression. Security enforces source-level and graph-level access control and row/attribute filtering. Observability watches query latency, rewrite plans and source load. None of these is a layer; all of them are everywhere.

03 — THE SEMANTIC LAYER

Evolving the ontology into an enterprise contract

The current ontology is the strongest asset in the programme: modular (fnd/ → ins/ → misc/), reasoned under OWL 2 DL, shaped by SHACL, and driven by competency questions. Three changes turn it from a domain model into the contract an enterprise graph runs on.

The one profile subtlety to get right

OBDA query rewriting is defined over OWL 2 QL, a deliberately weak profile that guarantees a SPARQL query can be rewritten into finite SQL. The authored ontology is richer — OWL 2 DL, with cardinalities, disjointness and equivalences. Keep both, with distinct jobs: the full DL ontology governs design-time consistency (run the reasoner in CI); a QL-safe projection drives runtime query rewriting. Treat the DL-minus-QL axioms as validation and documentation, not as inferences you expect the virtual layer to compute. Making this split explicit avoids the classic OBDA trap of expecting the engine to reason with axioms it structurally cannot use.

breadth

Extend coverage where consumers pull

Today’s policy / claim / coverage / business core must grow toward the questions the four consumers ask: party & customer (for 360), product, billing & payment, distribution / producer, risk & exposure, and reinsurance. Each new module follows the same questions-first, one-module-per-cluster discipline used for the existing modules.

reference data

Promote code-lists to SKOS

Lines of business, cause-of-loss codes, ISO territory and peril codes, currencies — these are controlled vocabularies, not classes. Model them as SKOS concept schemes (vendoring skos-core) so mappings can resolve source codes to shared concepts with skos:notation and skos:exactMatch.

stability

Freeze the foundation, version the domains

fnd/ is the public API of the whole graph; it must move slowly and deliberately. Domain modules carry their own owl:versionIRI and evolve on their own clock. The namespace policy governs how new IRIs are minted.

requirements

Make CQs the executable spec

Every competency question gets a canonical SPARQL form and an expected-result assertion. That turns misc/*-cq.ttl into the acceptance suite for the whole graph — the same finish line, now run over live data instead of the sample A-Box.

04 — MAPPING & FEDERATION

The declarative fabric that lifts data into the graph

In a virtual graph, mappings are the integration. A SPARQL query never touches a source directly; it is rewritten, through the mappings, into queries the sources can run. Two things must be first-class: the mappings themselves, and the federation that joins across a mixed substrate.

consumer SPARQL / CQ OBDA engine ontology (QL) + R2RML maps rewrite & plan curated lakehouse Snowflake / Databricks Guidewire PC/CC/BC operational mainframe / SQL Server operational federated SQL RDF results
query rewritten & pushed down results assembled as RDF
No copy is persisted. The engine rewrites one SPARQL query into SQL against each relevant source, joins the results in place, and returns RDF shaped by the ontology. The mappings and the ontology are the only durable artifacts — the “graph” is computed on demand.

Mappings as governed modules

  • One mapping module per source, mirroring the ontology’s seams. A source’s policy tables map to the policy vocabulary; its party tables to the party vocabulary. Mappings are versioned in source control and reviewed like code.
  • Target the contract, never a sibling’s internals. Every mapping emits terms from the shared ontology. That is what lets two different source systems answer the same question through one query.
  • Test mappings against competency questions. A mapping is complete when the CQs it is meant to satisfy return correct results over that source — the same acceptance discipline, applied to integration.

Federating a mixed substrate

Because domains sit on different substrates — some on the curated lakehouse, some directly on operational systems — the layer needs a planner that can join across sources and push work down to each. Two viable shapes, chosen per the engine you standardize on:

option A

Federation-native engine

A single virtualization platform (e.g. Stardog, Denodo, Dremio) that federates multiple sources behind one endpoint and optimizes the joins. Simpler operationally; ties you to one product.

option B

Per-source OBDA + SPARQL federation

One OBDA instance per source (e.g. Ontop) composed with SPARQL SERVICE federation. More open and per-source tunable; you own more of the join planning and its performance.

Virtualize where you can, curate where you must

Mapping directly over operational schemas is the fastest way to reach a domain, but OLTP systems have messy schemas and cannot absorb analytical query load. So the substrate is a migration path, not a fixed state: start a domain wherever it is reachable, and as it proves valuable, move its mapping onto the curated lakehouse layer. The mapping changes; the ontology contract and every downstream query do not. That decoupling is the whole point of the contract.

05 — ENTITY RESOLUTION & IDENTITY

The hardest problem, made explicit

In a federated virtual graph, the central difficulty is not access — it is identity. The same customer is a row in Guidewire, a record on the mainframe, and a party in the lakehouse, each with its own key. Until those are reconciled, a “Customer 360” query returns three disconnected fragments. Entity resolution is therefore a dedicated service, and the principal exception to virtual-first.

Why identity must be materialized

You cannot recompute fuzzy party matching on every query — it is expensive, non-deterministic, and needs human review. So the identity layer is a small, high-value materialized asset: a persistent crosswalk that maps each source key to a stable canonical IRI in the resource/ namespace. Everything else stays virtual; the identity graph is the deliberate exception that makes the rest work.

deterministic

Match on strong keys first

Where a reliable shared key exists — policy number, tax ID, a prior MDM golden-record ID — link deterministically. This resolves the majority of policies and organizations cheaply and unambiguously.

probabilistic

Match parties by similarity

People rarely share a clean key. Use probabilistic matching over name, address, date of birth and contact data, with tunable confidence thresholds. Feed from — and back into — any existing MDM.

provenance

Assert links with confidence, not blind sameAs

Avoid collapsing entities with bare owl:sameAs — in OWL that is an irreversible logical merge. Prefer a reified link (source key → canonical IRI) carrying method, confidence and timestamp, so merges are auditable and reversible.

stewardship

Humans resolve the ambiguous tail

Matches above threshold auto-link; a band below it goes to a data steward queue. Stewardship decisions are captured as data, so the identity graph improves and stays explainable — essential for the regulatory consumer.

How it plugs into the graph

Mappings emit source-native identifiers; the OBDA layer resolves them to canonical IRIs through the materialized crosswalk at query time. A 360 query then traverses one connected entity instead of three fragments — and because the crosswalk is data, its links are queryable, testable with SHACL, and traceable in lineage like everything else.

06 — GOVERNANCE, QUALITY & LINEAGE

Executable governance, not a review board slide

An enterprise graph that feeds regulatory answers and GenAI must be demonstrably correct. The raw materials exist in the ontology — SHACL shapes, DL axioms, competency questions. The strategy is to wire them into a pipeline so that quality is enforced automatically on every change.

The CI gate every change passes

StageWhat it checksToolingGate
SyntaxEvery .ttl and mapping parsesriot --validate / rdflibBlock on error
ConsistencyOntology is satisfiable under OWL 2 DLHermiT / Pellet / ELKBlock on inconsistency
ConformanceData (sampled or materialized) satisfies SHACL shapesSHACL engine over shapes/Block on violation
RequirementsCompetency-question SPARQL returns expected resultsCQ suite over the endpointBlock on regression
ContractHeader metadata mirrors real owl:imports / prefixesLint scriptBlock on drift
quality over live data

SHACL where the data actually is

Validating a virtual graph is harder than validating a file. Run SHACL over representative samples pulled through the mappings, and over any materialized slice (the identity graph especially). Surface violations as data-quality metrics per source, so bad upstream data is visible, not silently absorbed.

lineage

Trace every term to its column

Register mappings and ontology in the data catalog and capture lineage: source column → mapping rule → ontology term → served answer. This is what lets the regulatory consumer defend an answer — and what lets an engineer find the source of a wrong one.

The stewardship model

  • Central platform team owns the foundation (fnd/), the CI harness, the federation engine and the identity service. Slow-moving, high-scrutiny.
  • Domain product teams own their domain module, its mappings and its CQs — underwriting owns policy, claims owns claim. They ship on their own clock behind the shared contract.
  • A change-review function guards foundation edits and cross-domain changes, because a foundation change destabilizes everyone downstream at once.
07 — SERVING & CONSUMPTION

One graph, four consumers, the right door for each

The point of the whole stack is the answers it serves. Each of the four target consumers reaches the same virtual graph through the interface that fits it — and the competency questions are the connective tissue, because a governed CQ is exactly what an application, a report and an LLM agent all want.

consumer 1

GenAI & RAG grounding

The graph is the semantic grounding layer for LLMs. Expose competency questions as parameterized tools (via MCP or a function layer) so agents call vetted, safe queries rather than emitting free-form SPARQL; add ontology-constrained text-to-SPARQL for open questions. The ontology’s labels and definitions become the schema the model reasons over — grounded, current, and traceable answers instead of hallucinations.

consumer 2

Party / Policy 360

Composed views over the federated graph plus the identity service — every policy, claim, coverage and interaction for one resolved party. Served via GraphQL for app teams. This is the consumer that exercises entity resolution hardest, which is why it makes the ideal first slice.

consumer 3

Claims & fraud analytics

Relationship-heavy questions — shared addresses, provider rings, subrogation chains. Where network algorithms get heavy, project a materialized analytics subgraph (the one place a property-graph projection earns its keep) rather than forcing traversal-heavy work through virtualization.

consumer 4

Regulatory & compliance

Governed SPARQL answers backed by lineage and SHACL conformance as evidence. The value here is not speed but defensibility: every figure traces to a source column through a versioned mapping, and conformance reports show the data met its shapes.

Serving surfaces, sized to the audience

SPARQL for power users, data scientists and tools · GraphQL for application developers who want typed, shaped access · REST / materialized views for BI and batch extracts · MCP tools & text-to-SPARQL for GenAI agents. One graph underneath; four doors, each locked down by the same security and governance spine.

08 — ROADMAP & OPERATING MODEL

Prove a slice, then grow it into a mesh

The delivery shape is vertical slice first, domain-product mesh later, with platform foundations built only as thin as each slice demands. Value lands in one quarter; the platform hardens under real load rather than ahead of imagined requirements.

Phase 0 · Foundations (thin) · ~Q1

Choose the spine, stand up the gate, scope the slice

Select the OBDA / federation engine. Stand up the CI harness (syntax → consistency → SHACL → CQ). Skeleton the identity service. Run an ontology gap analysis against the first consumer’s CQs. Define the vertical slice.

Exit: pipeline runs green on the existing model; slice scoped and staffed.

Phase 1 · Vertical slice / walking skeleton · ~Q1–Q2

Party/Policy 360 for one line of business, end to end

Map 2–3 sources (one curated, one operational). Resolve party and policy identity. Serve SPARQL + a GraphQL 360 view. Ship one live consumer — a RAG grounding demo answering the policy CQs over live data.

Exit: the slice’s competency questions answered correctly over live, federated data.

Phase 2 · Broaden domains · ~Q2–Q3

Add claim, coverage & billing; harden the fabric

Onboard the next domains and their mappings. Deliver claims & fraud analytics via a materialized analytics subgraph. Tune federation performance, expand SHACL coverage and the CQ suite, and grow the identity graph.

Exit: three consumers live; performance and conformance within targets.

Phase 3 · Domain-product mesh & scale · ~Q3–Q4+

Domains become owned data products; regulatory serving; more LOBs

Hand each domain to its owning team as a published virtual-graph data product against the shared contract. Deliver lineage-backed regulatory serving. Onboard further lines of business and migrate OLTP-mapped domains onto the curated layer.

Exit: self-service onboarding of new sources; all four consumers in production.

What to measure

  • Coverage — number of competency questions answerable over live data (the primary progress metric).
  • Latency — p95 query response for each serving surface, and source-side load imposed by rewrites.
  • Onboarding lead time — days from a new source to its first CQ answered through the graph.
  • Conformance — SHACL pass rate per source, and identity precision/recall on a labeled sample.
  • Adoption — consuming applications, agents and reports in production.

Principal risks & how the design absorbs them

RiskMitigation built into the strategy
OBDA performance over operational systemsPush joins down; cache hot results; materialize aggregates and the identity graph; migrate hot domains onto the curated lakehouse.
Entity-resolution accuracyDeterministic keys first, tunable probabilistic thresholds, steward queue for the ambiguous band, reified links with confidence and provenance.
DL vs QL profile gapMaintain a QL-safe query ontology for rewriting distinct from the full DL ontology used for design-time consistency; state the boundary explicitly.
Federation-engine maturity / lock-inStart single-source, standardize on one engine deliberately, keep mappings in open R2RML/RML so they outlive any one product.
Foundation churn destabilizing consumersCentral ownership of fnd/, versioned domains, change-review on foundation edits, CQ regression as a safety net.
Scope sprawl across four consumers at onceThin vertical slice first; each consumer earns its build order from a real, scoped question.

The through-line

Keep the data where it lives and invest in the durable assets — the ontology contract, the mappings, the identity graph, the executable governance. Prove them on one slice that a real consumer needs, then let the modular structure you already built carry the graph, domain by domain, into a mesh the whole enterprise can query.