Author: dkuppitz Date: Mon Sep 19 23:12:37 2016 New Revision: 1761506 URL: http://svn.apache.org/viewvc?rev=1761506&view=rev Log: Deploy docs for TinkerPop 3.2.3-SNAPSHOT
Modified: tinkerpop/site/docs/3.2.3-SNAPSHOT/dev/developer/index.html tinkerpop/site/docs/3.2.3-SNAPSHOT/dev/provider/index.html tinkerpop/site/docs/3.2.3-SNAPSHOT/index.html tinkerpop/site/docs/3.2.3-SNAPSHOT/recipes/index.html tinkerpop/site/docs/3.2.3-SNAPSHOT/reference/index.html tinkerpop/site/docs/3.2.3-SNAPSHOT/tutorials/getting-started/index.html tinkerpop/site/docs/3.2.3-SNAPSHOT/tutorials/the-gremlin-console/index.html tinkerpop/site/docs/3.2.3-SNAPSHOT/upgrade/index.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/core/deprecated-list.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/core/index-all.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/core/org/apache/tinkerpop/gremlin/driver/Cluster.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/core/org/apache/tinkerpop/gremlin/driver/LoadBalancingStrategy.RoundRobin.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/core/org/apache/tinkerpop/gremlin/driver/LoadBalancingStrategy.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/core/org/apache/tinkerpop/gremlin/driver/class-use/Host.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/core/org/apache/tinkerpop/gremlin/process/computer/MapReduce.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/core/org/apache/tinkerpop/gremlin/process/computer/VertexProgram.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/core/org/apache/tinkerpop/gremlin/process/computer/class-use/GraphComputer.Persist.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/core/org/apache/tinkerpop/gremlin/process/computer/class-use/GraphComputer.ResultGraph.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/core/org/apache/tinkerpop/gremlin/process/computer/clustering/peerpressure/PeerPressureVertexProgram.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/core/org/apache/tinkerpop/gremlin/process/computer/package-tree.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/core/org/apache/tinkerpop/gremlin/process/computer/ranking/pagerank/PageRankVertexProgram.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/core/org/apache/tinkerpop/gremlin/process/computer/traversal/TraversalVertexProgram.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/core/org/apache/tinkerpop/gremlin/process/traversal/Order.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/core/org/apache/tinkerpop/gremlin/process/traversal/class-use/Traversal.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/core/org/apache/tinkerpop/gremlin/process/traversal/class-use/TraversalSideEffects.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/core/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/class-use/GraphTraversal.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/core/org/apache/tinkerpop/gremlin/process/traversal/package-tree.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/core/org/apache/tinkerpop/gremlin/structure/class-use/Edge.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/core/org/apache/tinkerpop/gremlin/structure/class-use/Graph.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/core/org/apache/tinkerpop/gremlin/structure/class-use/Vertex.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/core/org/apache/tinkerpop/gremlin/structure/package-tree.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/core/overview-tree.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/deprecated-list.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/index-all.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/algorithm/generator/class-use/Distribution.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/class-use/AbstractGremlinTest.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/class-use/FeatureRequirement.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/class-use/FeatureRequirementSet.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/class-use/GraphProvider.TestListener.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/class-use/LoadGraphWith.GraphData.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/class-use/LoadGraphWith.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/driver/Cluster.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/driver/LoadBalancingStrategy.RoundRobin.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/driver/LoadBalancingStrategy.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/driver/class-use/Host.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/driver/class-use/MessageSerializer.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/driver/message/class-use/RequestMessage.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/driver/message/class-use/ResponseMessage.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/driver/remote/DriverRemoteConnection.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/driver/ser/GraphSONMessageSerializerGremlinV2d0.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/driver/ser/GraphSONMessageSerializerV2d0.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/driver/ser/class-use/AbstractGraphSONMessageSerializerV2d0.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/driver/ser/class-use/AbstractMessageSerializer.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/driver/ser/class-use/MessageTextSerializer.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/driver/ser/class-use/SerializationException.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/driver/ser/package-summary.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/driver/ser/package-tree.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/groovy/plugin/class-use/GremlinPlugin.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/groovy/plugin/class-use/GremlinPluginException.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/groovy/plugin/class-use/IllegalEnvironmentException.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/groovy/plugin/class-use/PluginAcceptor.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/groovy/plugin/class-use/PluginInitializationException.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/hadoop/process/computer/util/ComputerSubmissionHelper.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/hadoop/structure/io/class-use/ObjectWritable.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/jsr223/class-use/GremlinScriptEngine.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/neo4j/structure/Neo4jGraph.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/neo4j/structure/class-use/Neo4jGraph.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/neo4j/structure/class-use/Neo4jVertex.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/neo4j/structure/class-use/Neo4jVertexProperty.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/package-tree.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.VertexProgramA.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.VertexProgramB.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.VertexProgramC.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.VertexProgramD.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.VertexProgramE.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.VertexProgramF.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.VertexProgramG.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.VertexProgramH.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.VertexProgramI.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.VertexProgramJ.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.VertexProgramK.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.VertexProgramL.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.VertexProgramM.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/MapReduce.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/VertexProgram.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/bulkdumping/BulkDumperVertexProgram.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/bulkloading/BulkLoaderVertexProgram.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/class-use/GraphComputer.Persist.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/class-use/GraphComputer.ResultGraph.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/class-use/GraphComputer.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/class-use/GraphFilter.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/class-use/KeyValue.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/class-use/Memory.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/class-use/MemoryComputeKey.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/clustering/peerpressure/PeerPressureVertexProgram.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/package-tree.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/ranking/pagerank/PageRankVertexProgram.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/traversal/TraversalVertexProgram.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/traversal/step/map/ProgramVertexProgramStep.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/computer/util/StaticVertexProgram.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/remote/RemoteConnection.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/Order.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/class-use/Bytecode.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/class-use/P.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/class-use/Path.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/class-use/Pop.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/class-use/Step.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/class-use/Traversal.Admin.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/class-use/Traversal.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/class-use/TraversalEngine.Type.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/class-use/TraversalSideEffects.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/class-use/TraversalStrategies.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/class-use/TraversalStrategy.OptimizationStrategy.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/class-use/TraversalStrategy.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/class-use/Traverser.Admin.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/class-use/TraverserGenerator.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/class-use/GraphTraversal.Admin.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/class-use/GraphTraversal.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/class-use/GraphTraversalSource.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/package-tree.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/step/ByModulating.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/step/TraversalParent.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/step/class-use/ByModulating.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/step/class-use/PathProcessor.ElementRequirement.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/step/class-use/TraversalParent.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WherePredicateStep.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.Traversals.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/step/filter/package-tree.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/step/map/ProgramTest.TestProgram.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/step/package-tree.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/step/util/class-use/HasContainer.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/traverser/class-use/TraverserRequirement.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/traverser/package-use.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/util/class-use/Metrics.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/util/class-use/TraversalRing.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/process/traversal/util/package-use.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/server/AbstractChannelizer.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/server/auth/class-use/AuthenticatedUser.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/server/auth/class-use/AuthenticationException.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/server/auth/class-use/Authenticator.SaslNegotiator.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/server/class-use/Channelizer.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/server/handler/package-tree.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/server/op/session/Session.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/server/package-summary.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/server/package-use.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/structure/class-use/Direction.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/structure/class-use/Edge.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/structure/class-use/Element.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/structure/class-use/Graph.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/structure/class-use/Property.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/structure/class-use/PropertyType.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/structure/class-use/Transaction.Status.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/structure/class-use/Transaction.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/structure/class-use/Vertex.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/structure/class-use/VertexProperty.Cardinality.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/structure/class-use/VertexProperty.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/structure/io/class-use/GraphReader.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/structure/io/class-use/GraphWriter.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/structure/io/graphson/package-tree.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/structure/io/gryo/class-use/GryoPool.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/structure/package-tree.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/structure/util/class-use/Attachable.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/structure/util/detached/class-use/DetachedVertexProperty.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/org/apache/tinkerpop/gremlin/util/function/Lambda.TwoArgLambda.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/overview-tree.html tinkerpop/site/javadocs/3.2.3-SNAPSHOT/full/serialized-form.html Modified: tinkerpop/site/docs/3.2.3-SNAPSHOT/dev/developer/index.html URL: http://svn.apache.org/viewvc/tinkerpop/site/docs/3.2.3-SNAPSHOT/dev/developer/index.html?rev=1761506&r1=1761505&r2=1761506&view=diff ============================================================================== --- tinkerpop/site/docs/3.2.3-SNAPSHOT/dev/developer/index.html (original) +++ tinkerpop/site/docs/3.2.3-SNAPSHOT/dev/developer/index.html Mon Sep 19 23:12:37 2016 @@ -815,10 +815,10 @@ span.line-numbers { border-right: 1px so <li><a href="#_contributing_code_changes">Contributing Code Changes</a></li> </ul> </li> -<li><a href="#_development_environment">Development Environment</a></li> +<li><a href="#development-environment">Development Environment</a></li> <li> <ul class="sectlevel1"> -<li><a href="#_system_configuration">System Configuration</a></li> +<li><a href="#system-configuration">System Configuration</a></li> <li> <ul class="sectlevel2"> <li><a href="#documentation-environment">Documentation Environment</a></li> @@ -836,7 +836,7 @@ span.line-numbers { border-right: 1px so <ul class="sectlevel1"> <li><a href="#_communication">Communication</a></li> <li><a href="#_release_notes">Release Notes</a></li> -<li><a href="#_branches">Branches</a></li> +<li><a href="#branches">Branches</a></li> <li><a href="#_tags">Tags</a></li> <li><a href="#_issue_tracker_conventions">Issue Tracker Conventions</a></li> <li><a href="#_code_style">Code Style</a></li> @@ -852,7 +852,7 @@ span.line-numbers { border-right: 1px so <li><a href="#rtc">Review then Commit</a></li> <li> <ul class="sectlevel2"> -<li><a href="#_pull_request_format">Pull Request Format</a></li> +<li><a href="#pull-requests">Pull Requests</a></li> </ul> </li> <li><a href="#dependencies">Dependencies</a></li> @@ -889,6 +889,7 @@ span.line-numbers { border-right: 1px so <ul class="sectlevel1"> <li><a href="#_new_committers">New Committers</a></li> <li><a href="#_new_pmc_members">New PMC Members</a></li> +<li><a href="#_board_reports">Board Reports</a></li> </ul> </li> <li><a href="#meetings">Meetings</a></li> @@ -928,7 +929,7 @@ license and warrant that you have the le <p><span class="image" style="float: left"><img src="../../images/gremlin-apache.png" alt="gremlin-apache" width="250"></span> While the concept of an open source contribution can refer to doing development work on the code base, there are many other ways outside of coding to contribute to Apache TinkerPop. Participating on the various mailing lists, offering ideas, reporting bugs, writing documentation are all welcome -contributions to the project that help improve the The TinkerPop. This section of the document is designed to help +contributions to the project that help improve the TinkerPop. This section of the document is designed to help provide some structure for potential contributors and to give them ideas for how they could get started becoming more involved in the TinkerPop community.</p> </div> @@ -1049,7 +1050,7 @@ for newcomers. or change has been identified. When in doubt, email <a href="mailto:d...@tinkerpop.apache.org">d...@tinkerpop.apache.org</a> first about the possible change.</p> </li> <li> -<p>Search the the mailing list archives for related discussions. Often, the problem has been discussed before, with +<p>Search the mailing list archives for related discussions. Often, the problem has been discussed before, with a resolution that doesn’t require a code change, or recording what kinds of changes will not be accepted as a resolution.</p> </li> @@ -1203,9 +1204,9 @@ before proceeding to implement the chang to easily track what that branch is for.</p> </li> <li> -<p>Consider which branch to create the branch from in the first place. In other words, is the change to be targetted -at a specific TinkerPop version (e.g. a patch to an older version)? When in doubt, please ask on -<a href="mailto:d...@tinkerpop.apache.org">d...@tinkerpop.apache.org</a>.</p> +<p>Consider which release branch (e.g. <code>master</code>, <code>tp31</code> etc) to create the development branch from in the first place. +In other words, is the change to be targetted at a specific TinkerPop version (e.g. a patch to an older version)? When +in doubt, please ask on <a href="mailto:d...@tinkerpop.apache.org">d...@tinkerpop.apache.org</a>.</p> </li> </ol> </div> @@ -1274,7 +1275,7 @@ success and performed manual testing in <p>Include other descriptive elements about the change if they are not already included in the JIRA ticket.</p> </li> <li> -<p>Automated builds will occur with Travis and AppVeyor. Please be sure that the pull request passes those builds and +<p>Automated builds will occur with Travis. Please be sure that the pull request passes those builds and correct them if there are problems.</p> </li> </ol> @@ -1315,14 +1316,14 @@ and force pushing the branch.</p> </div> </div> </div> -<h1 id="_development_environment" class="sect0">Development Environment</h1> +<h1 id="development-environment" class="sect0">Development Environment</h1> <div class="paragraph"> <p>TinkerPop is fairly large body of code spread across many modules and covering multiple programming languages. Despite this complexity, it remains relatively straightforward a project to build. This following subsections explain how to configure a development environment for TinkerPop.</p> </div> <div class="sect1"> -<h2 id="_system_configuration">System Configuration</h2> +<h2 id="system-configuration">System Configuration</h2> <div class="sectionbody"> <div class="paragraph"> <p>At a minimum, development of TinkerPop requires <a href="http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html">Java 1.8.0_40+</a> @@ -1388,6 +1389,20 @@ to set the <code>CLASSPATH</code> to poi Java tests that require Python code will be skipped. Developers should also install <a href="https://pypi.python.org/pypi/pip">pip</a> and <a href="https://virtualenv.pypa.io/en/stable/">virtualenv</a>.</p> </div> +<div class="paragraph"> +<p>Once the Python environment is established, the full building and testing of <code>gremlin-python</code> may commence. It can be +done manually from the command line with:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="CodeRay"><code class="text language-text">mvn clean install -Pglv-python</code></pre> +</div> +</div> +<div class="paragraph"> +<p>which enables the "glv-python" Maven profile or in a more automated fashion simply add a <code>.glv</code> file to the root of the +<code>gremlin-python</code> module which will signify to Maven that the environment is Python-ready. The <code>.glv</code> file need not have +any contents and is ignored by Git. A standard <code>mvn clean install</code> will then build <code>gremlin-python</code> in full.</p> +</div> </div> <div class="sect2"> <h3 id="release-environment">Release Environment</h3> @@ -1437,12 +1452,12 @@ password =</code></pre> <ul> <li> <p>Build project: <code>mvn clean install</code></p> -</li> -<li> -<p>Build a specific module (e.g. <code>gremlin-python</code>) within the project: <code>mvn clean install -pl gremlin-python</code></p> <div class="ulist"> <ul> <li> +<p>Build a specific module (e.g. <code>gremlin-server</code>) within the project: <code>mvn clean install -pl gremlin-server</code></p> +</li> +<li> <p>Specify specific tests in a TinkerPop Suite to run with the <code>GREMLIN_TESTS</code> environment variable, along with the Maven project list argument, e.g.:</p> <div class="listingblock"> @@ -1461,9 +1476,6 @@ mvn -Dmaven.javadoc.skip=true --projects <li> <p>The test suite for <code>neo4j-gremlin</code> is disabled by default - to turn it on: <code>mvn clean install -DincludeNeo4j</code></p> </li> -<li> -<p>Build the <code>gremlin-python</code> module with native Python tests (which require that Python be installed on the system): <code>mvn clean install -DglvPython</code></p> -</li> </ul> </div> </li> @@ -1530,9 +1542,6 @@ mvn -Dmaven.javadoc.skip=true --projects <li> <p>Benchmarks: <code>mvn verify -DskipBenchmarks=false</code></p> </li> -<li> -<p>Build and execute with native Python tests (see <a href="#python-environment">Python Environment</a>: <code>mvn clean install -DglvPython</code></p> -</li> </ul> </div> </div> @@ -1682,13 +1691,27 @@ distinguished from other changes in the </div> </div> <div class="sect1"> -<h2 id="_branches">Branches</h2> +<h2 id="branches">Branches</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The "master" branch is used for the main line of development and release branches are constructed as needed -for ongoing maintenance work. If new to the project or are returning to it after some time away, it may be good -to send an email to the developer mailing list (or ask on HipChat) to find out what the current operating branches -are.</p> +<p>TinkerPop has several release branches:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p><code>tp30</code> - 3.0.x (no longer maintained)</p> +</li> +<li> +<p><code>tp31</code> - 3.1.x (bug fixes and documentation updates only)</p> +</li> +<li> +<p><code>master</code> - 3.2.x</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>Changes to <code>tp31</code> should merge to <code>master</code>. Please read more about this process in the <a href="#pull-requests">Pull Requests</a> +section.</p> </div> <div class="paragraph"> <p>Other branches may be created for collaborating on features or for RFC’s that other developers may want to inspect. @@ -1800,23 +1823,10 @@ be adjusted accordingly to not auto-wild <h2 id="_build_server">Build Server</h2> <div class="sectionbody"> <div class="paragraph"> -<p>TinkerPop uses both <a href="https://travis-ci.com/">Travis</a> and <a href="https://www.appveyor.com/">AppVeyor</a> for -<a href="https://en.wikipedia.org/wiki/Continuous_integration">CI</a> services. Travis validates builds on Ubuntu, while -AppVeyor validates builds on Windows. The build statuses can be found here:</p> -</div> -<div class="ulist"> -<ul> -<li> -<p><a href="https://travis-ci.org/apache/tinkerpop">Travis Build Status</a></p> -</li> -<li> -<p><a href="https://ci.appveyor.com/project/ApacheSoftwareFoundation/tinkerpop">AppVeyor Build Status</a></p> -</li> -</ul> -</div> -<div class="paragraph"> -<p>Note that the CI process does not run integration tests or include Neo4j-related tests as those tests would likely -exceed the allowable times for builds on these servers.</p> +<p>TinkerPop uses <a href="https://travis-ci.com/">Travis</a> for <a href="https://en.wikipedia.org/wiki/Continuous_integration">CI</a> +services. The build status can be found <a href="https://travis-ci.org/apache/tinkerpop">here</a>. Note that the CI process +does not run integration tests or include Neo4j-related tests as those tests would likely exceed the allowable times +for builds on these servers.</p> </div> </div> </div> @@ -2023,8 +2033,8 @@ that may be used as building blocks for <div class="sectionbody"> <div class="paragraph"> <p>Code modifications must go through a <a href="http://www.apache.org/foundation/glossary.html#ReviewThenCommit">review-then-committ</a> (RTC) -process before being merged into a release branch. All committers should follow the pattern below, where "you" refers to the -committer wanting to put code into a release branch.</p> +process before being merged into a release branch. All committers should follow the pattern below, where "you" refers +to the committer wanting to put code into a release branch.</p> </div> <div class="ulist"> <ul> @@ -2058,7 +2068,7 @@ committer wanting to put code into a rel </div> </li> <li> -<p>Before you can merge your branch into the release branch, you must have at least 3 +1 <a href="http://www.apache.org/foundation/glossary.html#ConsensusApproval">consensus votes</a>.</p> +<p>Before you can merge your branch into the release branch, you must have at least 3 +1 <a href="http://www.apache.org/foundation/glossary.html#ConsensusApproval">consensus votes</a> from other committers.</p> <div class="ulist"> <ul> <li> @@ -2138,9 +2148,9 @@ that CTR was invoked and the reason for adjustments to text formatting."</p> </div> <div class="sect2"> -<h3 id="_pull_request_format">Pull Request Format</h3> +<h3 id="pull-requests">Pull Requests</h3> <div class="paragraph"> -<p>When you submit a pull request, be sure it uses the following style.</p> +<p>When submitting a pull request to one of the <a href="#branches">release branches</a>, be sure it uses the following style:</p> </div> <div class="ulist"> <ul> @@ -2190,6 +2200,80 @@ adjustments to text formatting."</p> </li> </ul> </div> +<div class="paragraph"> +<p>A pull request will typically be made to a target <a href="#branches">branch</a>. Assuming that branch is upstream of other +release branches (e.g. a pull request made to for the branch containing 3.1.x must merge to the branch that releases +3.2.x), it is important to be sure that those changes are merged to the downstream release branches. Typicaly, +this process is best handled by multiple pull requests: one to each release branch.</p> +</div> +<div class="paragraph"> +<p>As an example, consider a situation where there is a feature branch named "TINKERPOP-1234" that contains a fix for +the <code>tp31</code> branch:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="CodeRay"><code class="bash language-bash">`git checkout -b TINKERPOP-1234 tp31` +// do a bunch of stuff to implement TINKERPOP-1234 and commit/push +git checkout -b <TINKERPOP-1234-master> master +git merge TINKERPOP-1234</code></pre> +</div> +</div> +<div class="paragraph"> +<p>At this point, there are two branches, with the same set of commits going to <code>tp31</code> and <code>master</code>. Voting will occur +on both pull requests. After a successful vote, it is time to merge. If there are no conflicts, then simply <code>git merge</code> +both pull requests to their respective branches. If there are conflicts, then there is some added work to do - time to +rebase:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="CodeRay"><code class="bash language-bash">git checkout TINKERPOP-1234 +git rebase origin/tp31</code></pre> +</div> +</div> +<div class="paragraph"> +<p>Depending on the conflict, it might be a good idea to re-test before going any further, otherwise:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="CodeRay"><code class="bash language-bash">git push origin TINKERPOP-1234 --force</code></pre> +</div> +</div> +<div class="paragraph"> +<p>Now, <code>git rebase</code> has re-written the commit history, which makes a mess of the other pull request to master. This +problem is rectified by essentially re-issuing the PR:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="CodeRay"><code class="bash language-bash">git checkout TINKERPOP-1234-master +git reset --hard origin/master +git merge TINKERPOP-1234</code></pre> +</div> +</div> +<div class="paragraph"> +<p>Again, depending on the changes, it may make sense to re-test at this point, otherwise:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="CodeRay"><code class="bash language-bash">git push origin TINKERPOP-1234-master --force</code></pre> +</div> +</div> +<div class="paragraph"> +<p>It should not be safe to merge both pull requests to their release branches.</p> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<div class="title">Important</div> +</td> +<td class="content"> +Always take a moment to review the commits in a particular pull request. Be sure that they are <strong>all</strong> related +to the work that was done and that no extraneous commits are present that cannot be explained. Ensuring a pull request +only contains the expected commits is the responsibility of the committer as well as the reviewer. +</td> +</tr> +</table> +</div> </div> </div> </div> @@ -2405,6 +2489,20 @@ intensive and error prone. </tr> </table> </div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<div class="title">Important</div> +</td> +<td class="content"> +The following instructions assume that the release manager’s <a href="#development-environment">environment> is setup +properly for release and includes a <code>.glv</code> file in <code>gremlin-python</code> as described in the <<python-environment,Python Environment</a> +section, so that the <code>gremlin-python</code> module builds in full. +</td> +</tr> +</table> +</div> <div class="sect1"> <h2 id="_pre_flight_check">Pre-flight Check</h2> <div class="sectionbody"> @@ -2438,7 +2536,7 @@ during this period.</p> <div class="olist loweralpha"> <ol class="loweralpha" type="a"> <li> -<p>Run the full integration test suite: <code>mvn clean install -DskipIntegrationTests=false -DincludeNeo4j -DglvPython</code></p> +<p>Run the full integration test suite: <code>mvn clean install -DskipIntegrationTests=false -DincludeNeo4j</code></p> </li> <li> <p>Deploy a final SNAPSHOT to the snapshot repository.</p> @@ -2503,7 +2601,7 @@ might be high.</p> <div class="olist arabic"> <ol class="arabic"> <li> -<p><code>mvn clean install -DincludeNeo4j -DglvPython</code></p> +<p><code>mvn clean install -DincludeNeo4j</code></p> <div class="olist loweralpha"> <ol class="loweralpha" type="a"> <li> @@ -2568,7 +2666,7 @@ validity into question.</p> <div class="olist loweralpha"> <ol class="loweralpha" type="a"> <li> -<p>Update the release date</p> +<p>Update the release date - the release date is the date of the vote.</p> </li> <li> <p>Generate the JIRA release notes report for the current version and append them to the <code>CHANGELOG.asciidoc</code>.</p> @@ -2576,10 +2674,10 @@ validity into question.</p> <ol class="lowerroman" type="i"> <li> <p>Use an "advanced" search to filter out JIRA issues already released on other versions. For example: <code>fixVersion -= 3.2.0 AND fixVersion not in (3.1.3, 3.1.2, 3.1.1, 3.1.0)</code>.</p> += 3.2.0 AND fixVersion not in (3.1.3, 3.1.2, 3.1.1, 3.1.0) ORDER BY type, Id ASC</code>.</p> </li> <li> -<p>Consider use of an "Excel" export to organize, sort (by type and then id) and prepare the JIRA tickets to be pasted to <code>CHANGELOG.asciidoc</code></p> +<p>Consider use of an "Excel" export to organize and prepare the JIRA tickets to be pasted to <code>CHANGELOG.asciidoc</code></p> </li> <li> <p>Be sure to include a link to other versions in the <code>CHANGELOG.asciidoc</code> that were previously released while the @@ -2603,7 +2701,7 @@ current release was under development as <p>Update the release date.</p> </li> <li> -<p>Update the link to CHANGELOG.asciidoc</p> +<p>Update the link to <code>CHANGELOG.asciidoc</code> - this link may already be correct but will not exist until the repository is tagged.</p> </li> </ol> </div> @@ -2624,21 +2722,25 @@ current release was under development as <p><code>bin/process-docs.sh</code> and validate the generated documentation locally (don’t rely on "SUCCESS" - scroll up through logs to ensure there were no errors and view the HTML directly)</p> </li> <li> -<p><code>bin/publish-docs.sh <username></code> - Note that this step requires no additional processing as the previous step. -handled document generation and this step now merely needs to upload what was generated.</p> +<p><code>bin/publish-docs.sh <username></code> - Note that this step requires no additional processing as the previous step handled +document generation and this step now merely needs to upload what was generated. Note that this step will be responsible +for generating javadoc and without that the binary distributions won’t contain that documentation.</p> </li> <li> -<p><code>mvn deploy -Papache-release -DcreateChecksum=true -DskipTests</code> - deploy signed artifacts with checksums to <a href="https://repository.apache.org/">Apache Nexus</a>. Review (artifacts versions, file sizes, anything that might be out of place - request another committer to review as well).</p> +<p><code>mvn deploy -Papache-release -DcreateChecksum=true -DskipTests</code> - deploy signed artifacts with checksums to <a href="https://repository.apache.org/">Apache Nexus</a>.</p> </li> <li> -<p>Review generated artifacts to be sure they have both javadocs and asciidocs present then "close" the repo - if the repo is left open it will be automatically dropped after five days and closing the repo will allow it to stay available for a full ninety days which is more than enough time to complete a vote. Do NOT "release" the repository at this time.</p> +<p>Review generated artifacts to be sure they have both javadocs and asciidocs present (request another committer to review as well) then "close" the repo - if the repo is left open it will be automatically dropped after five days and closing the repo will allow it to stay available for a full ninety days which is more than enough time to complete a vote. Do NOT "release" the repository at this time.</p> </li> <li> -<p>Upload artifacts to <code>https://dist.apache.org/repos/dist/dev//tinkerpop</code> for <code>[VOTE]</code> review.</p> +<p>Upload artifacts to <code>https://dist.apache.org/repos/dist/dev/tinkerpop</code> for <code>[VOTE]</code> review.</p> <div class="olist loweralpha"> <ol class="loweralpha" type="a"> <li> -<p><code>svn co --depth empty https://dist.apache.org/repos/dist/dev//tinkerpop/ dev</code> and <code>mkdir dev/xx.yy.zz</code></p> +<p>Use <code>svn rm</code> to delete past versions that were up for review in the same line of code. In other words, if uploading 3.2.3 then remove instances of 3.2.2 or any other past 3.2.x releases.</p> +</li> +<li> +<p><code>svn co --depth empty https://dist.apache.org/repos/dist/dev/tinkerpop/ dev</code> and <code>mkdir dev/xx.yy.zz</code></p> </li> <li> <p><code>cp ~/.m2/repository/org/apache/tinkerpop/gremlin-console/xx.yy.zz/gremlin-console-xx.yy.zz-distribution.zip* dev/xx.yy.zz</code></p> @@ -2653,7 +2755,7 @@ handled document generation and this ste <p><code>cd dev/xx.yy.zz</code></p> </li> <li> -<p><code>ls * | xargs -n1 -I {} echo "mv apache-tinkerpop-{} {}" | sed -e 's/distribution/bin/' -e 's/source-release/src/' -e s'/^\(.*\) \(.*\) \(.*\)$/\1 \3 \2/' | /bin/bash</code></p> +<p><code>ls * | xargs -n1 -I {} echo "mv apache-tinkerpop-{} {}" | sed -e 's/distribution/bin/' -e 's/source-release/src/' -e 's/tinkerpop-tinkerpop/tinkerpop/' -e s'/^\(.*\) \(.*\) \(.*\)$/\1 \3 \2/' | /bin/bash</code></p> </li> <li> <p><code>cd ..; svn add xx.yy.zz/; svn ci -m "TinkerPop xx.yy.zz release"</code></p> @@ -2689,16 +2791,16 @@ handled document generation and this ste <code>mvn versions:set -DnewVersion=xx.yy.zz-SNAPSHOT -DgenerateBackupPoms=false</code>.</p> </li> <li> -<p><code>mvn clean install -DskipTests</code> - need to build first so that the right version of the console is used with <code>bin/publish-docs.sh</code></p> +<p>Update CHANGELOG and upgrade docs to have the appropriate headers for the next version.</p> </li> <li> -<p><code>mvn deploy</code> - deploy the new <code>SNAPSHOT</code></p> +<p><code>mvn clean install -DskipTests</code> - need to build first so that the right version of the console is used with <code>bin/publish-docs.sh</code></p> </li> <li> -<p><code>bin/process-docs.sh</code> and validate the generated <code>SNAPSHOT</code> documentation locally</p> +<p><code>mvn deploy</code> - deploy the new <code>SNAPSHOT</code></p> </li> <li> -<p><code>bin/publish-docs.sh <username></code> to publish the <code>SNAPSHOT</code> docs which enables the README to work properly.</p> +<p><code>bin/process-docs.sh</code> and validate the generated <code>SNAPSHOT</code> documentation locally and then <code>bin/publish-docs.sh <username></code></p> </li> <li> <p>Commit and push the <code>SNAPSHOT</code> changes to git</p> @@ -2731,8 +2833,20 @@ handled document generation and this ste <p>Login to <a href="https://repository.apache.org/">Apache Nexus</a> and release the previously closed repository.</p> </li> <li> -<p>Deploy to <a href="https://pypi.python.org/pypi">pypi</a> with <code>mvn clean install -DskipTests -DglvPython -Dpypi</code>. It is likely necessary -that this build will occur from the tag for the release, so be sure to checkout the tag first before executing this step.</p> +<p>Deploy to <a href="https://pypi.python.org/pypi">pypi</a></p> +<div class="olist loweralpha"> +<ol class="loweralpha" type="a"> +<li> +<p>This build will likely occur from the tag for the release, so be sure to checkout the tag first before executing this step.</p> +</li> +<li> +<p><code>mvn clean install -DskipTests</code></p> +</li> +<li> +<p><code>mvn deploy -pl gremlin-python -DskipTests -Dpypi</code></p> +</li> +</ol> +</div> </li> <li> <p><code>svn co --depth empty https://dist.apache.org/repos/dist/dev/tinkerpop dev; svn up dev/xx.yy.zz</code></p> @@ -2750,7 +2864,10 @@ that this build will occur from the tag <p>Update homepage with references to latest distribution and to other internal links elsewhere on the page.</p> </li> <li> -<p>Wait for Apache Central to sync the jars and src (<a href="http://repo1.maven.org/maven2/org/apache/tinkerpop/tinkerpop/">http://repo1.maven.org/maven2/org/apache/tinkerpop/tinkerpop/</a>).</p> +<p>Wait for Apache Sonatype to sync the artifacts to Maven Central at (<a href="http://repo1.maven.org/maven2/org/apache/tinkerpop/tinkerpop/">http://repo1.maven.org/maven2/org/apache/tinkerpop/tinkerpop/</a>).</p> +</li> +<li> +<p>Wait for zip distributions to to sync to the Apache mirrors (i.e ensure the download links work from a mirror).</p> </li> <li> <p>If there are releases present in SVN that represents lines of code that are no longer under development, then remove those releases. In other words, if <code>3.2.0</code> is present and <code>3.2.1</code> is released then remove <code>3.2.0</code>. However, if <code>3.1.3</code> is present and that line of code is still under potential development, it may stay.</p> @@ -2769,36 +2886,36 @@ that this build will occur from the tag <h3 id="_release_vote">Release VOTE</h3> <div class="listingblock"> <div class="content"> -<pre class="CodeRay"><code>Subject: [VOTE] TinkerPop xx.yy.zz Release +<pre class="CodeRay"><code class="text language-text">Subject: [VOTE] TinkerPop xx.yy.zz Release Hello, We are happy to announce that TinkerPop xx.yy.zz is ready for release. The release artifacts can be found at this location: - https://dist.apache.org/repos/dist/dev/tinkerpop/xx.yy.zz/ + https://dist.apache.org/repos/dist/dev/tinkerpop/xx.yy.zz/ The source distribution is provided by: - apache-tinkerpop-xx.yy.zz-src.zip + apache-tinkerpop-xx.yy.zz-src.zip Two binary distributions are provided for user convenience: - apache-tinkerpop-gremlin-console-xx.yy.zz-bin.zip - apache-tinkerpop-gremlin-server-xx.yy.zz-bin.zip + apache-tinkerpop-gremlin-console-xx.yy.zz-bin.zip + apache-tinkerpop-gremlin-server-xx.yy.zz-bin.zip The GPG key used to sign the release artifacts is available at: https://dist.apache.org/repos/dist/dev/tinkerpop/KEYS The online docs can be found here: - http://tinkerpop.apache.org/docs/xx.yy.zz/reference/ (user docs) - http://tinkerpop.apache.org/docs/xx.yy.zz/upgrade/ (upgrade docs) - http://tinkerpop.apache.org/javadocs/xx.yy.zz/core/ (core javadoc) - http://tinkerpop.apache.org/javadocs/xx.yy.zz/full/ (full javadoc) + http://tinkerpop.apache.org/docs/xx.yy.zz/ (user docs) + http://tinkerpop.apache.org/docs/xx.yy.zz/upgrade/ (upgrade docs) + http://tinkerpop.apache.org/javadocs/xx.yy.zz/core/ (core javadoc) + http://tinkerpop.apache.org/javadocs/xx.yy.zz/full/ (full javadoc) The tag in Apache Git can be found here: - https://git-wip-us.apache.org/repos/asf?p=tinkerpop.git;XXXXXXXXXXXXXXXXXX + https://git-wip-us.apache.org/repos/asf?p=tinkerpop.git;XXXXXXXXXXXXXXXXXX The release notes are available here: - https://github.com/apache/tinkerpop/blob/master/CHANGELOG.asciidoc#XXXXXXXXXXXXXXXXXX + https://github.com/apache/tinkerpop/blob/master/CHANGELOG.asciidoc#XXXXXXXXXXXXXXXXXX The [VOTE] will be open for the next 72 hours --- closing <DayOfTheWeek> (<Month> <Day> <Year>) at <Time> <TimeZone>. @@ -2813,7 +2930,7 @@ Thank you very much, <h3 id="_dev_release_result_vote">Dev Release RESULT VOTE</h3> <div class="listingblock"> <div class="content"> -<pre class="CodeRay"><code>Subject: [RESULT][VOTE] TinkerPop xx.yy.zz Release +<pre class="CodeRay"><code class="text language-text">Subject: [RESULT][VOTE] TinkerPop xx.yy.zz Release This vote is now closed with a total of X +1s, no +0s and no -1s. The results are: @@ -2837,50 +2954,47 @@ Thank you very much, <div class="sect2"> <h3 id="_general_release_announcement">General Release Announcement</h3> <div class="paragraph"> -<p>Subject: TinkerPop xx.yy.zz Released: [name of release line]</p> -</div> -<div class="paragraph"> -<p>Hello,</p> -</div> -<div class="paragraph"> -<p>TinkerPop xx.yy.zz has just been released. [some text to introduce the release - e.g. whether or not -there is breaking change, an important game-changing feature or two, etc.]</p> -</div> -<div class="paragraph"> -<p>The release artifacts can be found at this location:</p> -</div> -<div class="paragraph"> -<p><a href="https://www.apache.org/dyn/closer.lua/tinkerpop/xx.yy.zz/apache-tinkerpop-gremlin-console-xx.yy.zz-bin.zip">https://www.apache.org/dyn/closer.lua/tinkerpop/xx.yy.zz/apache-tinkerpop-gremlin-console-xx.yy.zz-bin.zip</a> -<a href="https://www.apache.org/dyn/closer.lua/tinkerpop/xx.yy.zz/apache-tinkerpop-gremlin-server-xx.yy.zz-bin.zip">https://www.apache.org/dyn/closer.lua/tinkerpop/xx.yy.zz/apache-tinkerpop-gremlin-server-xx.yy.zz-bin.zip</a></p> -</div> -<div class="paragraph"> -<p>The online docs can be found here:</p> -</div> -<div class="paragraph"> -<p><a href="http://tinkerpop.apache.org/docs/xx.yy.zz/reference/">http://tinkerpop.apache.org/docs/xx.yy.zz/reference/</a> (user docs) -<a href="http://tinkerpop.apache.org/docs/xx.yy.zz/upgrade.html#XXXXXXXXXXXXXXXXXX">http://tinkerpop.apache.org/docs/xx.yy.zz/upgrade.html#XXXXXXXXXXXXXXXXXX</a> (upgrade docs) -<a href="http://tinkerpop.apache.org/javadocs/xx.yy.zz/core/">http://tinkerpop.apache.org/javadocs/xx.yy.zz/core/</a> (core javadoc) -<a href="http://tinkerpop.apache.org/javadocs/xx.yy.zz/full/">http://tinkerpop.apache.org/javadocs/xx.yy.zz/full/</a> (full javadoc) -<a href="http://tinkerpop.apache.org/docs/xx.yy.zz/some-new-content/">http://tinkerpop.apache.org/docs/xx.yy.zz/some-new-content/</a> (some new content) [NEW!]</p> -</div> -<div class="paragraph"> -<p>The release notes are available here:</p> -</div> -<div class="paragraph"> -<p><a href="https://github.com/apache/tinkerpop/blob/xx.yy.zz/CHANGELOG.asciidoc#XXXXXXXXXXXXXXXXXX">https://github.com/apache/tinkerpop/blob/xx.yy.zz/CHANGELOG.asciidoc#XXXXXXXXXXXXXXXXXX</a></p> +<p>The template below refers to the "name of release line" and the "release line logo". Every release line has a name +and logo. For example, 3.1.x had the name, "A 187 On The Undercover Gremlinz" and the logo shown +<a href="http://tinkerpop.apache.org/docs/current/upgrade/#_tinkerpop_3_1_0">here</a> in the upgrade documentation.</p> </div> -<div class="paragraph"> -<p>The Central Maven repo has sync’d as well:</p> +<div class="listingblock"> +<div class="content"> +<pre class="CodeRay"><code class="text language-text">Subject: TinkerPop xx.yy.zz Released: [name of release line] + +Hello, + +TinkerPop xx.yy.zz has just been released. [some text to introduce the release - e.g. whether or not +there is breaking change, an important game-changing feature or two, etc.] + +The release artifacts can be found at this location: + +https://www.apache.org/dyn/closer.lua/tinkerpop/xx.yy.zz/apache-tinkerpop-gremlin-console-xx.yy.zz-bin.zip +https://www.apache.org/dyn/closer.lua/tinkerpop/xx.yy.zz/apache-tinkerpop-gremlin-server-xx.yy.zz-bin.zip + +The online docs can be found here: + +http://tinkerpop.apache.org/docs/xx.yy.zz/reference/ (user docs) +http://tinkerpop.apache.org/docs/xx.yy.zz/upgrade.html#XXXXXXXXXXXXXXXXXX (upgrade docs) +http://tinkerpop.apache.org/javadocs/xx.yy.zz/core/ (core javadoc) +http://tinkerpop.apache.org/javadocs/xx.yy.zz/full/ (full javadoc) +http://tinkerpop.apache.org/docs/xx.yy.zz/some-new-content/ (some new content) [NEW!] + +The release notes are available here: + +https://github.com/apache/tinkerpop/blob/xx.yy.zz/CHANGELOG.asciidoc#XXXXXXXXXXXXXXXXXX + +The Central Maven repo has sync'd as well: + +https://repo1.maven.org/maven2/org/apache/tinkerpop/tinkerpop/xx.yy.zz/ + +[include the release line logo image]</code></pre> </div> -<div class="paragraph"> -<p><a href="https://repo1.maven.org/maven2/org/apache/tinkerpop/tinkerpop/xx.yy.zz/">https://repo1.maven.org/maven2/org/apache/tinkerpop/tinkerpop/xx.yy.zz/</a></p> </div> </div> </div> </div> -<div class="sect1"> -<h2 id="_administration">Administration</h2> -<div class="sectionbody"> +<h1 id="_administration" class="sect0">Administration</h1> <div class="sect1"> <h2 id="_new_committers">New Committers</h2> <div class="sectionbody"> @@ -3032,6 +3146,50 @@ complete the process. Use <a href="https </div> </div> </div> +<div class="sect1"> +<h2 id="_board_reports">Board Reports</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The PMC Chair is responsible for submitting a <a href="http://www.apache.org/foundation/board/reporting">report to the board</a> +on a quarterly basis. TinkerPop reports on the following months: January, April, July, October. The report has the +following format:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="CodeRay"><code class="text language-text">## Description: + Apache TinkerPop is a graph computing framework for both graph databases + (OLTP) and graph analytic systems (OLAP). + +## Activity: + <discuss general project health, project direction, community growth/activity, etc.> + +## Issues: + There are no issues requiring board attention at this time. + +## Releases: + - 3.2.3-SNAPSHOT (<month> <day>, <year>) + - 3.2.3-SNAPSHOT (<month> <day>, <year>) + +## PMC/Committer: + + - Last PMC addition was <name> - <month> <year> + - Last committer addition was <name> - <month> <year> + +## Links + +[1] <hyperlink to external reference, if a reference was made in the report></code></pre> +</div> +</div> +<div class="paragraph"> +<p>A draft of the report should be sent to the TinkerPop developer mailing list for review at least three days prior to +submitting to the board. The final report should be sent in plain-text format to <code>bo...@apache.org</code> and should be +committed to the appropriate meeting agenda in SVN at:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="CodeRay"><code class="text language-text">https://svn.apache.org/repos/private/foundation/board</code></pre> +</div> +</div> </div> </div> <h1 id="meetings" class="sect0">Meetings</h1> @@ -3729,7 +3887,7 @@ roadmap:</p> </div> <div id="footer"> <div id="footer-text"> -Last updated 2016-09-11 20:56:33 -04:00 +Last updated 2016-09-20 01:06:17 +02:00 </div> </div> </body> Modified: tinkerpop/site/docs/3.2.3-SNAPSHOT/dev/provider/index.html URL: http://svn.apache.org/viewvc/tinkerpop/site/docs/3.2.3-SNAPSHOT/dev/provider/index.html?rev=1761506&r1=1761505&r2=1761506&view=diff ============================================================================== --- tinkerpop/site/docs/3.2.3-SNAPSHOT/dev/provider/index.html (original) +++ tinkerpop/site/docs/3.2.3-SNAPSHOT/dev/provider/index.html Mon Sep 19 23:12:37 2016 @@ -1038,7 +1038,7 @@ implementations. <div class="olist arabic"> <ol class="arabic"> <li> -<p>Ensure the the GraphComputer has not already been executed.</p> +<p>Ensure the GraphComputer has not already been executed.</p> </li> <li> <p>Ensure that at least there is a VertexProgram or 1 MapReduce job.</p> @@ -1256,7 +1256,7 @@ for (<span class="directive">final</span <code>MapReduce.addResultToMemory()</code> implementation.</p> </li> <li> -<p>If there is no reduce stage, the the map-stage results are inserted into Memory as specified by the application +<p>If there is no reduce stage, the map-stage results are inserted into Memory as specified by the application developer’s <code>MapReduce.addResultToMemory()</code> implementation.</p> </li> </ol> @@ -1304,7 +1304,7 @@ determine how to read and write data to <h5 id="_graphfilteraware_interface">GraphFilterAware Interface</h5> <div class="paragraph"> <p><a href="#graph-filter">Graph filters</a> by OLAP processors to only pull a subgraph of the full graph from the graph data source. For instance, the -example below constructs a <code>GraphFilter</code> that will only pull the the "knows"-graph amongst people into the <code>GraphComputer</code> +example below constructs a <code>GraphFilter</code> that will only pull the "knows"-graph amongst people into the <code>GraphComputer</code> for processing.</p> </div> <div class="listingblock"> @@ -2381,7 +2381,7 @@ a different language.</p> <code>Traversal</code>. It instead returns <code>Traverser</code> objects which allows the client to take advantage of <a href="http://tinkerpop.apache.org/docs/current/reference/#barrier-step">bulking</a>. To describe this interaction more directly, the returned <code>Traverser</code> will represent some value from the <code>Traversal</code> result and the number of times it -is represented in the the full stream of results. So, if a <code>Traversal</code> happens to return the same vertex twenty times +is represented in the full stream of results. So, if a <code>Traversal</code> happens to return the same vertex twenty times it won’t return twenty instances of the same object. It will return one in <code>Traverser</code> with the <code>bulk</code> value set to twenty. Under this model, the amount of processing and network overhead can be reduced considerably.</p> </div> @@ -2393,9 +2393,9 @@ twenty. Under this model, the amount of <pre class="CodeRay"><code class="groovy language-groovy">gremlin> cluster = Cluster.open() ==>localhost/<span class="float">127.0</span><span class="float">.0</span><span class="float">.1</span>:<span class="integer">8182</span> gremlin> client = cluster.connect() -==>org.apache.tinkerpop.gremlin.driver.Client<span class="error">$</span>ClusteredClient<span class="error">@</span><span class="float">54e0f</span><span class="float">76f</span> +==>org.apache.tinkerpop.gremlin.driver.Client<span class="error">$</span>ClusteredClient<span class="error">@</span><span class="float">857f</span><span class="integer">74</span>a gremlin> aliased = client.alias(<span class="string"><span class="delimiter">"</span><span class="content">g</span><span class="delimiter">"</span></span>) -==>org.apache.tinkerpop.gremlin.driver.Client<span class="error">$</span>AliasClusteredClient<span class="error">@</span><span class="integer">3</span>a8fb023 +==>org.apache.tinkerpop.gremlin.driver.Client<span class="error">$</span>AliasClusteredClient<span class="error">@</span><span class="float">62d</span>e73eb gremlin> g = org.apache.tinkerpop.gremlin.structure.util.empty.EmptyGraph.INSTANCE.traversal() <span class="comment">//</span><b>(1)</b> ==>graphtraversalsource[emptygraph[empty], standard] gremlin> rs = aliased.submit(g.V().both().barrier().both().barrier()).all().get() <span class="comment">//</span><b>(2)</b> @@ -2405,15 +2405,17 @@ gremlin> rs = aliased.submit(g.V().bo ==>result{object=v[<span class="integer">5</span>] <span class="type">class</span>=<span class="class">org</span>.apache.tinkerpop.gremlin.process.remote.traversal.DefaultRemoteTraverser} ==>result{object=v[<span class="integer">3</span>] <span class="type">class</span>=<span class="class">org</span>.apache.tinkerpop.gremlin.process.remote.traversal.DefaultRemoteTraverser} ==>result{object=v[<span class="integer">2</span>] <span class="type">class</span>=<span class="class">org</span>.apache.tinkerpop.gremlin.process.remote.traversal.DefaultRemoteTraverser} +==>result{object=v[<span class="integer">13</span>] <span class="type">class</span>=<span class="class">org</span>.apache.tinkerpop.gremlin.process.remote.traversal.DefaultRemoteTraverser} gremlin> aliased.submit(g.V().both().barrier().both().barrier().count()).all().get().get(<span class="integer">0</span>).getInt() <span class="comment">//</span><b>(3)</b> -==><span class="integer">30</span> +==><span class="integer">38</span> gremlin> rs.collect{[<span class="key">value</span>: <span class="local-variable">it</span>.getObject().get(), <span class="key">bulk</span>: <span class="local-variable">it</span>.getObject().bulk()]} <span class="comment">//</span><b>(4)</b> -==>[<span class="key">value</span>:v[<span class="integer">1</span>],<span class="key">bulk</span>:<span class="integer">7</span>] -==>[<span class="key">value</span>:v[<span class="integer">4</span>],<span class="key">bulk</span>:<span class="integer">7</span>] +==>[<span class="key">value</span>:v[<span class="integer">1</span>],<span class="key">bulk</span>:<span class="integer">8</span>] +==>[<span class="key">value</span>:v[<span class="integer">4</span>],<span class="key">bulk</span>:<span class="integer">8</span>] ==>[<span class="key">value</span>:v[<span class="integer">6</span>],<span class="key">bulk</span>:<span class="integer">3</span>] ==>[<span class="key">value</span>:v[<span class="integer">5</span>],<span class="key">bulk</span>:<span class="integer">3</span>] -==>[<span class="key">value</span>:v[<span class="integer">3</span>],<span class="key">bulk</span>:<span class="integer">7</span>] -==>[<span class="key">value</span>:v[<span class="integer">2</span>],<span class="key">bulk</span>:<span class="integer">3</span>]</code></pre> +==>[<span class="key">value</span>:v[<span class="integer">3</span>],<span class="key">bulk</span>:<span class="integer">8</span>] +==>[<span class="key">value</span>:v[<span class="integer">2</span>],<span class="key">bulk</span>:<span class="integer">4</span>] +==>[<span class="key">value</span>:v[<span class="integer">13</span>],<span class="key">bulk</span>:<span class="integer">4</span>]</code></pre> </div> </div> <div class="colist arabic"> @@ -3021,7 +3023,7 @@ to provide a way to dynamically evaluate </div> <div id="footer"> <div id="footer-text"> -Last updated 2016-09-11 20:44:18 -04:00 +Last updated 2016-09-20 01:06:17 +02:00 </div> </div> </body> Modified: tinkerpop/site/docs/3.2.3-SNAPSHOT/index.html URL: http://svn.apache.org/viewvc/tinkerpop/site/docs/3.2.3-SNAPSHOT/index.html?rev=1761506&r1=1761505&r2=1761506&view=diff ============================================================================== --- tinkerpop/site/docs/3.2.3-SNAPSHOT/index.html (original) +++ tinkerpop/site/docs/3.2.3-SNAPSHOT/index.html Mon Sep 19 23:12:37 2016 @@ -803,7 +803,9 @@ span.line-numbers { border-right: 1px so <div class="paragraph"> <p><strong>3.2.3-SNAPSHOT</strong></p> </div> -<h1 id="_tinkerpop_compendium" class="sect0">TinkerPop Compendium</h1> +<div class="sect1"> +<h2 id="_tinkerpop_compendium">TinkerPop Compendium</h2> +<div class="sectionbody"> <div class="imageblock" style="text-align: center"> <div class="content"> <img src="images/tinkerpop-reading.png" alt="tinkerpop reading" width="800"> @@ -842,9 +844,8 @@ Apache TinkerPop. Third-party documentat </tr> </table> </div> -<div class="sect1"> -<h2 id="tutorials">Tutorials</h2> -<div class="sectionbody"> +<div class="sect2"> +<h3 id="tutorials">Tutorials</h3> <table class="tableblock frame-all grid-none" style="width:100%; "> <colgroup> <col style="width:23%;"> @@ -886,10 +887,8 @@ and an overview of Gremlin. (<strong>ext </table> </div> -</div> -<div class="sect1"> -<h2 id="publications">Publications</h2> -<div class="sectionbody"> +<div class="sect2"> +<h3 id="publications">Publications</h3> <div class="paragraph"> <p>Unless otherwise noted, all "publications" are externally managed:</p> </div> @@ -925,10 +924,8 @@ and an overview of Gremlin. (<strong>ext </ul> </div> </div> -</div> -<div class="sect1"> -<h2 id="developer">Developer</h2> -<div class="sectionbody"> +<div class="sect2"> +<h3 id="developer">Developer</h3> <table class="tableblock frame-all grid-none" style="width:100%; "> <colgroup> <col style="width:23%;"> @@ -951,9 +948,10 @@ Documentation for providers who implemen </div> </div> </div> +</div> <div id="footer"> <div id="footer-text"> -Last updated 2016-09-11 20:56:33 -04:00 +Last updated 2016-09-20 01:06:18 +02:00 </div> </div> </body> Modified: tinkerpop/site/docs/3.2.3-SNAPSHOT/recipes/index.html URL: http://svn.apache.org/viewvc/tinkerpop/site/docs/3.2.3-SNAPSHOT/recipes/index.html?rev=1761506&r1=1761505&r2=1761506&view=diff ============================================================================== --- tinkerpop/site/docs/3.2.3-SNAPSHOT/recipes/index.html (original) +++ tinkerpop/site/docs/3.2.3-SNAPSHOT/recipes/index.html Mon Sep 19 23:12:37 2016 @@ -1542,16 +1542,16 @@ gremlin> g.V().repeat(groupCount(<spa ==>LOOKS LIKE RAIN=<span class="integer">6674121</span> gremlin> g.V().repeat(groupCount(<span class="string"><span class="delimiter">'</span><span class="content">m</span><span class="delimiter">'</span></span>).by(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>).out().timeLimit(<span class="integer">100</span>)).times(<span class="integer">5</span>).cap(<span class="string"><span class="delimiter">'</span><span class="content">m</span><span class="delimiter">'</span></span>). <span class="comment">//</span><b>(3)</b> order(local).by(values, decr).limit(local, <span class="integer">10</span>).next() -==>PLAYING IN THE BAND=<span class="integer">8758598</span> -==>ME AND MY UNCLE=<span class="integer">8214246</span> -==>JACK STRAW=<span class="integer">8173882</span> -==>EL PASO=<span class="integer">7666994</span> -==>TRUCKING=<span class="integer">7643494</span> -==>PROMISED LAND=<span class="integer">7339027</span> -==>CHINA CAT SUNFLOWER=<span class="integer">7322213</span> -==>CUMBERLAND BLUES=<span class="integer">6730838</span> -==>RAMBLE ON ROSE=<span class="integer">6676667</span> -==>LOOKS LIKE RAIN=<span class="integer">6674121</span></code></pre> +==>PLAYING IN THE BAND=<span class="integer">7431844</span> +==>ME AND MY UNCLE=<span class="integer">6979148</span> +==>JACK STRAW=<span class="integer">6940113</span> +==>EL PASO=<span class="integer">6516051</span> +==>TRUCKING=<span class="integer">6487148</span> +==>PROMISED LAND=<span class="integer">6233979</span> +==>CHINA CAT SUNFLOWER=<span class="integer">6216507</span> +==>CUMBERLAND BLUES=<span class="integer">5719585</span> +==>LOOKS LIKE RAIN=<span class="integer">5675787</span> +==>RAMBLE ON ROSE=<span class="integer">5669718</span></code></pre> </div> </div> <div class="colist arabic"> @@ -1609,15 +1609,15 @@ gremlin> g.V(marko).out(<span class=" <div class="paragraph"> <p>The downside to this approach is that it takes two separate traversals to answer the question. Ideally, there should be a single traversal, that can query "marko" once, determine his <code>age</code> and then use that for the value supplied to -filter the people he knows. In this way the <em>value</em> for the <code>age</code> filter is <em>induced</em> from the <code>Traversal</code> itself.</p> +filter the people he knows. In this way the <em>value</em> for the <code>age</code> in the <code>has()</code>-filter is <em>induced</em> from the <code>Traversal</code> +itself.</p> </div> <div class="listingblock"> <div class="content"> <pre class="CodeRay"><code class="groovy language-groovy">gremlin> g.V().has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>). <span class="comment">//</span><b>(1)</b> out(<span class="string"><span class="delimiter">'</span><span class="content">knows</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">friend</span><span class="delimiter">'</span></span>). <span class="comment">//</span><b>(2)</b> - filter(select(<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">friend</span><span class="delimiter">'</span></span>).by(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>). <span class="comment">//</span><b>(3)</b> - where(<span class="string"><span class="delimiter">'</span><span class="content">friend</span><span class="delimiter">'</span></span>, gt(<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>))). <span class="comment">//</span><b>(4)</b> - values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>) + where(<span class="string"><span class="delimiter">'</span><span class="content">friend</span><span class="delimiter">'</span></span>, gt(<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>)).by(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>). <span class="comment">//</span><b>(3)</b> + values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>) <span class="comment">//</span><b>(4)</b> ==>josh</code></pre> </div> </div> @@ -1627,35 +1627,17 @@ filter the people he knows. In this way <p>Find the "marko" <code>Vertex</code> and label it as "marko".</p> </li> <li> -<p>Traverse out on the "knows" edges to the adjacent <code>Vertex</code> and label it as "person".</p> +<p>Traverse out on the "knows" edges to the adjacent <code>Vertex</code> and label it as "friend".</p> </li> <li> -<p>Filter the incoming "person" vertices. It is within this filter, that the traversal induced values are utilized. -The inner <code>select</code> grabs the "marko" vertex and the current "friend". The <code>by</code> modulator extracts the "age" from both -of those vertices which yields a <code>Map</code> with two keys, "marko" and "friend", where the value of each is the "age".</p> +<p>Continue to traverser only if Marko’s current friend is older than him.</p> </li> <li> -<p>The <code>Map</code> produced in the previous step can then be filtered with <code>where</code> to only return a result if the "friend" -age is greater than the "marko" age. If this is successful, then the <code>filter</code> step from the previous line will succeed -and allow the "friend" vertex to pass through.</p> +<p>Get the name of Marko’s older friend.</p> </li> </ol> </div> <div class="paragraph"> -<p>This traversal could also be written declaratively with <code>match</code> step as follows:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="CodeRay"><code class="groovy language-groovy">gremlin> g.V().has(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>,<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>).match( - __.as(<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>).values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>), - __.as(<span class="string"><span class="delimiter">'</span><span class="content">marko</span><span class="delimiter">'</span></span>).out(<span class="string"><span class="delimiter">'</span><span class="content">knows</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">friend</span><span class="delimiter">'</span></span>), - __.as(<span class="string"><span class="delimiter">'</span><span class="content">friend</span><span class="delimiter">'</span></span>).values(<span class="string"><span class="delimiter">'</span><span class="content">age</span><span class="delimiter">'</span></span>).as(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>) - ).where(<span class="string"><span class="delimiter">'</span><span class="content">b</span><span class="delimiter">'</span></span>, gt(<span class="string"><span class="delimiter">'</span><span class="content">a</span><span class="delimiter">'</span></span>)).select(<span class="string"><span class="delimiter">'</span><span class="content">friend</span><span class="delimiter">'</span></span>). - values(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span>) -==>josh</code></pre> -</div> -</div> -<div class="paragraph"> <p>Traversal induced values are not just for filtering. They can also be used when writing the values of the properties of one <code>Vertex</code> to another:</p> </div> @@ -1890,6 +1872,19 @@ of the recipe so that the eventual pull </tr> </table> </div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<div class="title">Important</div> +</td> +<td class="content"> +Please read TinkerPop’s <a href="http://tinkerpop.apache.org/docs/3.2.3-SNAPSHOT/dev/developer/#_contributing">policy on contributing</a> +prior to submitting a recipe. +</td> +</tr> +</table> +</div> <div class="paragraph"> <p>To contribute a recipe, first clone the repository:</p> </div> @@ -1971,7 +1966,7 @@ submissions!</p> </div> <div id="footer"> <div id="footer-text"> -Last updated 2016-09-11 20:56:33 -04:00 +Last updated 2016-09-20 01:06:18 +02:00 </div> </div> </body>