This is an automated email from the ASF dual-hosted git repository.
kenhuuu pushed a change to branch closuretx
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
discard dc154d0a3a Add transaction closure methods to GLVs
add 4722890ed8 TINKERPOP-3244 Add NextN(n) to Traversal in gremlin-go
(3.7-dev)
add 5565acef95 Merge pull request #3430 from
L0Lmaker/improvement/TINKERPOP-3244-go-next-n-3.7
add 9ba0b887bd Configure GitHub workflows to use concurrency
cancel-in-progress for (#3454)
add 9c7135143b Bump codecov/codecov-action from 6 to 7 (#3452)
add 4e791ed92f Merge branch '3.7-dev' into 3.8-dev
add bded3921c9 Merge branch '3.8-dev'
add 6167becabb Fix up gremlin-go NextN merge CTR
add 6c34b26291 Implement Provider Defined Types (PDT) (#3433)
add 24df1d2b89 TINKERPOP-3250 Standardize request interceptors and switch
to JSON request serialization (#3447)
add dd9b90d614 feat: add GQL.g4 minimal ANTLR grammar for MATCH node/edge
patterns
add 95b7369ce3 feat: add DeclarativeMatchStep for GQL-based pattern
matching
add daf09db8d9 fix: update TinkerGraphGqlPlanner to use canonical GQL.g4
grammar rule names
add f39978c4e4 feat: implement TinkerGraphGqlExecutor with DFS
backtracking pattern matching
add c4df599522 feat: implement TinkerGraphMatchStep: executor integration
and traverser path binding
add 0a1281e260 feat: add TinkerGraphDeclarativeMatchStrategy optimization
strategy
add 733c0da76d feat: add match(String) and match(String, Map) grammar
rules to Gremlin.g4
add 5db447f885 feat: add DeclarativeMatchVerificationStrategy to prevent
terminal match()
add 9e7e1d6213 feat: add match(String) and match(String, Map) spawn
methods to GraphTraversalSource
add a1ca0ac08a feat: add match(String) spawn method to Python GLV and
integration test
add 33b6bd65e0 feat: add match(String) and match(String, Map) to JS GLV
and integration test
add 0a9742e451 feat: add Match(string) and Match(string, IDictionary)
overloads to gremlin-dotnet DSL
add 403e5d24e3 feat: add match(String) support to gremlin-go GLV with
integration test
add 19d6d4029c feat: add match(String) and match(String,Map) to grammar
visitors
add c40bff9ade fix: update TinkerGraphMatchStepTest to not use match() as
terminal step
add e433328283 Fix broken translations
add acc2b96697 fix: code review — bugs, per-graph singletons, tests, and
translations
add ea623deef0 Fixed up match() start step
add 04a10f58ef Renamed parameter names
add 8257bb048a refactor: remove DEFAULT_QUERY_LANGUAGE from
DeclarativeMatchStep — let graph providers own their language
add f9c0857e9e rename gqlQuery to matchQuery across gremlin-core and all
GLVs
add 40c9d0d097 Added documentation for match step
add 9a4b12de5d GQL engine: label/edge count indexes, DAG executor, live
seed selection
add af67f481bc refactor: array bindings + lazy Iterator delivery in GQL
executor
add bc29cc8a2e feat: GQL property filters — inline map syntax and
parameter references
add f074a1ddb9 feat: use TinkerGraph vertex index as seed source for
property-filtered GQL patterns
add 5a4aee65eb refactor: deduplicate parallel anonymous edges in GQL DFS
executor
add b747a2093d docs: document GQL property filter and parameterized query
syntax
add 2cd2fb6ab2 feat: align GQL property filter literal types with
Gremlin's type system
add 2836034e4c refactor: rename QueryNode to QueryVertex to align with
TinkerPop vertex terminology
add 872a42b7a6 feat: property-aware step cost, best-eligible DAG
selection, and adaptive reordering
add 9040f13780 fix: evaluate edge property filter predicates in GQL
executor
add 5e5a6263e9 fix: replace unbounded ConcurrentHashMap plan cache with
Caffeine LRU cache
add 70a968d1da test: add gremlin-js integration tests for declarative
match(String) against TinkerGraph
add 93d5978ac6 docs: document edge property filters and update plan cache
note
add 010a0ff7e1 fix: close GQL blindspots — variable conflicts, edge
equality, plan staleness, NPE
add 26dd52767c Added benchmarks for match()
add 4196fa76ff fix: merge predicates and allow label refinement for reused
node variables in GQL MATCH
add 758478ea1e fix: use any-value-matches semantics for multi-properties
in GQL predicate evaluation
add 885dd01526 test: add edge-case coverage for GQL property predicate and
match() params
add 8e010bb868 Updated documentation for GQL/TinkerGraph
add 79d3287cb4 fix: match(String) returns binding Map instead of
Optional.empty
add da7e5c80f9 fix: correct mock strategy in JS match-test to use
_resultsStream
add 6a70546231 Documentation improvements for match after moving out
Optional
add b3e3f824e6 test: add executor coverage for Byte, Short, BigInteger,
BigDecimal, and Double-d suffix literals
add 93ef1b1a5b Adjust GLV tests gien change to match() returning Map
add 7eb4f799bd docs: add Proposal 10 — Generalized GQL Execution Engine
(gql-gremlin module)
add 848f5d0266 docs: revise Proposal 10 — replace
GraphStatistics/IndexAccess interfaces with Graph default methods
add ec08d1933e feat: implement Proposal 10 — extract gql-gremlin module
with generalized GQL execution engine
add 398532a50e docs: brand TinkerGQL, add gql-gremlin module docs and
provider guide
add 889437871c refactor: centralize GQL planner/executor cache in
GqlDeclarativeMatchStrategy
add 61f6b0a44a Provide a way to configure the cache for the planner
explicitly
add 18a0a71318 docs: fix provider guide, upgrade notes, and reference docs
for gql-gremlin refactor
add 3a3a129dac test: add Gherkin coverage for match(String) / TinkerGQL;
remove language-variant smoke tests
add b05eb9c7ff test: expand TinkerGQL Gherkin coverage and fix OLAP test
exclusion
add 3564eb748f fix: add GLV translator support for match(String, Map) form
in Python, .NET, and Go
add 66a808fa04 fix: exclude @TinkerGQL scenarios from Hadoop feature test
run
add 41a76ec708 test: verify match(String) wire-protocol round-trip and add
cyclic/no-match Gherkin scenarios
add f8331bfeba feat: guard against path-label/pattern-variable name
collision in match()
add 9cb9b91ebf refactor: polish match() PR — constant, docs, test
consolidation
add 2030bffc9b fix: add DeprecationWarning to Python match(Traversal) form
add c1eaa11836 test: add Gherkin scenarios for multi-pattern bridge join
and combined edge variable + filter
add 6315dfc021 fix: address PR review feedback on match() GQL parsing and
Go translation
add 0a66f164b6 refactor: migrate GQL parser unit tests from
tinkergraph-gremlin to gql-gremlin
add b723d458b1 refactor: replace MatchWithParams with variadic Match on
GraphTraversalSource in Go
add 065a6ae71e Make Tree no longer extend HashMap (#3448)
add ad894eba6e Updated examples using old match() syntax
add 01efb1e207 Add graph-based PR review skill (tinker-review)
add 2fd3d45515 Align tinker-dev skill references and add stale-skill
cleanup to agent-setup.sh
new d0435a9513 Add transaction closure methods to GLVs
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (dc154d0a3a)
\
N -- N -- N refs/heads/closuretx (d0435a9513)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.dockerignore | 1 +
.github/workflows/build-test.yml | 7 +-
.github/workflows/codeql.yml | 4 +
.skills/{tinkerpop-dev => tinker-dev}/SKILL.md | 2 +-
.../references/beads-workflow.md | 0
.../references/build-dotnet.md | 0
.../references/build-go.md | 0
.../references/build-java.md | 0
.../references/build-javascript.md | 0
.../references/build-python.md | 0
.../references/dev-environment-setup.md | 2 +-
.../references/documentation.md | 0
.../references/gremlin-mcp.md | 0
.../scripts/check-env.sh | 2 +-
.skills/tinker-review/.gitignore | 2 +
.skills/tinker-review/SKILL.md | 194 ++++
.../tinker-review}/package-lock.json | 50 +-
.skills/tinker-review/package.json | 19 +
.skills/tinker-review/playbooks/bug-fix.md | 66 ++
.skills/tinker-review/playbooks/driver-server.md | 86 ++
.skills/tinker-review/playbooks/general.md | 71 ++
.skills/tinker-review/playbooks/glv.md | 74 ++
.skills/tinker-review/playbooks/grammar.md | 56 +
.skills/tinker-review/playbooks/new-step.md | 68 ++
.skills/tinker-review/references/interfaces.md | 377 ++++++
.skills/tinker-review/references/schema.md | 105 ++
.../tinker-review/scripts/discovery/discussions.js | 280 +++++
.skills/tinker-review/scripts/enrichment/api.js | 168 +++
.skills/tinker-review/scripts/enrichment/cli.js | 156 +++
.../scripts/extraction/tree-sitter.js | 592 ++++++++++
.../scripts/graph/populate-discussions.js | 279 +++++
.skills/tinker-review/scripts/graph/populate.js | 170 +++
.../tinker-review/scripts/infrastructure/docker.js | 128 +++
.../tinker-review/scripts/patterns/architecture.js | 161 +++
.../tinker-review/scripts/patterns/blast-radius.js | 93 ++
.../tinker-review/scripts/patterns/centrality.js | 100 ++
.../scripts/patterns/cluster-analysis.js | 71 ++
.../tinker-review/scripts/patterns/completeness.js | 93 ++
.../scripts/patterns/coverage-gaps.js | 69 ++
.skills/tinker-review/scripts/patterns/orphans.js | 74 ++
.skills/tinker-review/scripts/renderer/render.js | 422 +++++++
.../tinker-review/scripts/renderer/template.html | 73 ++
.skills/tinker-review/scripts/review.js | 406 +++++++
AGENTS.md | 2 +-
CHANGELOG.asciidoc | 12 +-
bin/agent-setup.sh | 112 +-
docker/gremlin-test-server/Dockerfile | 1 +
docs/site/home/gremlin.html | 51 +
docs/site/home/index.html | 9 +
.../dev/developer/development-environment.asciidoc | 2 +-
docs/src/dev/developer/for-committers.asciidoc | 10 +-
.../dev/future/proposal-3-remove-closures.asciidoc | 7 +-
.../dev/future/proposal-arrow-flight-2.asciidoc | 2 +-
.../src/dev/future/proposal-asbool-step-7.asciidoc | 2 +-
.../dev/future/proposal-asnumber-step-6.asciidoc | 2 +-
.../proposal-declarative-match-step-9.asciidoc | 4 +
docs/src/dev/future/proposal-equality-1.asciidoc | 2 +-
docs/src/dev/future/proposal-scoping-5.asciidoc | 2 +-
.../src/dev/future/proposal-transaction-4.asciidoc | 2 +-
.../dev/future/proposal-type-predicate-8.asciidoc | 2 +-
docs/src/dev/provider/gremlin-semantics.asciidoc | 53 +
docs/src/dev/provider/index.asciidoc | 413 +++++++
docs/src/recipes/duplicate-edge.asciidoc | 12 +-
docs/src/reference/gremlin-variants.asciidoc | 505 ++++++++-
.../reference/implementations-tinkergraph.asciidoc | 40 +
docs/src/reference/the-traversal.asciidoc | 493 ++++----
docs/src/upgrade/release-4.x.x.asciidoc | 222 ++++
gql-gremlin/README.md | 67 ++
{gremlin-language => gql-gremlin}/pom.xml | 58 +-
gql-gremlin/src/main/antlr4/GQL.g4 | 311 +++++
.../tinkerpop/gremlin/gql/DefaultGqlExecutor.java | 318 ++++++
.../tinkerpop/gremlin/gql/DefaultGqlPlanner.java | 339 ++++++
.../tinkerpop/gremlin/gql/ExtensionStep.java | 207 ++++
.../gremlin/gql/GqlDeclarativeMatchStrategy.java | 210 ++++
.../apache/tinkerpop/gremlin/gql/GqlExecutor.java | 79 ++
.../apache/tinkerpop/gremlin/gql/GqlMatchPlan.java | 160 +++
.../apache/tinkerpop/gremlin/gql/GqlMatchStep.java | 260 +++++
.../apache/tinkerpop/gremlin/gql/GqlPlanner.java | 71 ++
.../tinkerpop/gremlin/gql/PropertyPredicate.java | 162 +++
.../apache/tinkerpop/gremlin/gql/QueryEdge.java | 129 +++
.../apache/tinkerpop/gremlin/gql/QueryGraph.java | 387 +++++++
.../apache/tinkerpop/gremlin/gql/QueryVertex.java | 89 ++
.../tinkerpop/gremlin/gql/GqlGrammarTest.java | 267 +++++
.../tinkerpop/gremlin/gql/QueryGraphTest.java | 364 ++++++
.../grammar/DefaultGremlinBaseVisitor.java | 22 +-
.../language/grammar/GenericLiteralVisitor.java | 17 +
.../language/grammar/TraversalMethodVisitor.java | 19 +-
.../grammar/TraversalSourceSpawnMethodVisitor.java | 17 +
.../translator/AnonymizedTranslatorVisitor.java | 6 +
.../translator/DotNetTranslateVisitor.java | 58 +-
.../language/translator/GoTranslateVisitor.java | 55 +
.../translator/GroovyTranslateVisitor.java | 10 +
.../language/translator/JavaTranslateVisitor.java | 10 +
.../translator/JavascriptTranslateVisitor.java | 10 +
.../translator/PythonTranslateVisitor.java | 22 +-
.../language/translator/TranslateVisitor.java | 6 +
.../gremlin/process/remote/RemoteConnection.java | 9 +
.../gremlin/process/traversal/GremlinLang.java | 45 +
.../traversal/dsl/graph/GraphTraversal.java | 36 +
.../traversal/dsl/graph/GraphTraversalSource.java | 41 +
.../gremlin/process/traversal/dsl/graph/__.java | 18 +
.../process/traversal/step/map/CountLocalStep.java | 4 +-
.../traversal/step/map/DeclarativeMatchStep.java | 159 +++
.../process/traversal/step/map/MatchStep.java | 3 +
.../process/traversal/step/map/TreeStep.java | 4 +-
.../step/sideEffect/TreeSideEffectStep.java | 4 +-
.../gremlin/process/traversal/step/util/Tree.java | 285 +++--
.../process/traversal/step/util/WithOptions.java | 11 +
.../apache/tinkerpop/gremlin/structure/Graph.java | 82 ++
.../gremlin/structure/io/binary/DataType.java | 3 +-
.../gremlin/structure/io/binary/GraphBinaryIo.java | 60 -
.../structure/io/binary/GraphBinaryReader.java | 21 +-
.../structure/io/binary/GraphBinaryWriter.java | 20 +-
.../io/binary/TypeSerializerRegistry.java | 94 +-
.../io/binary/types/CustomTypeSerializer.java | 32 -
...zer.java => ProviderDefinedTypeSerializer.java} | 39 +-
.../structure/io/binary/types/TreeSerializer.java | 11 +-
.../structure/io/graphson/GraphSONMapper.java | 17 +
.../structure/io/graphson/GraphSONModule.java | 12 +
.../io/graphson/GraphSONSerializersV1.java | 14 +-
.../io/graphson/GraphSONSerializersV2.java | 15 +-
.../io/graphson/GraphSONSerializersV3.java | 14 +-
.../io/graphson/GraphSONSerializersV4.java | 14 +-
.../io/graphson/PdtGraphSONSerializersV4.java | 116 ++
.../structure/io/gryo/GryoSerializersV1.java | 25 +
.../structure/io/gryo/GryoSerializersV3.java | 25 +
.../gremlin/structure/io/gryo/GryoVersion.java | 4 +-
.../gremlin/structure/io/pdt/ProviderDefined.java | 14 +-
.../structure/io/pdt/ProviderDefinedType.java | 186 +++
.../io/pdt/ProviderDefinedTypeAdapter.java | 15 +-
.../io/pdt/ProviderDefinedTypeRegistry.java | 224 ++++
.../structure/util/detached/DetachedFactory.java | 16 +-
.../structure/util/reference/ReferenceFactory.java | 16 +-
.../grammar/GeneralLiteralVisitorTest.java | 41 +
.../grammar/TraversalMethodVisitorTest.java | 15 +
.../grammar/TraversalSourceSpawnVisitorTest.java | 17 +
.../language/translator/GremlinTranslatorTest.java | 27 +
.../gremlin/process/traversal/GremlinLangTest.java | 98 ++
.../traversal/step/map/CountLocalStepTest.java | 34 +
.../process/traversal/step/util/TreeTest.java | 251 +++-
.../io/graphson/PdtGraphSONSerializersV4Test.java | 230 ++++
.../io/pdt/ProviderDefinedTypeRegistryTest.java | 416 +++++++
.../structure/io/pdt/ProviderDefinedTypeTest.java | 227 ++++
.../gremlin/util/function/TreeSupplierTest.java | 4 +-
gremlin-dotnet/src/Gremlin.Net/Driver/Auth.cs | 5 +-
.../src/Gremlin.Net/Driver/Connection.cs | 53 +-
.../src/Gremlin.Net/Driver/GremlinClient.cs | 80 +-
.../src/Gremlin.Net/Driver/HttpRequestContext.cs | 54 +-
.../src/Gremlin.Net/Driver/IMessageSerializer.cs | 17 +-
.../Driver/Remote/DriverRemoteConnection.cs | 22 +-
.../Process/Remote/IRemoteConnection.cs | 6 +
.../Process/Traversal/AnonymousTraversalSource.cs | 2 +-
.../Process/Traversal/GraphTraversal.cs | 25 +
.../Process/Traversal/GraphTraversalSource.cs | 27 +
.../Gremlin.Net/Process/Traversal/GremlinLang.cs | 91 +-
.../src/Gremlin.Net/Process/Traversal/__.cs | 24 +-
.../Structure/IO/GraphBinary4/DataType.cs | 2 +-
.../GraphBinary4/GraphBinary4MessageSerializer.cs | 21 +-
.../Structure/IO/GraphBinary4/GraphBinaryReader.cs | 19 +-
.../IO/GraphBinary4/RequestMessageSerializer.cs | 8 +-
.../IO/GraphBinary4/TypeSerializerRegistry.cs | 2 +
.../GraphBinary4/Types/CompositePDTSerializer.cs | 78 ++
.../IProviderDefinedTypeAdapter.cs} | 29 +-
.../Structure/ProviderDefinedAttribute.cs | 107 ++
.../Gremlin.Net/Structure/ProviderDefinedType.cs | 70 ++
.../Structure/ProviderDefinedTypeRegistry.cs | 159 +++
.../Driver/DriverRemoteConnectionTests.cs | 100 ++
.../Driver/GremlinClientTests.cs | 157 +++
.../Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs | 25 +
.../Gremlin.Net.UnitTest/Driver/ConnectionTests.cs | 201 ++--
.../Driver/DriverRemoteConnectionTests.cs | 6 +-
.../Driver/GremlinClientTests.cs | 22 +-
.../Driver/HttpRequestContextTests.cs | 168 ++-
.../Process/Traversal/GremlinLangTests.cs | 143 +++
.../GraphBinary4MessageSerializerTests.cs | 2 +-
.../IO/GraphBinary4/ProviderDefinedTypeTests.cs | 137 +++
.../Structure/ProviderDefinedAttributeTests.cs | 216 ++++
.../Structure/ProviderDefinedTypeRegistryTests.cs | 242 ++++
.../src/main/java/examples/Connections.java | 7 +-
.../apache/tinkerpop/gremlin/driver/Cluster.java | 103 +-
.../tinkerpop/gremlin/driver/HttpRequest.java | 65 +-
.../gremlin/driver/RequestInterceptor.java | 20 +-
.../tinkerpop/gremlin/driver/auth/Basic.java | 8 +-
.../tinkerpop/gremlin/driver/auth/Sigv4.java | 15 +-
.../driver/handler/HttpGremlinRequestEncoder.java | 43 +-
.../interceptor/PayloadSerializingInterceptor.java | 73 --
.../driver/remote/DriverRemoteConnection.java | 17 +
.../gremlin/driver/simple/SimpleHttpClient.java | 6 +-
.../tinkerpop/gremlin/driver/ClusterTest.java | 143 ---
.../tinkerpop/gremlin/driver/InterceptorTest.java | 219 ++++
.../tinkerpop/gremlin/driver/auth/Sigv4Test.java | 56 +-
gremlin-examples/gremlin-java/Connections.java | 7 +-
gremlin-go/driver/auth.go | 16 +-
gremlin-go/driver/client.go | 14 +
gremlin-go/driver/client_test.go | 95 ++
gremlin-go/driver/connection.go | 30 +-
gremlin-go/driver/connection_test.go | 148 ++-
gremlin-go/driver/cucumber/gremlin.go | 25 +
gremlin-go/driver/driverRemoteConnection.go | 14 +
gremlin-go/driver/error_codes.go | 1 -
gremlin-go/driver/graphBinaryDeserializer.go | 51 +-
gremlin-go/driver/graphBinarySerializer.go | 4 +-
gremlin-go/driver/graphBinarySerializer_test.go | 101 ++
gremlin-go/driver/graphTraversal.go | 3 +-
gremlin-go/driver/graphTraversalSource.go | 16 +
gremlin-go/driver/gremlinlang.go | 44 +-
gremlin-go/driver/gremlinlang_test.go | 145 +++
gremlin-go/driver/interceptor.go | 44 +-
gremlin-go/driver/interceptor_test.go | 526 ++++++---
gremlin-go/driver/pdtRegistry.go | 105 ++
gremlin-go/driver/pdtRegistry_test.go | 116 ++
gremlin-go/driver/providerDefinedType.go | 51 +
...nection_test.go => providerDefinedType_test.go} | 15 +-
gremlin-go/driver/request.go | 11 +-
gremlin-go/driver/request_test.go | 2 +-
gremlin-go/driver/serializer.go | 48 +-
gremlin-go/driver/traversal_test.go | 70 ++
.../gremlin/groovy/loaders/SugarLoader.groovy | 13 +
.../gremlin/groovy/TreeSubscriptTest.groovy | 68 ++
gremlin-js/gremlin-javascript/lib/driver/auth.ts | 8 +-
.../gremlin-javascript/lib/driver/connection.ts | 62 +-
.../gremlin-javascript/lib/driver/http-request.ts | 72 ++
.../lib/driver/remote-connection.ts | 2 +-
.../lib/driver/request-message.ts | 38 +
gremlin-js/gremlin-javascript/lib/index.ts | 5 +
.../language/translator/DotNetTranslateVisitor.ts | 34 +-
.../lib/language/translator/GoTranslateVisitor.ts | 38 +
.../language/translator/PythonTranslateVisitor.ts | 12 +-
.../lib/process/anonymous-traversal.ts | 6 +-
.../lib/process/graph-traversal.ts | 30 +-
.../gremlin-javascript/lib/process/gremlin-lang.ts | 21 +-
.../lib/structure/ProviderDefinedTypeRegistry.ts | 81 ++
.../gremlin-javascript/lib/structure/graph.ts | 18 +
.../lib/structure/io/binary/GraphBinary.js | 62 +-
.../structure/io/binary/internals/AnySerializer.js | 1 +
...narySerializer.js => CompositePDTSerializer.js} | 73 +-
.../io/binary/internals/GraphBinaryReader.js | 3 +
.../gremlin-javascript/test/cucumber/gremlin.js | 25 +
.../test/integration/client-tests.js | 155 ++-
.../test/integration/match-tests.js | 82 ++
.../test/integration/traversal-test.js | 78 +-
.../gremlin-javascript/test/unit/auth-test.js | 73 +-
.../test/unit/connection-test.js | 150 +++
.../graphbinary/CompositePDTSerializer-test.js | 150 +++
.../test/unit/graphbinary/precise-mode-test.js | 2 +-
.../test/unit/gremlin-lang-test.js | 39 +-
.../test/unit/http-request-test.js | 238 ++++
.../gremlin-javascript/test/unit/match-test.js | 113 ++
.../test/unit/pdt-registry-test.js | 174 +++
gremlin-language/src/main/antlr4/Gremlin.g4 | 17 +-
.../src/main/python/examples/connections.py | 2 -
.../gremlin_python/driver/aiohttp/transport.py | 5 -
.../src/main/python/gremlin_python/driver/auth.py | 26 +-
.../main/python/gremlin_python/driver/client.py | 7 +-
.../python/gremlin_python/driver/connection.py | 50 +-
.../driver/driver_remote_connection.py | 6 +-
.../python/gremlin_python/driver/http_request.py | 65 ++
.../python/gremlin_python/driver/serializer.py | 11 +-
.../gremlin_python/process/graph_traversal.py | 16 +
.../python/gremlin_python/process/traversal.py | 28 +-
.../main/python/gremlin_python/structure/graph.py | 124 ++
.../gremlin_python/structure/io/graphbinaryV4.py | 60 +-
.../src/main/python/tests/feature/gremlin.py | 25 +
.../src/main/python/tests/feature/terrain.py | 2 +-
.../src/main/python/tests/integration/conftest.py | 50 +-
.../python/tests/integration/driver/test_auth.py | 57 +-
.../python/tests/integration/driver/test_client.py | 102 ++
.../driver/test_driver_remote_connection.py | 33 +-
.../tests/unit/driver/test_http_streaming.py | 77 +-
.../python/tests/unit/driver/test_interceptor.py | 221 ++++
.../python/tests/unit/process/test_gremlin_lang.py | 83 ++
.../tests/unit/structure/io/test_graphbinaryV4.py | 24 +-
.../structure/io/test_provider_defined_type.py | 243 ++++
gremlin-server/pom.xml | 16 +
.../server/handler/HttpRequestMessageDecoder.java | 6 +
.../gremlin/server/GremlinDriverIntegrateTest.java | 277 ++++-
.../server/GremlinServerAuthIntegrateTest.java | 9 +-
.../GremlinServerSerializationIntegrateTest.java | 86 ++
.../gremlin/server/TestClientFactory.java | 5 -
.../tinkerpop/gremlin/server/pdt/Address.java | 20 +-
.../tinkerpop/gremlin/server/pdt/Person.java | 26 +-
.../apache/tinkerpop/gremlin/server/pdt/Point.java | 19 +-
.../apache/tinkerpop/gremlin/LoadGraphWith.java | 19 +-
.../tinkerpop/gremlin/features/StepDefinition.java | 14 +-
.../apache/tinkerpop/gremlin/features/World.java | 2 +-
.../gremlin/language/translator/translations.json | 425 +++++++
.../gremlin/structure/io/gryo/air-routes-v3.kryo | Bin
.../gremlin/test/features/map/MatchString.feature | 322 ++++++
.../gremlin/test/features/sideEffect/Tree.feature | 20 +-
gremlin-tools/gremlin-benchmark/pom.xml | 2 +-
.../benchmark/util/AbstractGraphBenchmark.java | 2 +
.../gremlin/process/MatchStepBenchmark.java | 295 +++++
.../socket/server/TestHttpGremlinHandler.java | 25 +-
.../gremlin/util/message/RequestMessage.java | 9 +
.../util/ser/GraphBinaryMessageSerializerV4.java | 69 +-
.../gremlin/util/ser/AbstractRoundTripTest.java | 8 +-
.../binary/GraphBinaryPdtSpiAutoWiringTest.java | 134 +++
.../util/ser/binary/GraphBinaryWriterPdtTest.java | 94 ++
.../gremlin/util/ser/binary/TestPointAdapter.java | 63 ++
.../ser/binary/TypeSerializerFailureTests.java | 2 +-
.../ser/binary/TypeSerializerRegistryTest.java | 10 +-
.../types/ProviderDefinedTypeSerializerTest.java | 232 ++++
.../util/ser/binary/types/sample/SamplePerson.java | 46 -
.../types/sample/SamplePersonSerializer.java | 117 --
.../types/sample/SamplePersonSerializerTest.java | 126 ---
...lin.structure.io.pdt.ProviderDefinedTypeAdapter | 1 +
.../hadoop/HadoopGraphFeatureIntegrateTest.java | 2 +-
pom.xml | 2 +
tinkergraph-gremlin/pom.xml | 10 +
.../tinkergraph/structure/AbstractTinkerGraph.java | 64 +-
.../gremlin/tinkergraph/structure/TinkerGraph.java | 31 +-
.../tinkergraph/structure/TinkerIndexHelper.java | 4 +
.../structure/TinkerTransactionGraph.java | 20 +-
.../gremlin/gql/DefaultGqlExecutorTest.java | 1194 ++++++++++++++++++++
.../gremlin/gql/DefaultGqlPlannerTest.java | 451 ++++++++
.../traversal/step/map/GqlMatchStepTest.java | 528 +++++++++
.../GqlDeclarativeMatchStrategyTest.java | 219 ++++
.../tinkergraph/structure/TinkerShuffleGraph.java | 9 +
318 files changed, 23996 insertions(+), 2377 deletions(-)
rename .skills/{tinkerpop-dev => tinker-dev}/SKILL.md (99%)
rename .skills/{tinkerpop-dev => tinker-dev}/references/beads-workflow.md
(100%)
rename .skills/{tinkerpop-dev => tinker-dev}/references/build-dotnet.md (100%)
rename .skills/{tinkerpop-dev => tinker-dev}/references/build-go.md (100%)
rename .skills/{tinkerpop-dev => tinker-dev}/references/build-java.md (100%)
rename .skills/{tinkerpop-dev => tinker-dev}/references/build-javascript.md
(100%)
rename .skills/{tinkerpop-dev => tinker-dev}/references/build-python.md (100%)
rename .skills/{tinkerpop-dev =>
tinker-dev}/references/dev-environment-setup.md (98%)
rename .skills/{tinkerpop-dev => tinker-dev}/references/documentation.md (100%)
rename .skills/{tinkerpop-dev => tinker-dev}/references/gremlin-mcp.md (100%)
rename .skills/{tinkerpop-dev => tinker-dev}/scripts/check-env.sh (98%)
create mode 100644 .skills/tinker-review/.gitignore
create mode 100644 .skills/tinker-review/SKILL.md
copy {gremlin-examples/gremlin-javascript =>
.skills/tinker-review}/package-lock.json (78%)
create mode 100644 .skills/tinker-review/package.json
create mode 100644 .skills/tinker-review/playbooks/bug-fix.md
create mode 100644 .skills/tinker-review/playbooks/driver-server.md
create mode 100644 .skills/tinker-review/playbooks/general.md
create mode 100644 .skills/tinker-review/playbooks/glv.md
create mode 100644 .skills/tinker-review/playbooks/grammar.md
create mode 100644 .skills/tinker-review/playbooks/new-step.md
create mode 100644 .skills/tinker-review/references/interfaces.md
create mode 100644 .skills/tinker-review/references/schema.md
create mode 100644 .skills/tinker-review/scripts/discovery/discussions.js
create mode 100644 .skills/tinker-review/scripts/enrichment/api.js
create mode 100644 .skills/tinker-review/scripts/enrichment/cli.js
create mode 100644 .skills/tinker-review/scripts/extraction/tree-sitter.js
create mode 100644 .skills/tinker-review/scripts/graph/populate-discussions.js
create mode 100644 .skills/tinker-review/scripts/graph/populate.js
create mode 100644 .skills/tinker-review/scripts/infrastructure/docker.js
create mode 100644 .skills/tinker-review/scripts/patterns/architecture.js
create mode 100644 .skills/tinker-review/scripts/patterns/blast-radius.js
create mode 100644 .skills/tinker-review/scripts/patterns/centrality.js
create mode 100644 .skills/tinker-review/scripts/patterns/cluster-analysis.js
create mode 100644 .skills/tinker-review/scripts/patterns/completeness.js
create mode 100644 .skills/tinker-review/scripts/patterns/coverage-gaps.js
create mode 100644 .skills/tinker-review/scripts/patterns/orphans.js
create mode 100644 .skills/tinker-review/scripts/renderer/render.js
create mode 100644 .skills/tinker-review/scripts/renderer/template.html
create mode 100644 .skills/tinker-review/scripts/review.js
create mode 100644 gql-gremlin/README.md
copy {gremlin-language => gql-gremlin}/pom.xml (59%)
create mode 100644 gql-gremlin/src/main/antlr4/GQL.g4
create mode 100644
gql-gremlin/src/main/java/org/apache/tinkerpop/gremlin/gql/DefaultGqlExecutor.java
create mode 100644
gql-gremlin/src/main/java/org/apache/tinkerpop/gremlin/gql/DefaultGqlPlanner.java
create mode 100644
gql-gremlin/src/main/java/org/apache/tinkerpop/gremlin/gql/ExtensionStep.java
create mode 100644
gql-gremlin/src/main/java/org/apache/tinkerpop/gremlin/gql/GqlDeclarativeMatchStrategy.java
create mode 100644
gql-gremlin/src/main/java/org/apache/tinkerpop/gremlin/gql/GqlExecutor.java
create mode 100644
gql-gremlin/src/main/java/org/apache/tinkerpop/gremlin/gql/GqlMatchPlan.java
create mode 100644
gql-gremlin/src/main/java/org/apache/tinkerpop/gremlin/gql/GqlMatchStep.java
create mode 100644
gql-gremlin/src/main/java/org/apache/tinkerpop/gremlin/gql/GqlPlanner.java
create mode 100644
gql-gremlin/src/main/java/org/apache/tinkerpop/gremlin/gql/PropertyPredicate.java
create mode 100644
gql-gremlin/src/main/java/org/apache/tinkerpop/gremlin/gql/QueryEdge.java
create mode 100644
gql-gremlin/src/main/java/org/apache/tinkerpop/gremlin/gql/QueryGraph.java
create mode 100644
gql-gremlin/src/main/java/org/apache/tinkerpop/gremlin/gql/QueryVertex.java
create mode 100644
gql-gremlin/src/test/java/org/apache/tinkerpop/gremlin/gql/GqlGrammarTest.java
create mode 100644
gql-gremlin/src/test/java/org/apache/tinkerpop/gremlin/gql/QueryGraphTest.java
create mode 100644
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/DeclarativeMatchStep.java
delete mode 100644
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/GraphBinaryIo.java
delete mode 100644
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/CustomTypeSerializer.java
copy
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/{BulkSetSerializer.java
=> ProviderDefinedTypeSerializer.java} (50%)
create mode 100644
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/PdtGraphSONSerializersV4.java
copy
gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/jsr223/ScriptEngineToTest.java
=>
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/pdt/ProviderDefined.java
(74%)
create mode 100644
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/pdt/ProviderDefinedType.java
copy
docs/upgrade/java/src/main/java/org/apache/tinkerpop/example/cmdb/domain/PathDto.java
=>
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/pdt/ProviderDefinedTypeAdapter.java
(70%)
create mode 100644
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/pdt/ProviderDefinedTypeRegistry.java
create mode 100644
gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/PdtGraphSONSerializersV4Test.java
create mode 100644
gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/pdt/ProviderDefinedTypeRegistryTest.java
create mode 100644
gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/pdt/ProviderDefinedTypeTest.java
create mode 100644
gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphBinary4/Types/CompositePDTSerializer.cs
copy
gremlin-dotnet/src/Gremlin.Net/{Process/Traversal/Strategy/Finalization/ReferenceElementStrategy.cs
=> Structure/IProviderDefinedTypeAdapter.cs} (56%)
create mode 100644
gremlin-dotnet/src/Gremlin.Net/Structure/ProviderDefinedAttribute.cs
create mode 100644
gremlin-dotnet/src/Gremlin.Net/Structure/ProviderDefinedType.cs
create mode 100644
gremlin-dotnet/src/Gremlin.Net/Structure/ProviderDefinedTypeRegistry.cs
create mode 100644
gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphBinary4/ProviderDefinedTypeTests.cs
create mode 100644
gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/ProviderDefinedAttributeTests.cs
create mode 100644
gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/ProviderDefinedTypeRegistryTests.cs
delete mode 100644
gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/interceptor/PayloadSerializingInterceptor.java
delete mode 100644
gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ClusterTest.java
create mode 100644
gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/InterceptorTest.java
create mode 100644 gremlin-go/driver/pdtRegistry.go
create mode 100644 gremlin-go/driver/pdtRegistry_test.go
create mode 100644 gremlin-go/driver/providerDefinedType.go
copy gremlin-go/driver/{driverRemoteConnection_test.go =>
providerDefinedType_test.go} (72%)
create mode 100644
gremlin-groovy/src/test/groovy/org/apache/tinkerpop/gremlin/groovy/TreeSubscriptTest.groovy
create mode 100644 gremlin-js/gremlin-javascript/lib/driver/http-request.ts
create mode 100644
gremlin-js/gremlin-javascript/lib/structure/ProviderDefinedTypeRegistry.ts
copy
gremlin-js/gremlin-javascript/lib/structure/io/binary/internals/{BinarySerializer.js
=> CompositePDTSerializer.js} (50%)
create mode 100644
gremlin-js/gremlin-javascript/test/integration/match-tests.js
create mode 100644 gremlin-js/gremlin-javascript/test/unit/connection-test.js
create mode 100644
gremlin-js/gremlin-javascript/test/unit/graphbinary/CompositePDTSerializer-test.js
create mode 100644 gremlin-js/gremlin-javascript/test/unit/http-request-test.js
create mode 100644 gremlin-js/gremlin-javascript/test/unit/match-test.js
create mode 100644 gremlin-js/gremlin-javascript/test/unit/pdt-registry-test.js
create mode 100644
gremlin-python/src/main/python/gremlin_python/driver/http_request.py
create mode 100644
gremlin-python/src/main/python/tests/unit/driver/test_interceptor.py
create mode 100644
gremlin-python/src/main/python/tests/unit/structure/io/test_provider_defined_type.py
copy
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/PropertiesHolder.java
=>
gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/pdt/Address.java
(66%)
copy
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/function/ConstantSupplier.java
=>
gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/pdt/Person.java
(66%)
copy
gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTokensTest.java
=>
gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/pdt/Point.java
(68%)
copy data/air-routes.kryo =>
gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/air-routes-v3.kryo
(100%)
create mode 100644
gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/MatchString.feature
create mode 100644
gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/gremlin/process/MatchStepBenchmark.java
create mode 100644
gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/binary/GraphBinaryPdtSpiAutoWiringTest.java
create mode 100644
gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/binary/GraphBinaryWriterPdtTest.java
create mode 100644
gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/binary/TestPointAdapter.java
create mode 100644
gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/binary/types/ProviderDefinedTypeSerializerTest.java
delete mode 100644
gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/binary/types/sample/SamplePerson.java
delete mode 100644
gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/binary/types/sample/SamplePersonSerializer.java
delete mode 100644
gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/binary/types/sample/SamplePersonSerializerTest.java
create mode 100644
gremlin-util/src/test/resources/META-INF/services/org.apache.tinkerpop.gremlin.structure.io.pdt.ProviderDefinedTypeAdapter
create mode 100644
tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/gql/DefaultGqlExecutorTest.java
create mode 100644
tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/gql/DefaultGqlPlannerTest.java
create mode 100644
tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/process/traversal/step/map/GqlMatchStepTest.java
create mode 100644
tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/process/traversal/strategy/optimization/GqlDeclarativeMatchStrategyTest.java