You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by dk...@apache.org on 2015/06/04 12:15:54 UTC
[40/43] incubator-tinkerpop git commit: Merge branch 'master' into
preprocessor
Merge branch 'master' into preprocessor
Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/a806bee6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/a806bee6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/a806bee6
Branch: refs/heads/preprocessor
Commit: a806bee69f4e33a7f66543075846eb32262922e4
Parents: 91c6d02 89e02ed
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Wed Jun 3 19:26:41 2015 +0200
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Wed Jun 3 19:26:41 2015 +0200
----------------------------------------------------------------------
CHANGELOG.asciidoc | 7 +-
docs/src/implementations.asciidoc | 32 +--
docs/src/the-graph.asciidoc | 4 +-
docs/src/the-traversal.asciidoc | 33 +--
docs/static/images/aggregate-step.png | Bin 110622 -> 97419 bytes
docs/static/images/tinkerpop3.graffle | 125 ++++++------
.../gremlin/process/traversal/Scope.java | 11 -
.../traversal/dsl/graph/GraphTraversal.java | 40 +---
.../dsl/graph/GraphTraversalSource.java | 13 +-
.../gremlin/process/traversal/dsl/graph/__.java | 44 ++--
.../traversal/lambda/FunctionTraverser.java | 5 +
.../traversal/lambda/PredicateTraverser.java | 5 +
.../process/traversal/step/Mutating.java | 16 +-
.../gremlin/process/traversal/step/Scoping.java | 31 +++
.../process/traversal/step/filter/DropStep.java | 40 +---
.../traversal/step/filter/WhereStep.java | 30 ++-
.../traversal/step/map/AddEdgeByPathStep.java | 139 -------------
.../process/traversal/step/map/AddEdgeStep.java | 126 +++++++-----
.../traversal/step/map/AddVertexStartStep.java | 42 ++--
.../traversal/step/map/AddVertexStep.java | 36 +---
.../process/traversal/step/map/MapStep.java | 4 +-
.../traversal/step/map/SelectOneStep.java | 15 +-
.../process/traversal/step/map/SelectStep.java | 29 ++-
.../traversal/step/map/match/MatchStep.java | 10 +
.../step/sideEffect/AddPropertyStep.java | 56 ++---
.../step/util/event/CallbackRegistry.java | 32 +++
.../traversal/step/util/event/Event.java | 2 +-
.../step/util/event/ListCallbackRegistry.java | 52 +++++
.../strategy/decoration/ElementIdStrategy.java | 20 +-
.../strategy/decoration/EventStrategy.java | 126 +++++++-----
.../strategy/decoration/PartitionStrategy.java | 30 +--
.../strategy/decoration/SubgraphStrategy.java | 2 -
.../strategy/finalization/ScopingStrategy.java | 12 +-
.../structure/util/AbstractTransaction.java | 4 +-
.../structure/util/empty/EmptyGraph.java | 157 ++++++++++++--
.../gremlin/util/iterator/IteratorUtils.java | 31 ++-
.../step/map/AddEdgeByPathStepTest.java | 47 -----
.../traversal/step/map/AddEdgeStepTest.java | 18 +-
.../ElementIdStrategyTraverseTest.java | 17 +-
.../strategy/decoration/EventStrategyTest.java | 3 +-
.../PartitionStrategyTraverseTest.java | 17 +-
.../tinkerpop/gremlin/driver/Channelizer.java | 4 +-
.../apache/tinkerpop/gremlin/driver/Client.java | 4 +-
.../tinkerpop/gremlin/driver/Cluster.java | 2 +-
.../tinkerpop/gremlin/driver/Connection.java | 2 +-
.../gremlin/driver/ConnectionPool.java | 2 +-
.../tinkerpop/gremlin/driver/Handler.java | 2 +-
.../apache/tinkerpop/gremlin/driver/Host.java | 2 +-
.../apache/tinkerpop/gremlin/driver/Result.java | 2 +-
.../tinkerpop/gremlin/driver/ResultQueue.java | 2 +-
.../tinkerpop/gremlin/driver/ResultSet.java | 2 +-
.../tinkerpop/gremlin/driver/Settings.java | 2 +-
.../apache/tinkerpop/gremlin/driver/Tokens.java | 7 +-
.../handler/NioGremlinRequestEncoder.java | 2 +-
.../handler/NioGremlinResponseDecoder.java | 2 +-
.../driver/handler/WebSocketClientHandler.java | 2 +-
.../handler/WebSocketGremlinRequestEncoder.java | 2 +-
.../WebSocketGremlinResponseDecoder.java | 2 +-
.../gremlin/driver/message/RequestMessage.java | 2 +-
.../gremlin/driver/message/ResponseMessage.java | 2 +-
.../gremlin/driver/message/ResponseResult.java | 2 +-
.../gremlin/driver/message/ResponseStatus.java | 2 +-
.../driver/message/ResponseStatusCode.java | 16 +-
.../AbstractGraphSONMessageSerializerV1d0.java | 6 +-
.../GraphSONMessageSerializerGremlinV1d0.java | 2 +-
.../ser/GraphSONMessageSerializerV1d0.java | 2 +-
.../driver/ser/GryoMessageSerializerV1d0.java | 2 +-
.../driver/ser/JsonBuilderGryoSerializer.java | 2 +-
.../tinkerpop/gremlin/driver/ser/SerTokens.java | 4 +-
.../gremlin/driver/ser/Serializers.java | 2 +-
.../traversal/step/filter/GroovyHasTest.groovy | 10 +
.../traversal/step/map/GroovyAddEdgeTest.groovy | 16 +-
.../traversal/step/map/GroovySelectTest.groovy | 10 +
.../gremlin/groovy/loaders/StepLoader.groovy | 12 ++
.../process/traversal/step/filter/HasTest.java | 41 +++-
.../traversal/step/filter/WhereTest.java | 2 +-
.../process/traversal/step/map/AddEdgeTest.java | 76 ++++++-
.../process/traversal/step/map/SelectTest.java | 44 +++-
.../ElementIdStrategyProcessTest.java | 8 +-
.../decoration/EventStrategyProcessTest.java | 202 ++++++++++++++++---
.../PartitionStrategyProcessTest.java | 17 +-
hadoop-gremlin/pom.xml | 8 -
.../neo4j/groovy/plugin/Neo4jGremlinPlugin.java | 2 +
.../gremlin/neo4j/process/traversal/LabelP.java | 59 ++++++
.../step/sideEffect/CypherStartStep.java | 12 +-
.../gremlin/neo4j/structure/Neo4jElement.java | 13 +-
.../gremlin/neo4j/structure/Neo4jGraph.java | 8 +-
.../neo4j/structure/Neo4jVertexProperty.java | 23 +++
.../structure/trait/MultiMetaNeo4jTrait.java | 104 ++++++----
.../trait/NoMultiNoMetaNeo4jTrait.java | 45 ++---
.../neo4j/MultiMetaNeo4jGraphProvider.java | 6 +-
.../neo4j/NoMultiNoMetaNeo4jGraphProvider.java | 6 +-
.../neo4j/structure/NativeNeo4jIndexTest.java | 77 ++++++-
.../structure/NativeNeo4jStructureTest.java | 64 +++++-
94 files changed, 1519 insertions(+), 896 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/a806bee6/docs/src/implementations.asciidoc
----------------------------------------------------------------------
diff --cc docs/src/implementations.asciidoc
index 5cdc105,7d94a4f..b25cf82
--- a/docs/src/implementations.asciidoc
+++ b/docs/src/implementations.asciidoc
@@@ -608,41 -594,27 +608,43 @@@ Below demonstrates the runtime benefit
[source,groovy]
gremlin> graph = Neo4jGraph.open('/tmp/neo4j')
==>neo4jgraph[EmbeddedGraphDatabase [/tmp/neo4j]]
- gremlin> graph.cypher("CREATE INDEX ON :artist(name)") <1>
+ gremlin> g = graph.traversal(standard())
+ ==>graphtraversalsource[neo4jgraph[EmbeddedGraphDatabase [/tmp/neo4j]], standard]
+ gremlin> graph.io(graphml()).readGraph('data/grateful-dead.xml')
+ ==>null
gremlin> graph.tx().commit()
==>null
- gremlin> graph.io(graphml()).readGraph('data/grateful-dead.xml')
+ gremlin> graph.cypher('CREATE INDEX ON :artist(name)') <1>
+ gremlin> graph.tx().commit()
==>null
- gremlin> g = graph.traversal(standard())
- ==>graphtraversalsource[neo4jgraph[EmbeddedGraphDatabase [/tmp/neo4j]], standard]
- gremlin> clock(1000){g.V().hasLabel('artist').has('name','Garcia').next()} <2>
- ==>0.0585639999999997
- gremlin> clock(1000){g.V().has('name','Garcia').next()} <3>
- ==>0.6039889999999992
- gremlin> graph.cypher("DROP INDEX ON :artist(name)") <4>
+ gremlin> clock(1000){g.V().hasLabel('artist').has('name','Garcia').iterate()} <2>
+ ==>0.038828967
+ gremlin> clock(1000){g.V().has('name','Garcia').iterate()} <3>
+ ==>0.6623919649999999
+ gremlin> graph.cypher('DROP INDEX ON :artist(name)') <4>
gremlin> g.tx().commit()
==>null
- gremlin> clock(1000){g.V().hasLabel('artist').has('name','Garcia').next()} <5>
- ==>0.26470499999999936
- gremlin> clock(1000){g.V().has('name','Garcia').next()} <6>
- ==>0.6293959999999993
+ gremlin> clock(1000){g.V().hasLabel('artist').has('name','Garcia').iterate()} <5>
+ ==>0.29597517599999995
+ gremlin> clock(1000){g.V().has('name','Garcia').iterate()} <6>
+ ==>0.6685323479999999
+[gremlin-groovy]
+----
+graph = Neo4jGraph.open('/tmp/neo4j')
+graph.cypher("CREATE INDEX ON :artist(name)") <1>
+graph.tx().commit()
+graph.io(graphml()).readGraph('data/grateful-dead.xml')
+g = graph.traversal(standard())
+clock(1000) {g.V().hasLabel('artist').has('name','Garcia').next()} <2>
+clock(1000) {g.V().has('name','Garcia').next()} <3>
+graph.cypher("DROP INDEX ON :artist(name)") <4>
+g.tx().commit()
+clock(1000) {g.V().hasLabel('artist').has('name','Garcia').next()} <5>
+clock(1000) {g.V().has('name','Garcia').next()} <6>
+graph.close()
+----
+
<1> Create an index for all artist vertices on their name property.
<2> Find all artists whose name is Garcia which uses the pre-defined schema index.
<3> Find all vertices whose name is Garcia which requires a linear scan of all the data in the graph.