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.