From b105b8ea97cbd89f7c8318d7b963dfc4c7c1ccaf Mon Sep 17 00:00:00 2001 From: KaifAhmad1 Date: Tue, 28 Jul 2026 12:10:37 +0530 Subject: [PATCH] fix: address review feedback on Databricks/Snowflake docs (PR #808) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - README: get_table_lineage() takes table_name first, then catalog/schema keyword args — the example had them in the wrong order, which would have queried lineage for the wrong fully-qualified table when copy-pasted. - modules.md: the ingest example used DatabricksIngestor without importing it, causing a NameError if copy-pasted as-is. - guides/ingest.md: corrected the claim that Databricks/Snowflake ingestors return "the same shape as DBIngestor" — DBIngestor.execute_query() returns a raw List[Dict] with no wrapper, unlike DatabricksData/SnowflakeData. --- README.md | 2 +- docs/guides/ingest.md | 2 +- docs/modules.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 23eadf4d..0c65ca32 100644 --- a/README.md +++ b/README.md @@ -376,7 +376,7 @@ databricks = DatabricksIngestor( ) customers = databricks.ingest_table("customers", limit=10_000) sales = databricks.ingest_query("SELECT * FROM sales WHERE region = 'EMEA'") -table_lineage = databricks.get_table_lineage("main", "sales", "customers") # Unity Catalog lineage +table_lineage = databricks.get_table_lineage("customers", catalog="main", schema="default") # Unity Catalog lineage # pip install semantica[db-snowflake] snowflake = SnowflakeIngestor( diff --git a/docs/guides/ingest.md b/docs/guides/ingest.md index 87f066fb..76836cce 100644 --- a/docs/guides/ingest.md +++ b/docs/guides/ingest.md @@ -301,7 +301,7 @@ for bundle in stix_xml_files: ## Source 6 — Enterprise Data Platforms (Databricks & Snowflake) -`DatabricksIngestor` and `SnowflakeIngestor` return the same shape as `DBIngestor` — a typed object (`DatabricksData` / `SnowflakeData`) whose `.data` field is `List[Dict]`, one dict per row. The same "transform to text, then store" pattern from Source 3 applies: pull only the tables and columns you need with a targeted query, then build a sentence per record before handing it to `AgentContext.store()`. +`DatabricksIngestor` and `SnowflakeIngestor` return wrapper objects (`DatabricksData` / `SnowflakeData`) whose `.data` field is `List[Dict]` — the same list-of-dicts row shape that `DBIngestor.execute_query()` returns directly, without a wrapper. The same "transform to text, then store" pattern from Source 3 applies: pull only the tables and columns you need with a targeted query, then build a sentence per record before handing it to `AgentContext.store()`. ```python from semantica.ingest import DatabricksIngestor diff --git a/docs/modules.md b/docs/modules.md index 92d510d2..f8eb42a1 100644 --- a/docs/modules.md +++ b/docs/modules.md @@ -31,7 +31,7 @@ Semantica is organized into **27 modules** across six logical layers. Each modul Loads data from files, web, databases, and streams into a unified `SourceDocument` format. ```python -from semantica.ingest import FileIngestor, WebIngestor, ParquetIngestor, XMLIngestor +from semantica.ingest import FileIngestor, WebIngestor, ParquetIngestor, XMLIngestor, DatabricksIngestor # Files: PDF, DOCX, CSV, Excel, PPTX, JSON, HTML, archives ingestor = FileIngestor()