Policy Intelligence·2025·Built
Policy Intelligence

NormaGraph

Policy reasoning as a structured graph, not prose

PythonNeo4jLangChainFastAPIOpenAI APIPostgres (provenance)
0.91
Retrieval precision@8
85%
Conflict pairs flagged (eval)
100%
Citations grounded in graph (eval)
3
Avg. hops for decisions

NormaGraph applies a Decision Graph abstraction to regulatory and policy corpora: deontic statements become typed nodes (obligation, prohibition, permission), actors and artifacts become entities, and cross-references become edges. Retrieval is orchestrated: vector search proposes candidates; graph constraints decide admissibility.

This is not "RAG with extra steps." It is a system where meaningful inference requires structure—conflicts are detected by graph patterns, not by hoping an LLM notices contradictions in prose.

Focus areas:

  • Structured extraction with human-in-the-loop validation for high-stakes clauses.
  • Conflict detection via constrained subgraph matching.
  • Traceable answers: every conclusion cites a path in the graph.
The challenge

Policy work fails when teams treat documents as flat text. Contradictions, scope, and exceptions hide in structure—footnotes, cross-articles, and superseding clauses.

The challenge is to combine scalable ingestion with deterministic reasoning primitives so stakeholders can trust automated analysis.

Approach
  1. Layout-aware parsing segments documents into hierarchy (parts, sections, clauses).

  2. Extraction to graph: Map clauses to normative atoms with provenance edges back to source spans.

  3. Hybrid retrieval: Embeddings narrow search; graph traversals enforce validity (jurisdiction, time, entity type).

  4. Conflict surfacing: Run pattern queries for incompatible obligations and rank by severity and evidence strength.

System architecture
Corpus
Extraction
Norm graph
Vector index
Graph reasoning
Audit UI
Input
Process
Model
Storage
Output
Failure modes
  • 01

    Extraction errors poison the graph—human validation gates and confidence scores are mandatory.

  • 02

    Novel cross-jurisdictional interactions may be absent from training corpora—explicit unknowns over fake precision.

  • 03

    Graph size can explode—subgraph scopes and archival partitions keep queries tractable.

Trade-offs
  • 01

    Chose symbolic graph reasoning over end-to-end neural QA for auditability.

  • 02

    Higher labeling burden during ingestion; lower risk downstream.

  • 03

    Conservative retrieval improves precision at the expense of recall on edge cases.

Implementation details

conflict_query.cypher

Detect incompatible obligations on the same actor/action

sql
conflict_query.cypher
sql
1 
Ownership

Designed

Defined the Decision Graph abstraction, extraction schema, and conflict-query library.

Implemented

Built Neo4j modeling, hybrid retrieval orchestration, and API surfaces for analysts.

Scrapped

Pure LLM chain-of-thought for legal conclusions—unacceptable without structural guarantees.