Architecture of Semantica for Context and Accountable AI: A Knowledge-Graph-First Design
Semantica implements a layered, knowledge-graph-first pipeline that ingests raw data, extracts semantic entities, and overlays a Context Graph with W3C PROV-O provenance to deliver fully traceable, auditable AI decisions.
The semantica-agi/semantica repository delivers an open-source framework engineered to eliminate the black-box problem in artificial intelligence. The architecture of Semantica for context and accountable AI centers on a Knowledge Graph (KG) pipeline that transforms unstructured data into structured semantics, then layers context management, provenance tracking, and decision governance on top to create systems where every inference is explainable and reproducible.
Core Architectural Layers
Semantica organizes functionality into distinct pipeline layers, each implemented as dedicated packages within the repository.
Ingestion and Parsing
According to the Semantica source code, the pipeline begins in the semantica.ingest and semantica.parse packages, which collect data from files, web sources, databases, streams, and cloud storage. The semantica.normalize and semantica.split modules standardize this raw content into consistent formats suitable for semantic processing.
Semantic Extraction and Conflict Resolution
The semantica.semantic_extract package detects entities, relations, and events. Before final graph assembly, the semantica.conflicts and semantica.deduplication packages resolve contradictory facts and remove duplicates to ensure data integrity within the knowledge base.
Knowledge Graph Construction
The semantica.kg module assembles nodes, edges, and temporal facts into the core Knowledge Graph. This layer persists data through semantica.vector_store for embeddings and semantica.graph_store for graph-native retrieval, enabling high-performance semantic queries.
Intelligence Layer
As implemented in semantica/reasoning/reasoner.py and supporting modules, the Intelligence Layer comprises four critical components:
- Ontology Management: The
semantica.ontologypackage defines vocabularies and constraints that govern valid reasoning. - Reasoning Engines: The
semantica.reasoningmodule runs Rete, Datalog, and SPARQL engines against the enriched KG. - Provenance Tracking: The
semantica.provenancepackage implements W3C PROV-O lineage tracking for all data transformations. - Context and Decisions: The
semantica.contextpackage records decisions, builds the Context Graph, and links causal relationships between inferences.
Export and Services
The semantica.export module supports RDF, JSON-LD, and Parquet formats for data portability, while semantica.visualization provides graph rendering capabilities. External integration occurs through semantica.mcp_server and a comprehensive CLI that exposes pipeline functions as Model Context Protocol tools.
Context and Accountable AI Implementation
Accountability in Semantica centers on the Context Graph, a specialized layer that sits atop the Knowledge Graph to capture decision rationale, causal dependencies, and governance audit trails.
The Context Graph Structure
Implemented in semantica/context/context_graph.py, the Context Graph stores immutable decision objects alongside their metadata. Unlike the Knowledge Graph which stores facts, the Context Graph stores decisions about facts, creating a dual-layer architecture where raw data and AI reasoning remain distinct but linked.
Decision Recording and Provenance
The record_decision() function creates immutable decision objects capturing category, scenario, reasoning logic, outcome, confidence scores, and arbitrary metadata. According to the Semantica source code, the semantica/context/context_provenance.py module automatically attaches W3C PROV-O provenance metadata to each decision, recording exactly which data sources and transformations contributed to the conclusion.
Causal Relationships and Impact Analysis
The add_causal_relationship() API enables developers to link decisions through semantic predicates such as enables or blocks. These edges form traversable chains within the Context Graph, allowing trace_decision_chain() to reconstruct full ancestry trees and analyze_decision_impact() to map downstream consequences of upstream choices, as defined in semantica/context/context_retriever.py.
Governance and Audit
Before commitment, the check_decision_rules() function runs policy engines against the Context Graph to enforce compliance constraints. Upon approval, decisions become immutable and exportable via semantica/export/exporter.py in PROV-O, CSV, or JSON formats for regulator-ready audit trails.
Working with the Context API: Practical Examples
The following example demonstrates how to record a decision, link it causally to downstream processes, query for similar historical decisions, enforce governance rules, and export an audit trail using the public semantica.context package.
from semantica.context import ContextGraph
# Initialize the Context Graph
ctx = ContextGraph()
# 1. Record a decision with full provenance
decision_id = ctx.record_decision(
category="risk_assessment",
scenario="loan_application",
reasoning="credit_score>700 && debt_to_income<0.4",
outcome="approve",
confidence=0.92,
metadata={"applicant_id": "A1234"},
)
# 2. Establish causal link to subsequent business process
ctx.add_causal_relationship(
source_id=decision_id,
target_category="marketing",
relationship="enables",
description="Approved loan opens up cross-sell opportunity"
)
# 3. Retrieve semantically similar precedent decisions
similar = ctx.find_similar_decisions(
category="risk_assessment",
query_vector=ctx.embed_text("high credit score, low DTI")
)
print("Top similar decisions:", similar[:3])
# 4. Validate against governance policies before commitment
if ctx.check_decision_rules(decision_id):
ctx.commit(decision_id) # Marks immutable
else:
raise RuntimeError("Policy violation detected")
# 5. Export regulator-ready audit trail
audit_json = ctx.export_audit(decision_id, fmt="prov")
with open("audit_A1234.json", "w") as f:
f.write(audit_json)
All functions above are implemented in semantica/context/context_graph.py, semantica/context/context_provenance.py, and semantica/context/context_retriever.py, with additional MCP server wrappers available in semantica_mcp/mcp/tools/decisions.py.
Summary
- Semantica uses a knowledge-graph-first pipeline that processes raw data through ingestion, semantic extraction, and conflict resolution layers before constructing the core KG in
semantica.kg. - The Context Graph (
semantica/context/context_graph.py) provides a dedicated layer for decision recording, causal relationship mapping, and impact analysis, separate from but linked to the factual Knowledge Graph. - W3C PROV-O provenance tracking in
semantica/context/context_provenance.pyensures every decision maintains complete lineage metadata for traceability. - The Decision Recorder API creates immutable decision objects with
record_decision(), whilecheck_decision_rules()enforces governance constraints prior to commitment. - Audit trails can be exported in multiple formats (PROV-O, JSON, CSV) via
semantica/export/exporter.pyfor regulatory compliance and external verification.
Frequently Asked Questions
How does Semantica track the provenance of AI decisions?
Semantica implements W3C PROV-O standards through the semantica/context/context_provenance.py module. When record_decision() is called, the system automatically captures lineage metadata linking the decision to its source data, transformation steps, and reasoning logic. This provenance data is queryable and exportable in standardized formats for verification and regulatory audits.
What reasoning engines does Semantica support?
The semantica/reasoning/reasoner.py module integrates multiple inference engines including Rete for rule-based reasoning, Datalog for logical deduction, and SPARQL for graph pattern matching. These engines operate on the enriched Knowledge Graph to derive new facts before decisions are recorded in the Context Graph.
How does the Context Graph differ from the Knowledge Graph?
The Knowledge Graph (managed in semantica/kg/) stores factual entities and relationships extracted from raw data. The Context Graph (managed in semantica/context/context_graph.py) stores interpretive layers including decisions, confidence scores, causal links, and governance outcomes. This separation maintains clean data semantics while enabling full accountability for AI inferences.
Can Semantica integrate with existing MCP servers?
Yes, the repository includes semantica_mcp/mcp/tools/decisions.py, which exposes the decision-recording API as Model Context Protocol (MCP) tools. This allows external AI systems and agents to record decisions, query similar precedents, and check governance rules through standardized MCP server interfaces without requiring direct library integration.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →