An obligation graph is a directed knowledge graph representing mandatory duties imposed by law, where nodes are legal actors (e.g., 'employer,' 'administrator') and edges are actions they are obligated to perform (e.g., 'file,' 'disclose'). Unlike a permission graph or prohibition graph, it exclusively models deontic modalities of obligation derived from statutory text. This structure computationally instantiates the output of normative parsing, transforming unstructured legal language into a machine-readable, queryable format for automated compliance reasoning.
Glossary
Obligation Graph

What is an Obligation Graph?
An obligation graph is a directed knowledge graph that formally models mandatory duties imposed by law, where nodes represent legal actors and directed edges represent the specific actions they are legally obligated to perform.
The graph's directed edges encode the subject-verb-object structure of a legal duty, often annotated with temporal constraints, triggering conditions, and statutory citations for provenance. Obligation graphs serve as the foundational knowledge layer for legal syllogism engines, enabling rule-to-fact binding where a system verifies whether a specific actor has discharged all mandatory duties. They are critical for detecting normative conflict detection scenarios, such as when one statute obligates an action another prohibits, ensuring coherent reasoning in complex regulatory environments.
Key Characteristics
An Obligation Graph is a directed knowledge graph that computationally models mandatory duties imposed by law. It serves as the foundational data structure for automated compliance checking and normative reasoning.
Directed Graph Structure
The graph is composed of nodes representing legal actors (e.g., 'Employer,' 'Taxpayer,' 'Administrator') and directed edges representing mandatory actions one actor must perform for another.
- Source Node: The bearer of the duty (the obligor)
- Target Node: The beneficiary of the duty (the obligee)
- Edge Label: The specific action mandated (e.g., 'file,' 'pay,' 'disclose')
This structure directly mirrors the Hohfeldian legal relations framework, transforming jural correlatives into queryable graph patterns.
Deontic Logic Foundation
Obligation Graphs are grounded in deontic logic, a branch of modal logic that formalizes normative concepts. Each edge is annotated with a deontic modality, primarily O (obligation).
- O(A, B, φ): Actor A is obligated to Actor B to perform action φ
- Edges can carry activation conditions (predicates that must be true for the duty to arise)
- Supports contrary-to-duty reasoning for modeling violations and remedial obligations
This formal semantics enables deterministic traversal and automated conflict detection against Permission Graphs and Prohibition Graphs.
Conditional Activation Logic
Not all obligations are absolute. Edges in the graph are often gated by conditional predicates extracted from statutory text.
- IF-THEN rules: 'IF an employer has 50+ employees, THEN the employer MUST file Form EEO-1'
- Predicates are modeled as Boolean expressions over a fact base
- Supports temporal conditions: effective dates, deadlines, and sunset provisions
This allows the graph to dynamically activate or deactivate duties based on a changing factual context, enabling real-time compliance assessment.
Relationship to Normative Parsing
Obligation Graphs are populated through normative parsing, a specialized NLP task that extracts deontic structures from unstructured legal text.
- Identifies the actor (subject), action (verb phrase), and modality (must, shall, may, may not)
- Resolves definitional cross-references to normalize entity names
- Handles exception handling logic by creating negative conditions on obligation edges
The extraction pipeline typically uses fine-tuned legal language models trained on annotated statutes and regulations.
Conflict and Gap Analysis
Once constructed, the Obligation Graph enables automated normative conflict detection and regulatory gap analysis.
- Conflict Detection: Identifies when an action is simultaneously labeled as obligatory and prohibited for the same actor
- Gap Analysis: Surfaces factual scenarios where no explicit obligation, permission, or prohibition exists
- Hierarchy Resolution: Uses statutory hierarchy modeling to resolve conflicts between overlapping obligations from different sources of authority
These capabilities are critical for building coherent, contradiction-free compliance reasoning systems.
Computational Traversal and Querying
The graph supports complex graph traversal queries to answer legal compliance questions.
- Forward traversal: 'Given Actor X, what are all of their obligations?'
- Backward traversal: 'What conditions trigger a duty to file Form 10-K?'
- Path queries: 'What chain of obligations links a manufacturer to an end-consumer reporting duty?'
Implemented using graph databases like Neo4j with Cypher or RDF triplestores with SPARQL, these queries power downstream Legal Syllogism Engines that bind rules to facts.
Obligation Graph vs. Related Deontic Structures
A structural comparison of the Obligation Graph against its sibling deontic knowledge structures, distinguishing mandatory duties from permissions, prohibitions, and the formal logical systems that underpin them.
| Feature | Obligation Graph | Permission Graph | Prohibition Graph | Deontic Logic |
|---|---|---|---|---|
Core Modality | Mandatory Duty (Must) | Discretionary Right (May) | Forbidden Action (Must Not) | Formal Calculus (All Modalities) |
Edge Semantics | Actor MUST perform Action | Actor MAY perform Action | Actor MUST NOT perform Action | Logical operators (O, P, F) on propositions |
Primary Use Case | Compliance automation, duty extraction | Rights management, authorization systems | Risk detection, regulatory violation flagging | Normative consistency verification, theorem proving |
Violation Consequence | Legal penalty, breach of contract | No penalty, but right is unexercised | Legal penalty, criminal liability | Logical contradiction detected |
Graph Directionality | Directed (Subject -> Object of duty) | Directed (Subject -> Object of permission) | Directed (Subject -> Object of prohibition) | Not inherently graphical; propositional |
Temporal Constraints | ||||
Exception Handling | Explicit override edges required | Scope limitation edges | Safe harbor carve-out edges | Defeasibility operators in formal logic |
Computational Complexity | O(n) for traversal, NP-hard for conflict resolution | O(n) for traversal | O(n) for traversal | PSPACE-complete for full modal logic |
Frequently Asked Questions
Explore the core concepts behind obligation graphs, the directed knowledge structures used to computationally model mandatory legal duties for automated compliance and reasoning systems.
An obligation graph is a directed knowledge graph that formally represents mandatory duties imposed by law, regulation, or contract. In this computational model, nodes represent legal actors (e.g., 'Employer,' 'Taxpayer,' 'Administrative Agency') and directed edges represent specific actions one actor is obligated to perform for or toward another. The graph is constructed by applying normative parsing and legal rule extraction techniques to unstructured legal text, identifying deontic modalities of obligation. The resulting structure enables a legal syllogism engine to traverse the graph and algorithmically verify whether a set of facts triggers a specific duty, forming the backbone of automated regulatory compliance checking.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Related Terms
An obligation graph does not exist in isolation. The following concepts form the computational and logical infrastructure required to construct, validate, and reason over directed graphs of legal duties.
Deontic Logic
The formal modal logic that provides the mathematical foundation for obligation graphs. Deontic logic extends classical logic with operators for obligation (O), permission (P), and prohibition (F). In an obligation graph, each directed edge represents an instantiated deontic operator—specifically, an O(A, φ) statement meaning 'Actor A is obligated to bring about state φ.' The logic's axiomatic system (typically Standard Deontic Logic or SDL) governs how obligations propagate, conflict, and interact with permissions. Key challenges include the paradox of contrary-to-duty obligations and the Ross paradox, both of which must be addressed for the graph to model real-world legal reasoning without generating spurious or contradictory duties.
Normative Parsing
The NLP pipeline that extracts the raw material for obligation graphs from unstructured statutory text. Normative parsing decomposes legal sentences into their deontic components: the actor (who bears the duty), the action (what must be done), the modality (obligation, permission, or prohibition), and the condition (under what circumstances). For example, parsing 'An employer shall, within 30 days of hire, verify employment eligibility' yields:
- Actor: employer
- Action: verify employment eligibility
- Modality: obligation
- Temporal constraint: within 30 days of hire This structured output directly populates the nodes and labeled edges of the obligation graph.
Normative Conflict Detection
The algorithmic process of identifying contradictory deontic statements that would corrupt an obligation graph's logical consistency. A conflict arises when the same action is simultaneously classified as both obligatory and prohibited, or when an obligation conflicts with a permission not to act. Detection algorithms traverse the graph to find paths where:
- O(A, φ) and F(A, φ) coexist
- O(A, φ) and P(A, ¬φ) coexist Resolution strategies include lex specialis (specific rules override general ones), temporal priority (later-enacted laws prevail), and hierarchical superiority (constitutional norms override statutory ones). Without robust conflict detection, an obligation graph cannot serve as a reliable compliance engine.
Permission Graph
The complementary knowledge graph to the obligation graph, representing discretionary rights rather than mandatory duties. Where an obligation graph edge encodes 'Actor A must perform action X,' a permission graph edge encodes 'Actor A may perform action X.' The two graphs must be co-analyzed because:
- A permission can act as an exception to a general obligation
- The absence of a permission does not imply a prohibition
- Permissions often define the scope of lawful discretion within which an obligated actor must operate In computational legal reasoning, querying both graphs simultaneously prevents false-positive violation flags when an action is permitted but not mandated.
Prohibition Graph
The directed knowledge graph representing actions that are legally forbidden, forming the third pillar of the deontic graph triad alongside obligation and permission graphs. A prohibition graph edge encodes 'Actor A is forbidden from performing action X,' which is logically equivalent to O(A, ¬X)—an obligation to refrain. Prohibition graphs are critical for:
- Compliance checking: identifying when a proposed action traverses a forbidden edge
- Exception modeling: many obligations are phrased as 'Do X, unless Y is prohibited'
- Penalty attachment: prohibition edges often carry associated sanction nodes specifying the legal consequence of violation The three graphs together form a complete deontic knowledge base for automated legal reasoning.
Rule-to-Fact Binding
The computational mechanism that instantiates an abstract obligation graph against a concrete factual scenario to generate actionable legal conclusions. The process involves:
- Predicate matching: mapping the conditional triggers on graph edges (e.g., 'if the employee is a minor') to verified facts in a case record
- Entity resolution: binding graph nodes representing generic actors (e.g., 'the employer') to specific real-world entities (e.g., 'Acme Corp')
- Temporal grounding: anchoring time-bound obligations to actual calendar dates Successful rule-to-fact binding transforms the obligation graph from a static representation of the law into a dynamic compliance engine that can answer the question: 'Given these facts, what must this specific actor do right now?'

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us