Apache Software Foundation / SeaTunnel
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.