Context & Decision Intelligence
semantica.context
Every AI decision stored as a first-class graph object, with causal lineage, precedent search, and a policy compliance gate.
View documentationgraph = ContextGraph(advanced_analytics=True)
decision_id = graph.record_decision(
category="vendor_selection",
outcome="selected_aws",
confidence=0.93,
)
chain = graph.trace_decision_chain(decision_id)Knowledge Graph Engine
semantica.kg
Build a knowledge graph from any data source, with centrality, community detection, and link prediction built in.
View documentationkg = GraphBuilder(merge_entities=True, enable_temporal=True).build(docs)
centrality = CentralityCalculator().calculate_degree_centrality(kg)
communities = CommunityDetector().detect_communities(kg, method="louvain")
path = PathFinder().find_shortest_path(kg, "alice", "contract_001")Polyglot Graph Storage
Swap between RDF triple stores and labeled property graphs behind one unified interface, without touching your code.
View documentationReasoning Engines
semantica.reasoning
Deterministic, explainable inference. Every conclusion traces back to the rules and facts that produced it.
View documentationrete = ReteEngine()
rete.build_network([Rule(
rule_id="aml_flag",
conditions=[{"field": "amount", "operator": ">", "value": 10_000}],
conclusion="flag_for_compliance_review",
rule_type=RuleType.IMPLICATION,
)])
flagged = rete.match_patterns()Temporal Intelligence
semantica.kg (temporal)
Query the graph as it existed at any past moment, tracking valid time and recorded time independently.
View documentationgraph.add_node("alice_chen", "Person", role="VP Engineering")
snapshot_2023 = graph.state_at("2023-06-01")
snapshot_2024 = graph.state_at("2024-01-01")
tq = TemporalGraphQuery(graph)
facts = tq.query_time_range("2024-01-01", "2024-12-31")Provenance & Auditability
semantica.provenance
Every fact links to its source. Audit trails export as W3C PROV-O, in Turtle, JSON-LD, CSV, or JSON.
View documentationprov = ProvenanceManager(storage_path="./audit.db")
prov.track_entity("acme_corp", source="contract.pdf",
metadata={"page": 1, "confidence": 0.97})
lineage = prov.get_lineage("acme_corp")
RDFExporter().export(kg, "audit_trail.ttl", format="turtle")Ontology & Schema Management
semantica.ontology
Auto-generate OWL ontologies from your data, validate shapes with SHACL, and manage SKOS vocabularies.
View documentationgen = OntologyGenerator()
ontology = gen.generate_ontology({"entities": entities, "relationships": []})
classes = gen.infer_classes({"entities": entities, "relationships": []})
report = OntologyValidator().validate(ontology)
if report.conforms:
RDFExporter().export(ontology, "schema.ttl", format="turtle")Enterprise Data Platforms
semantica.ingest
Pull tables straight from your lakehouse or warehouse, with lineage, instead of exporting to CSV first.
View documentationfrom semantica.ingest import DatabricksIngestor, SnowflakeIngestor
databricks = DatabricksIngestor(
host="https://adb-xxx.azuredatabricks.net",
token="dapi-xxxxxxxx",
http_path="/sql/1.0/warehouses/xxxxxxxx",
catalog="main",
)
customers = databricks.ingest_table("customers", limit=10_000)
snowflake = SnowflakeIngestor(
account="myaccount", user="myuser", password="mypassword",
warehouse="COMPUTE_WH", database="MYDB",
)
orders = snowflake.ingest_table("ORDERS", limit=10_000)