Skip to content

v0.6.0

Latest

Choose a tag to compare

@github-actions github-actions released this 21 Jul 10:35

Release Date: July 21, 2026
Version: 0.6.0

Semantica 0.6.0 closes out cross-backend SPARQL parity (named graphs and CONSTRUCT templates now work identically across Blazegraph, RDF4J, and Jena), adds Databricks and SQLite as new data connectors, and fixes seven correctness bugs in provenance tracking and rule-based reasoning.

What's Changed

Added

  • Named-Graph Support for JenaStore (#756, #757) by @Sameer6305 and @KaifAhmad1

    • Migrated onto rdflib.Dataset(default_union=False); add_triplets() gains a graph= option for named-graph writes
    • Completes cross-backend named-graph parity across Blazegraph, RDF4J, and Jena
    • Also fixes the remote Fuseki path silently failing every write (wrong rdflib store class, self.endpoint never set)
    • 9 tests
  • SPARQL CONSTRUCT Query Templates (#752, #322, #755, #754) by @Sameer6305

    • ConstructTemplate, ParameterDescriptor, ConstructTemplateRegistry for parameterized, injection-safe CONSTRUCT queries
    • CONSTRUCT execution extended from Blazegraph-only to the RDF4J and Jena backends
    • New construct_template pipeline step type
  • Databricks Connector (#747) by @KaifAhmad1

    • DatabricksIngestor for Unity Catalog + Delta Lake ingestion, mirroring SnowflakeIngestor's API shape
    • PAT and OAuth M2M (service principal) auth; ingest_table()/ingest_query(); catalog/schema/table introspection; table + column lineage
    • Optional dep: pip install "semantica[db-databricks]"; included in db-all
    • 35 tests
  • SQLite Vector Store Backend (#726) by @Luffy2208 and @KaifAhmad1

    • SQLiteVecStore, a disk-backed local vector store on sqlite-vec's vec0 virtual tables
    • Cosine/L2 metrics, JSON metadata filtering, read-only and in-memory modes, optional WAL mode for write concurrency
    • Optional dep: pip install semantica[vectorstore-sqlite]
    • 25 tests

Fixed

  • kg.ProvenanceTracker out of sync with ProvenanceManager, now deprecated in favor of it (#744, #751) by @Sameer6305 and @KaifAhmad1
  • ProvenanceManager.track_entity silently overriding an explicit parent_entity_id/derived_from on re-track (#742) by @Sameer6305
  • ProvenanceManager.get_lineage not linking entities that share a source URL (#735) by @KaifAhmad1
  • Reasoner.add_rule had no deduplication, doubling rules and silently emptying forward_chain() on rerun (#732) by @KaifAhmad1
  • InferenceResult.premises always empty from forward_chain/backward_chain (#739) by @Sameer6305
  • Missing shacl optional-dependency extra (#736) by @Sameer6305
  • NodeEmbedder AttributeError masked in ContextGraph.analyze_graph_with_kg (#734) by @Sameer6305

Full Changelog: https://github.com/semantica-agi/semantica/blob/main/CHANGELOG.md