kartikey321 opened a new pull request, #3451: URL: https://github.com/apache/tinkerpop/pull/3451
https://issues.apache.org/jira/browse/TINKERPOP-3251 Introduces `gremlin-dart`, a new Dart language driver for Apache TinkerPop 4.x. ## Design Follows the HTTP-only, GraphBinary v4 model used by other TinkerPop 4.x drivers: - **Transport**: HTTP POST via `dart:io` with chunked-encoding support for Netty HTTP trailers - **Serialization**: GraphBinary v4 (`application/vnd.graphbinary-v4.0`) — custom reader/writer, no external binary dependencies - **Query language**: gremlin-lang strings built by `GremlinLang` - **Bindings**: Parameters sent as a typed GraphBinary Map field (`0x0A`) - **DSL**: Full `GraphTraversalSource` + `GraphTraversal` (~80 steps), anonymous traversals via `__`, `P`/`TextP` predicates, all traversal strategies ## Structure ``` gremlin-dart/ lib/ driver/ # Connection, Client, DriverRemoteConnection, RequestMessage process/ # GremlinLang, GraphTraversal DSL, traversal types structure/ # Graph types, GraphBinary reader/writer test/ feature/ # Gherkin runner against live 4.0.0-beta.2 server unit/ # Offline GraphBinary encode/decode, DSL string generation tool/ test_live.dart # Manual smoke test (requires docker compose up) docker/ # Dockerfile + server config for integration tests ``` ## Test results 2121 / 2123 Gherkin feature tests pass against TinkerPop 4.0.0-beta.2. Two known failures are server-side, not client bugs: - `g_injectXnull_nullX_conjoinXplusX` — server throws on `conjoin(null, null)` - `g_withSackX2147483647iX_injectX0_5fX_sackXdivX_sack` — float32 rounding: server returns `4294967296.0f` vs expected `4294967294.0f` ## Running tests ```bash # Start server docker compose -f gremlin-dart/docker-compose.yml up -d --wait # Feature tests (requires server) dart test gremlin-dart/test/feature/ # Unit tests (offline) dart test gremlin-dart/test/unit/ ``` ## Checklist - [x] Apache license header on all source files - [x] CHANGELOG entry added under TinkerPop 4.0.0 - [x] `dart analyze` reports no issues - [x] 2121/2123 Gherkin feature tests pass against 4.0.0-beta.2 - [x] No external dependencies beyond `uuid` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
