Merged upstreamFeatureMerged Aug 22, 2026
Support multi-table reads in the Neo4j source
Extended SeaTunnel's Neo4j source with `tables_configs` so one source configuration can read multiple logical tables using independent Cypher queries, schemas, and table IDs.
apache/seatunnel · #11869
Problem
Neo4jSource was limited to a single root-level query and schema, so one job could only emit one table. Users needed separate jobs or duplicated source definitions for multi-table Neo4j extraction.
Approach
Added table-config parsing, per-table validation, catalog table registration, sequential query execution through a shared Neo4j driver/session, table-specific row conversion, table ID assignment, English and Chinese documentation, and multi-table E2E coverage.
Impact and scope
- Lets users extract multiple Neo4j labels or query results in one SeaTunnel source configuration.
- Preserves legacy single-table behavior while adding the established Connector-V2 multi-table configuration pattern.
- Improves downstream routing by tagging emitted rows with the configured table IDs.
Validation
- Added unit coverage for legacy validation, valid multi-table configuration, missing or duplicate table settings, and table-specific row conversion.
- Added Neo4j E2E coverage that reads two queries with distinct table IDs and validates both through the multi-table Assert sink.
- Approval evidence confirms follow-up fixes for per-table failure context and completion signaling before merge.