Semantica
Semantica is an open-source Python pipeline (pip install semantica) that ingests enterprise data and builds a queryable Context Graph and knowledge graph with deterministic (LLM-optional) reasoning, ontology management (OWL/SHACL/SKOS), and W3C PROV-O provenance for full decision auditability. It ships modules for ingestion (Databricks, Snowflake, SAP, Kafka, Git, etc.), NER/relation/event extraction, conflict detection and deduplication, Rete/Datalog/SPARQL reasoning, bi-temporal graph queries, polyglot graph storage (RDF stores and LPGs like Neo4j/Neptune), and integrations with Agno, CrewAI, LangChain, and MCP.
What it claims
Semantica positions itself as the deterministic "semantic/context layer" beneath an existing LLM/vector/agent stack, not a replacement for any of them. Two things the summary doesn't surface are central to the pitch: (1) decisions are first-class graph nodes, not log lines, and (2) the explainability on offer is explicitly system-level, not foundation-model-level — Semantica explains the context fed in, the decision produced, its provenance and the execution trail, but treats the LLM's internals as opaque. If you were hoping for insight into why the model itself produced a token, this is not that.
How to use it
The API shape for the decision-intelligence core (the part the summary names but doesn't show):
from semantica.context import ContextGraph
graph = ContextGraph(advanced_analytics=True)
decision_id = graph.record_decision(
category="vendor_selection",
scenario="Choose cloud provider for HIPAA workload",
reasoning="AWS offers BAA, mature HIPAA tooling, and existing team expertise",
outcome="selected_aws",
confidence=0.93,
)
graph.trace_decision_chain(decision_id) # full causal ancestry
graph.find_similar_decisions("cloud vendor", max_results=5)
graph.analyze_decision_impact(decision_id)
graph.check_decision_rules({"category": "vendor_selection"})Causal edges take relationship_type restricted to CAUSED, INFLUENCED, or PRECEDENT_FOR. Exports go through graph.to_kg_dict(), the adapter that emits the {"entities", "relationships"} shape the RDF/temporal APIs expect.
The install story changed materially: core dropped from 44 to 22 dependencies, moving torch, spaCy, sentence-transformers, matplotlib, faiss-cpu, python-docx etc. into granular extras.
pip install semantica # lightweight core, 22 deps
pip install "semantica[all]" # old fully-bundled behaviourEverything is also exposed via CLI (semantica doctor, command groups from ingest through mcp), a REST server on port 8000, and an MCP server (python -m semantica.mcp_server). Enterprise connectors (Databricks, Snowflake, SAP) each need their own extra, e.g. semantica[db-databricks].
Limits
The page is unusually candid, and these are the checks the summary omits entirely:
ReteEngine's alpha-node condition matcher is "intentionally simple" in this release. The docs twice warn you to validatematch_patterns()output against your real rule set before wiring it into a production compliance gate. For an AML/compliance use case this is the load-bearing caveat.- Breaking changes this release:
Entity.confidenceis nowOptional[float](wasfloat = 1.0);PolicyEngine.check_compliancenow raisesProcessingErrorinstead of returningFalsefor rules it cannot evaluate; thecrewaiextra was removed (installcrewai>=0.80.0separately) to close unpatchedchromadb/json-repairCVEs; thedevextra is gone. - Python 3.10+ required (3.8/3.9 dropped, 3.14 not yet supported).
- Performance claims are thin: benchmarks cite a 118,000-node graph but the dedup/candidate-generation figures are "historical measurements recorded in CHANGELOG.md rather than an automated test assertion." Run
pytest tests/vector_store/test_performance_benchmarks.pyon your own data. - Some ingestors (DuckDB, Elasticsearch, Google Drive, HuggingFace, MongoDB, Pandas) ship but aren't re-exported from the top-level namespace — import them by full path.
The release also claims 40+ correctness-bug fixes (in-memory vector-ID reuse corrupting live vectors, FAISS/Qdrant/Milvus gaps, CLI commands calling nonexistent APIs), which is itself a signal about the maturity of the version you'd be adopting.
Organisations named here
- Anthropic
- Spark Capital
- Databricks
- Snowflake
- SAP
- W3C
- OpenAI
- CrewAI
- LangChain
- Neo4j
- RDF4J
Technologies named here
- Semantica
- Claude
- Agno
- Gemini
- CrewAI
- LangChain
- MCP server
- Databricks
- Snowflake
- SAP
- Neo4j
- FalkorDB
- Apache AGE
- AWS Neptune
- Oxigraph
- Blazegraph
- Apache Jena
- Eclipse RDF4J
- Kafka
- Kinesis
- RabbitMQ
- Pulsar
- DuckDB
- Elasticsearch
- Google Drive
- Hugging Face
- MongoDB
- pandas
- FAISS
- Qdrant
- Weaviate
- Milvus
- Pinecone
- pgvector
- Datalog
- OWL
- Python
- RDF
- RDF4J
- SAP OData
- SHACL
- SKOS
- SPARQL
Techniques named here
- Context Graph
- Decision Intelligence
- Deterministic Reasoning
- Rete network reasoning
- Recursive Datalog querying
- Bi-temporal facts
- Point-in-time graph snapshots
- Entity-aware chunking
- Relation-aware chunking
- Graph-based chunking
- Hierarchical chunking
- Hybrid search with RRF fusion
- Conflict detection and resolution
- Entity resolution / deduplication
- W3C PROV-O provenance tracking
- Ontology generation and SHACL validation
Related in llm-apps