You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2019/07/23 17:39:00 UTC
[tinkerpop] branch TINKERPOP-2133 updated (77a6e3e -> 99aa286)
This is an automated email from the ASF dual-hosted git repository.
spmallette pushed a change to branch TINKERPOP-2133
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git.
discard 77a6e3e TINKERPOP-2133 Add changelog entry
discard eb822fb resolved wildcard import
discard 3a1a956 implemented index lookup for Text predicates
add c5583e8 TINKERPOP-2259 Default java server/driver serialization to GraphBinary
add 5679954 Merge pull request #1160 from apache/TINKERPOP-2259
add b355d87 TINKERPOP-2265 Deprecate remote Traversal.sideEffects
add 73fd486 Merge branch 'tp33' into tp34
add 90e538a Merge branch 'tp34'
add c1a4272 Added hasNext() for gremlin-javascript
add 233eb2d TINKERPOP-1921 Add HasNext() to .NET
add 9f369ed TINKERPOP-1921 Added changelog and upgrade docs for hasNext()
add 39e9a4c Merge branch 'TINKERPOP-1921' into tp33
add 2f1e7d1 Merge branch 'tp33' into tp34
add 430c5e1 Merge branch 'tp34'
add 7ce795b added .pytest_cache to git ignore CTR
add a211c9a Merge branch 'tp33' into tp34
add 706aad1 Merge branch 'tp34'
add d0bb42b Added more python project related ignores for git CTR
add 18e3b06 Merge branch 'tp33' into tp34
add d8059a4 Merge branch 'tp34'
new 13f70f5 implemented index lookup for Text predicates
new ddd3ea2 resolved wildcard import
new 99aa286 TINKERPOP-2133 Add changelog entry
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 (77a6e3e)
\
N -- N -- N refs/heads/TINKERPOP-2133 (99aa286)
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 3 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:
.gitignore | 2 +
CHANGELOG.asciidoc | 6 +++
docs/src/dev/io/gryo.asciidoc | 3 +-
docs/src/dev/provider/index.asciidoc | 22 +++-----
docs/src/reference/gremlin-applications.asciidoc | 21 ++++----
docs/src/reference/gremlin-variants.asciidoc | 25 ++++-----
docs/src/reference/intro.asciidoc | 12 +++--
docs/src/reference/the-traversal.asciidoc | 14 +----
.../gremlin-language-variants/index.asciidoc | 4 --
docs/src/upgrade/release-3.3.x.asciidoc | 40 ++++++++++++++
docs/src/upgrade/release-3.5.x.asciidoc | 17 ++++++
.../src/test/resources/gremlin-server.yaml | 3 +-
.../AbstractRemoteTraversalSideEffects.java | 4 ++
.../remote/traversal/EmbeddedRemoteTraversal.java | 4 ++
.../EmbeddedRemoteTraversalSideEffects.java | 4 ++
.../process/remote/traversal/RemoteTraversal.java | 3 ++
.../traversal/RemoteTraversalSideEffects.java | 4 ++
.../gremlin/process/traversal/Traversal.java | 8 ++-
.../src/Gremlin.Net/Driver/Connection.cs | 4 +-
.../Driver/Remote/DriverRemoteTraversal.cs | 3 ++
.../Remote/DriverRemoteTraversalSideEffects.cs | 2 +
.../Driver/ResultsAggregation/AggregatorFactory.cs | 2 +
.../Driver/SingleMessageResultReceiver.cs | 2 +
gremlin-dotnet/src/Gremlin.Net/Driver/Tokens.cs | 9 ++++
.../Process/Traversal/DefaultTraversal.cs | 32 +++++++++++-
.../Gremlin.Net/Process/Traversal/ITraversal.cs | 8 +++
.../Process/Traversal/ITraversalSideEffects.cs | 1 +
gremlin-dotnet/src/Gremlin.Net/Structure/Graph.cs | 2 +-
.../Process/Traversal/TraversalTests.cs | 18 +++++++
.../apache/tinkerpop/gremlin/driver/Cluster.java | 2 +-
.../tinkerpop/gremlin/driver/ResultQueue.java | 3 ++
.../apache/tinkerpop/gremlin/driver/Settings.java | 7 +--
.../apache/tinkerpop/gremlin/driver/Tokens.java | 61 +++++++++++++++++++++-
.../driver/handler/NioGremlinRequestEncoder.java | 8 +--
.../driver/remote/DriverRemoteTraversal.java | 6 +++
.../remote/DriverRemoteTraversalSideEffects.java | 4 ++
.../driver/ser/GraphBinaryMessageSerializerV1.java | 5 +-
.../tinkerpop/gremlin/driver/ser/Serializers.java | 21 +-------
.../driver/ser/binary/TypeSerializerRegistry.java | 19 ++++++-
.../tinkerpop/gremlin/driver/simple/NioClient.java | 4 +-
.../gremlin/driver/simple/WebSocketClient.java | 5 +-
gremlin-javascript/glv/TraversalSource.template | 12 +++++
.../gremlin-javascript/lib/process/traversal.js | 12 +++++
.../test/integration/traversal-test.js | 9 ++--
.../gremlin-javascript/test/unit/traversal-test.js | 36 +++++++++++++
gremlin-server/conf/gremlin-server-classic.yaml | 2 -
gremlin-server/conf/gremlin-server-modern-py.yaml | 2 -
.../conf/gremlin-server-modern-readonly.yaml | 2 -
gremlin-server/conf/gremlin-server-modern.yaml | 2 -
gremlin-server/conf/gremlin-server-neo4j.yaml | 2 -
gremlin-server/conf/gremlin-server-secure.yaml | 2 -
gremlin-server/conf/gremlin-server-spark.yaml | 2 -
gremlin-server/conf/gremlin-server.yaml | 2 -
.../gremlin/server/AbstractChannelizer.java | 6 ---
.../handler/NioGremlinBinaryRequestDecoder.java | 5 +-
.../handler/NioGremlinResponseFrameEncoder.java | 2 +-
.../gremlin/server/handler/ServerSerializers.java | 17 +++---
.../handler/WsGremlinBinaryRequestDecoder.java | 2 +-
.../handler/WsGremlinCloseRequestDecoder.java | 3 +-
.../handler/WsGremlinTextRequestDecoder.java | 2 +-
.../server/op/traversal/TraversalOpProcessor.java | 20 +++++++
.../driver/ClientConnectionIntegrateTest.java | 2 +
.../AbstractGremlinServerIntegrationTest.java | 2 +-
.../gremlin/server/GremlinDriverIntegrateTest.java | 31 ++++++++---
pom.xml | 3 +-
65 files changed, 445 insertions(+), 159 deletions(-)
[tinkerpop] 03/03: TINKERPOP-2133 Add changelog entry
Posted by sp...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
spmallette pushed a commit to branch TINKERPOP-2133
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 99aa286f21f06f21b21bea9baf31372122026ddc
Author: Stephen Mallette <sp...@genoprime.com>
AuthorDate: Tue Jul 16 18:45:51 2019 -0400
TINKERPOP-2133 Add changelog entry
---
CHANGELOG.asciidoc | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 30d127d..6cbd249 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -37,10 +37,11 @@ This release also includes changes from <<release-3-4-3, 3.4.3>>.
* Removed previously deprecated `VertexProgram` related infrastructure.
* Removed previously deprecated SSL settings: `keyCertChainFile`, `keyFile`, `keyPassword` and `trustCertChainFile` and related infrastructure.
* Removed previously deprecated `PropertyMapStep` constructor and `isIncludeTokens`.
-* Removed previously dperecated `StarGraph.builder()` and `StarGraph.Builder.create()`.
+* Removed previously deprecated `StarGraph.builder()` and `StarGraph.Builder.create()`.
* Removed previously deprecated `AbstractOpProcessor.generateMetaData(ChannelHandlerContext, RequestMessage, ResponseStatusCode, Iterator)`
* Removed previously deprecated `BulkDumperVertexProgram` and `BulkLoaderVertexProgram`.
-* Upgrade to Neo4j 3.4.11
+* Added support for `TextP` in Neo4j using its string search functions.
+* Upgrade to Neo4j 3.4.11.
== TinkerPop 3.4.0 (Avant-Gremlin Construction #3 for Theremin and Flowers)
[tinkerpop] 02/03: resolved wildcard import
Posted by sp...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
spmallette pushed a commit to branch TINKERPOP-2133
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit ddd3ea24108de047822f1fd7d7406f34414e560e
Author: Andrey Skorikov <an...@codecentric.de>
AuthorDate: Fri Jan 18 14:37:07 2019 +0100
resolved wildcard import
---
.../gremlin/neo4j/structure/trait/NoMultiNoMetaNeo4jTrait.java | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/trait/NoMultiNoMetaNeo4jTrait.java b/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/trait/NoMultiNoMetaNeo4jTrait.java
index ea893ac..d36418b 100644
--- a/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/trait/NoMultiNoMetaNeo4jTrait.java
+++ b/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/trait/NoMultiNoMetaNeo4jTrait.java
@@ -32,7 +32,11 @@ import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.apache.tinkerpop.gremlin.structure.VertexProperty;
import org.apache.tinkerpop.gremlin.structure.util.ElementHelper;
import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
-import org.neo4j.tinkerpop.api.*;
+import org.neo4j.tinkerpop.api.Neo4jDirection;
+import org.neo4j.tinkerpop.api.Neo4jGraphAPI;
+import org.neo4j.tinkerpop.api.Neo4jNode;
+import org.neo4j.tinkerpop.api.Neo4jRelationship;
+import org.neo4j.tinkerpop.api.Neo4jStringSearchMode;
import java.util.Iterator;
import java.util.List;
[tinkerpop] 01/03: implemented index lookup for Text predicates
Posted by sp...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
spmallette pushed a commit to branch TINKERPOP-2133
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 13f70f562ab37b0285ac001142e7db5fbcb4a50d
Author: Andrey Skorikov <an...@codecentric.de>
AuthorDate: Wed Jan 16 13:00:33 2019 +0100
implemented index lookup for Text predicates
---
.../structure/trait/NoMultiNoMetaNeo4jTrait.java | 27 +++++++++++++++++-----
1 file changed, 21 insertions(+), 6 deletions(-)
diff --git a/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/trait/NoMultiNoMetaNeo4jTrait.java b/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/trait/NoMultiNoMetaNeo4jTrait.java
index 6698887..ea893ac 100644
--- a/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/trait/NoMultiNoMetaNeo4jTrait.java
+++ b/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/trait/NoMultiNoMetaNeo4jTrait.java
@@ -24,6 +24,7 @@ import org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jHelper;
import org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jVertex;
import org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jVertexProperty;
import org.apache.tinkerpop.gremlin.process.traversal.Compare;
+import org.apache.tinkerpop.gremlin.process.traversal.Text;
import org.apache.tinkerpop.gremlin.process.traversal.step.util.HasContainer;
import org.apache.tinkerpop.gremlin.structure.Property;
import org.apache.tinkerpop.gremlin.structure.T;
@@ -31,13 +32,12 @@ import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.apache.tinkerpop.gremlin.structure.VertexProperty;
import org.apache.tinkerpop.gremlin.structure.util.ElementHelper;
import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
-import org.neo4j.tinkerpop.api.Neo4jDirection;
-import org.neo4j.tinkerpop.api.Neo4jNode;
-import org.neo4j.tinkerpop.api.Neo4jRelationship;
+import org.neo4j.tinkerpop.api.*;
import java.util.Iterator;
import java.util.List;
import java.util.Optional;
+import java.util.function.BiPredicate;
import java.util.function.Predicate;
/**
@@ -168,10 +168,25 @@ public final class NoMultiNoMetaNeo4jTrait implements Neo4jTrait {
if (label.isPresent()) {
// find a vertex by label and key/value
+ String labelValue = label.get();
+ Neo4jGraphAPI baseGraph = graph.getBaseGraph();
for (final HasContainer hasContainer : hasContainers) {
- if (Compare.eq == hasContainer.getBiPredicate() && !hasContainer.getKey().equals(T.label.getAccessor())) {
- if (graph.getBaseGraph().hasSchemaIndex(label.get(), hasContainer.getKey())) {
- return IteratorUtils.stream(graph.getBaseGraph().findNodes(label.get(), hasContainer.getKey(), hasContainer.getValue()))
+ String key = hasContainer.getKey();
+ Object value = hasContainer.getValue();
+ if (!key.equals(T.label.getAccessor()) && baseGraph.hasSchemaIndex(labelValue, key)) {
+ BiPredicate<?, ?> predicate = hasContainer.getBiPredicate();
+ Iterable<Neo4jNode> nodes = null;
+ if (Compare.eq == predicate) {
+ nodes = baseGraph.findNodes(labelValue, key, value);
+ } else if (Text.containing == predicate) {
+ nodes = baseGraph.findNodes(labelValue, key, value.toString(), Neo4jStringSearchMode.CONTAINS);
+ } else if (Text.startingWith == predicate) {
+ nodes = baseGraph.findNodes(labelValue, key, value.toString(), Neo4jStringSearchMode.PREFIX);
+ } else if (Text.endingWith == predicate) {
+ nodes = baseGraph.findNodes(labelValue, key, value.toString(), Neo4jStringSearchMode.SUFFIX);
+ }
+ if (nodes != null) {
+ return IteratorUtils.stream(nodes)
.map(node -> (Vertex) new Neo4jVertex(node, graph))
.filter(vertex -> HasContainer.testAll(vertex, hasContainers)).iterator();
}