The Unity Catalog connector reads schema metadata from the open Unity Catalog REST API (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/neo4j-labs/neocarta/llms.txt
Use this file to discover all available pages before exploring further.
/api/2.1/unity-catalog). Unity Catalog is an Apache-2.0 open-source project at github.com/unitycatalog/unitycatalog that provides a vendor-neutral catalog spec — the connector speaks that open API over a plain HTTP client, not the Databricks SDK. This means it works against any conformant Unity Catalog server: a local OSS server, a self-hosted deployment, or a managed one.
The Unity Catalog connector is for the open REST API. For managed-Databricks governance features like governed tags, see the Databricks connector. The two connectors are intentionally separate packages.
What It Ingests
| Unity Catalog concept | Neocarta node |
|---|---|
| Catalog | Database |
| Schema | Schema |
| Table or view | Table |
| Column | Column |
Table nodes. The connector does not produce Value nodes (no value sampling) or REFERENCES edges (the open API exposes no primary/foreign key metadata).
Limitations
- No
REFERENCESedges — the open Unity Catalog API exposes no primary/foreign-key constraint metadata.is_primary_keyandis_foreign_keyare left null on all columns. - No glossary or tags — the open REST API has no tag or glossary concept. Glossary support is a planned follow-up sourced from
INFORMATION_SCHEMA. - No value sampling — no
Valuenodes orHAS_VALUEedges are produced. - Views are not a distinct node type — both tables and views become
Tablenodes. - Client-side schema filtering — the
schemasargument filters after listing all schemas; it does not push the filter to the server.
Import
Parameters
Base URL of the Unity Catalog REST API, including the version prefix, e.g.
http://localhost:8080/api/2.1/unity-catalog.Connected Neo4j driver instance.
Bearer token for the
Authorization header. Pass None for a local OSS server that requires no auth.Target Neo4j database name.
Per-request HTTP timeout in seconds.
ingest() Parameters
The Unity Catalog catalog name to ingest (maps to a
Database node).Optional client-side filter restricting ingestion to specific schemas. Omit to ingest all schemas in the catalog.
Node labels to produce.
None (the default) includes all available: Database, Schema, Table, Column.Relationship types to produce.
None (the default) includes HAS_SCHEMA, HAS_TABLE, HAS_COLUMN.Code Example
CLI
Environment Variables
The connector reads no environment variables itself — passbase_url and token explicitly in your calling code. Suggested variables to define in .env:
| Variable | Example | Purpose |
|---|---|---|
NEO4J_URI | bolt://localhost:7687 | Neo4j connection URI |
NEO4J_USERNAME | neo4j | Neo4j username |
NEO4J_PASSWORD | your-password | Neo4j password |
NEO4J_DATABASE | neo4j | Target Neo4j database |
UC_SERVER_URL | http://localhost:8080/api/2.1/unity-catalog | Unity Catalog base URL |
UC_TOKEN | dapi... | Bearer token (optional for local OSS servers) |
UC_CATALOG | unity | Catalog name to ingest |
Source Setup
- Run or point at a Unity Catalog server exposing the open REST API. For local testing, the open-source distribution provides a
bin/start-uc-serverscript that listens onhttp://localhost:8080with no authentication. - If the server enforces auth, obtain a bearer token and pass it via
token=(sent asAuthorization: Bearer <token>). - Identify the
catalogname to ingest (and optionally theschemasto restrict to).