You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by xi...@apache.org on 2023/01/19 02:09:38 UTC
svn commit: r1906787 [20/22] - in /tinkerpop/site/jsdocs/3.5.5: ./ fonts/ scripts/ scripts/prettify/ styles/
Added: tinkerpop/site/jsdocs/3.5.5/fonts/OpenSans-Regular-webfont.woff
URL: http://svn.apache.org/viewvc/tinkerpop/site/jsdocs/3.5.5/fonts/OpenSans-Regular-webfont.woff?rev=1906787&view=auto
==============================================================================
Binary file - no diff available.
Propchange: tinkerpop/site/jsdocs/3.5.5/fonts/OpenSans-Regular-webfont.woff
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: tinkerpop/site/jsdocs/3.5.5/global.html
URL: http://svn.apache.org/viewvc/tinkerpop/site/jsdocs/3.5.5/global.html?rev=1906787&view=auto
==============================================================================
--- tinkerpop/site/jsdocs/3.5.5/global.html (added)
+++ tinkerpop/site/jsdocs/3.5.5/global.html Thu Jan 19 02:09:37 2023
@@ -0,0 +1,462 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title>JSDoc: Global</title>
+
+ <script src="scripts/prettify/prettify.js"> </script>
+ <script src="scripts/prettify/lang-css.js"> </script>
+ <!--[if lt IE 9]>
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+ <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
+ <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
+</head>
+
+<body>
+
+<div id="main">
+
+ <h1 class="page-title">Global</h1>
+
+
+
+
+
+
+<section>
+
+<header>
+
+ <h2></h2>
+
+
+</header>
+
+<article>
+ <div class="container-overview">
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+ </div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <h3 class="subsection-title">Members</h3>
+
+
+
+<h4 class="name" id="DataType"><span class="type-signature">(constant) </span>DataType<span class="type-signature"></span></h4>
+
+
+
+
+<div class="description">
+ Represents a GraphBinary data type.
+
+See org.apache.tinkerpop.gremlin.structure.io.binary.DataType Java class.
+</div>
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <dt class="tag-source">Source:</dt>
+ <dd class="tag-source"><ul class="dummy"><li>
+ <a href="structure_io_binary_internals_DataType.js.html">structure/io/binary/internals/DataType.js</a>, <a href="structure_io_binary_internals_DataType.js.html#line30">line 30</a>
+ </li></ul></dd>
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+<h4 class="name" id="statics"><span class="type-signature">(constant) </span>statics<span class="type-signature"> :Object</span></h4>
+
+
+
+
+<div class="description">
+ Contains the static method definitions
+</div>
+
+
+
+ <h5>Type:</h5>
+ <ul>
+ <li>
+
+<span class="param-type">Object</span>
+
+
+ </li>
+ </ul>
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <dt class="tag-source">Source:</dt>
+ <dd class="tag-source"><ul class="dummy"><li>
+ <a href="process_graph-traversal.js.html">process/graph-traversal.js</a>, <a href="process_graph-traversal.js.html#line1355">line 1355</a>
+ </li></ul></dd>
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+ <h3 class="subsection-title">Type Definitions</h3>
+
+
+
+<h4 class="name" id="RequestOptions">RequestOptions</h4>
+
+
+
+
+<div class="description">
+ Configuration specific to the current request.
+</div>
+
+
+
+ <h5>Type:</h5>
+ <ul>
+ <li>
+
+<span class="param-type">Object</span>
+
+
+ </li>
+ </ul>
+
+
+
+
+
+ <h5 class="subsection-title">Properties:</h5>
+
+
+
+<table class="props">
+ <thead>
+ <tr>
+
+ <th>Name</th>
+
+
+ <th>Type</th>
+
+
+
+
+
+ <th class="last">Description</th>
+ </tr>
+ </thead>
+
+ <tbody>
+
+
+ <tr>
+
+ <td class="name"><code>requestId</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">String</span>
+
+
+
+ </td>
+
+
+
+
+
+ <td class="description last">User specified request identifier which must be a UUID.</td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>batchSize</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Number</span>
+
+
+
+ </td>
+
+
+
+
+
+ <td class="description last">Indicates whether the Power component is present.</td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>userAgent</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">String</span>
+
+
+
+ </td>
+
+
+
+
+
+ <td class="description last">The size in which the result of a request is to be 'batched' back to the client</td>
+ </tr>
+
+
+
+ <tr>
+
+ <td class="name"><code>evaluationTimeout</code></td>
+
+
+ <td class="type">
+
+
+<span class="param-type">Number</span>
+
+
+
+ </td>
+
+
+
+
+
+ <td class="description last">The timeout for the evaluation of the request.</td>
+ </tr>
+
+
+ </tbody>
+</table>
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <dt class="tag-source">Source:</dt>
+ <dd class="tag-source"><ul class="dummy"><li>
+ <a href="driver_client.js.html">driver/client.js</a>, <a href="driver_client.js.html#line80">line 80</a>
+ </li></ul></dd>
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+</article>
+
+</section>
+
+
+
+
+</div>
+
+<nav>
+ <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="AnonymousTraversalSource.html">AnonymousTraversalSource</a></li><li><a href="Authenticator.html">Authenticator</a></li><li><a href="Bytecode.html">Bytecode</a></li><li><a href="Client.html">Client</a></li><li><a href="Connection.html">Connection</a></li><li><a href="DriverRemoteConnection.html">DriverRemoteConnection</a></li><li><a href="EdgeLabelVerificationStrategy.html">EdgeLabelVerificationStrategy</a></li><li><a href="Graph.html">Graph</a></li><li><a href="GraphSON2Reader.html">GraphSON2Reader</a></li><li><a href="GraphSON2Writer.html">GraphSON2Writer</a></li><li><a href="GraphSON3Reader.html">GraphSON3Reader</a></li><li><a href="GraphSON3Writer.html">GraphSON3Writer</a></li><li><a href="GraphTraversal.html">GraphTraversal</a></li><li><a href="GraphTraversalSource.html">GraphTraversalSource</a></li><li><a href="HaltedTraverserStrategy.html">HaltedTraverserStrategy</a></li><li><a href="MatchAlgorithmStrat
egy.html">MatchAlgorithmStrategy</a></li><li><a href="module.exports.html">exports</a></li><li><a href="P.html">P</a></li><li><a href="PartitionStrategy.html">PartitionStrategy</a></li><li><a href="Path.html">Path</a></li><li><a href="PlainTextSaslAuthenticator.html">PlainTextSaslAuthenticator</a></li><li><a href="ProductiveByStrategy.html">ProductiveByStrategy</a></li><li><a href="RemoteConnection.html">RemoteConnection</a></li><li><a href="RemoteStrategy.html">RemoteStrategy</a></li><li><a href="RemoteTraversal.html">RemoteTraversal</a></li><li><a href="ReservedKeysVerificationStrategy.html">ReservedKeysVerificationStrategy</a></li><li><a href="ResponseError.html">ResponseError</a></li><li><a href="ResultSet.html">ResultSet</a></li><li><a href="SaslAuthenticator.html">SaslAuthenticator</a></li><li><a href="SaslMechanismBase.html">SaslMechanismBase</a></li><li><a href="SaslMechanismPlain.html">SaslMechanismPlain</a></li><li><a href="SubgraphStrategy.html">SubgraphStrategy</a></li><
li><a href="TextP.html">TextP</a></li><li><a href="Transaction.html">Transaction</a></li><li><a href="Translator.html">Translator</a></li><li><a href="TraversalStrategies.html">TraversalStrategies</a></li><li><a href="TraversalStrategy.html">TraversalStrategy</a></li><li><a href="TypeSerializer.html">TypeSerializer</a></li></ul><h3>Global</h3><ul><li><a href="global.html#DataType">DataType</a></li><li><a href="global.html#statics">statics</a></li></ul>
+</nav>
+
+<br class="clear">
+
+<footer>
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Wed Jan 18 2023 17:10:25 GMT-0800 (Pacific Standard Time)
+</footer>
+
+<script> prettyPrint(); </script>
+<script src="scripts/linenumber.js"> </script>
+</body>
+</html>
\ No newline at end of file
Added: tinkerpop/site/jsdocs/3.5.5/index.html
URL: http://svn.apache.org/viewvc/tinkerpop/site/jsdocs/3.5.5/index.html?rev=1906787&view=auto
==============================================================================
--- tinkerpop/site/jsdocs/3.5.5/index.html (added)
+++ tinkerpop/site/jsdocs/3.5.5/index.html Thu Jan 19 02:09:37 2023
@@ -0,0 +1,185 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title>JSDoc: Home</title>
+
+ <script src="scripts/prettify/prettify.js"> </script>
+ <script src="scripts/prettify/lang-css.js"> </script>
+ <!--[if lt IE 9]>
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+ <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
+ <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
+</head>
+
+<body>
+
+<div id="main">
+
+ <h1 class="page-title">Home</h1>
+
+
+
+
+
+
+
+
+ <h3> </h3>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <section>
+ <article><!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+<h1>JavaScript Gremlin Language Variant</h1>
+<p><a href="https://tinkerpop.apache.org">Apache TinkerPopâ¢</a> is a graph computing framework for both graph databases (OLTP) and graph analytic systems
+(OLAP). <a href="https://tinkerpop.apache.org/gremlin.html">Gremlin</a> is the graph traversal language of TinkerPop. It can be described as a functional,
+data-flow language that enables users to succinctly express complex traversals on (or queries of) their application's
+property graph.</p>
+<p>Gremlin-Javascript implements Gremlin within the JavaScript language and can be used on Node.js.</p>
+<pre class="prettyprint source lang-bash"><code>npm install gremlin
+</code></pre>
+<p>Gremlin-Javascript is designed to connect to a "server" that is hosting a TinkerPop-enabled graph system. That "server"
+could be <a href="https://tinkerpop.apache.org/docs/current/reference/#gremlin-server">Gremlin Server</a> or a <a href="https://tinkerpop.apache.org/docs/current/reference/#connecting-rgp">remote Gremlin provider</a> that exposes protocols by which Gremlin-Javascript
+can connect.</p>
+<p>A typical connection to a server running on "localhost" that supports the Gremlin Server protocol using websockets
+looks like this:</p>
+<pre class="prettyprint source lang-javascript"><code>const gremlin = require('gremlin');
+const traversal = gremlin.process.AnonymousTraversalSource.traversal;
+const DriverRemoteConnection = gremlin.driver.DriverRemoteConnection;
+
+const g = traversal().withRemote(new DriverRemoteConnection('ws://localhost:8182/gremlin'));
+</code></pre>
+<p>Once "g" has been created using a connection, it is then possible to start writing Gremlin traversals to query the
+remote graph:</p>
+<pre class="prettyprint source lang-javascript"><code>g.V().hasLabel('person').values('name').toList()
+ .then(names => console.log(names));
+
+const names = await g.V().hasLabel('person').values('name').toList();
+console.log(names);
+</code></pre>
+<h1>Sample Traversals</h1>
+<p>The Gremlin language allows users to write highly expressive graph traversals and has a broad list of functions that
+cover a wide body of features. The <a href="https://tinkerpop.apache.org/docs/current/reference/#graph-traversal-steps">Reference Documentation</a> describes these functions and other aspects of the
+TinkerPop ecosystem including some specifics on <a href="https://tinkerpop.apache.org/docs/current/reference/#gremlin-javascript">Gremlin in Javascript</a> itself. Most of the examples found in the
+documentation use Groovy language syntax in the <a href="https://tinkerpop.apache.org/docs/current/tutorials/the-gremlin-console/">Gremlin Console</a>. For the most part, these examples
+should generally translate to Javascript with <a href="https://tinkerpop.apache.org/docs/current/reference/#gremlin-javascript-differences">little modification</a>. Given the strong correspondence
+between canonical Gremlin in Java and its variants like Javascript, there is a limited amount of Javascript-specific
+documentation and examples. This strong correspondence among variants ensures that the general Gremlin reference
+documentation is applicable to all variants and that users moving between development languages can easily adopt the
+Gremlin variant for that language.</p>
+<h2>Create Vertex</h2>
+<pre class="prettyprint source lang-javascript"><code>/* if we want to assign our own ID and properties to this vertex */
+const { t: { id } } = gremlin.process;
+const { cardinality: { single } } = gremlin.process;
+
+/**
+ * Create a new vertex with Id, Label and properties
+ * @param {String,Number} vertexId Vertex Id (assuming the graph database allows id assignment)
+ * @param {String} vlabel Vertex Label
+ */
+const createVertex = async (vertexId, vlabel) => {
+ const vertex = await g.addV(vlabel)
+ .property(id, vertexId)
+ .property(single, 'name', 'Apache')
+ .property('lastname', 'Tinkerpop') // default database cardinality
+ .next();
+
+ return vertex.value;
+};
+</code></pre>
+<h2>Find Vertices</h2>
+<pre class="prettyprint source lang-javascript"><code>/**
+ * List all vertexes in db
+ * @param {Number} limit
+ */
+const listAll = async (limit = 500) => {
+ return g.V().limit(limit).elementMap().toList();
+};
+/**
+ * Find unique vertex with id
+ * @param {Object} vertexId Vertex Id
+ */
+const findVertex = async (vertexId) => {
+ const vertex = await g.V(vertexId).elementMap().next();
+ return vertex.value;
+};
+/**
+ * Find vertices by label and 'name' property
+ * @param {String} vlabel Vertex label
+ * @param {String} name value of 'name' property
+ */
+const listByLabelAndName = async (vlabel, name) => {
+ return g.V().has(vlabel, 'name', name).elementMap().toList();
+};
+</code></pre>
+<h2>Update Vertex</h2>
+<pre class="prettyprint source lang-javascript"><code>const { cardinality: { single } } = gremlin.process;
+
+/**
+ * Update Vertex Properties
+ * @param {String,Number} vertexId Vertex Id
+ * @param {String} name Vertex Name Property
+ */
+const updateVertex = async (vertexId, label, name) => {
+ const vertex = await g.V(vertexId).property(single, 'name', name).next();
+ return vertex.value;
+};
+</code></pre>
+<p>NOTE that versions suffixed with "-rc" are considered release candidates (i.e. pre-alpha, alpha, beta, etc.) and
+thus for early testing purposes only.</p></article>
+ </section>
+
+
+
+
+
+
+</div>
+
+<nav>
+ <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="AnonymousTraversalSource.html">AnonymousTraversalSource</a></li><li><a href="Authenticator.html">Authenticator</a></li><li><a href="Bytecode.html">Bytecode</a></li><li><a href="Client.html">Client</a></li><li><a href="Connection.html">Connection</a></li><li><a href="DriverRemoteConnection.html">DriverRemoteConnection</a></li><li><a href="EdgeLabelVerificationStrategy.html">EdgeLabelVerificationStrategy</a></li><li><a href="Graph.html">Graph</a></li><li><a href="GraphSON2Reader.html">GraphSON2Reader</a></li><li><a href="GraphSON2Writer.html">GraphSON2Writer</a></li><li><a href="GraphSON3Reader.html">GraphSON3Reader</a></li><li><a href="GraphSON3Writer.html">GraphSON3Writer</a></li><li><a href="GraphTraversal.html">GraphTraversal</a></li><li><a href="GraphTraversalSource.html">GraphTraversalSource</a></li><li><a href="HaltedTraverserStrategy.html">HaltedTraverserStrategy</a></li><li><a href="MatchAlgorithmStrat
egy.html">MatchAlgorithmStrategy</a></li><li><a href="module.exports.html">exports</a></li><li><a href="P.html">P</a></li><li><a href="PartitionStrategy.html">PartitionStrategy</a></li><li><a href="Path.html">Path</a></li><li><a href="PlainTextSaslAuthenticator.html">PlainTextSaslAuthenticator</a></li><li><a href="ProductiveByStrategy.html">ProductiveByStrategy</a></li><li><a href="RemoteConnection.html">RemoteConnection</a></li><li><a href="RemoteStrategy.html">RemoteStrategy</a></li><li><a href="RemoteTraversal.html">RemoteTraversal</a></li><li><a href="ReservedKeysVerificationStrategy.html">ReservedKeysVerificationStrategy</a></li><li><a href="ResponseError.html">ResponseError</a></li><li><a href="ResultSet.html">ResultSet</a></li><li><a href="SaslAuthenticator.html">SaslAuthenticator</a></li><li><a href="SaslMechanismBase.html">SaslMechanismBase</a></li><li><a href="SaslMechanismPlain.html">SaslMechanismPlain</a></li><li><a href="SubgraphStrategy.html">SubgraphStrategy</a></li><
li><a href="TextP.html">TextP</a></li><li><a href="Transaction.html">Transaction</a></li><li><a href="Translator.html">Translator</a></li><li><a href="TraversalStrategies.html">TraversalStrategies</a></li><li><a href="TraversalStrategy.html">TraversalStrategy</a></li><li><a href="TypeSerializer.html">TypeSerializer</a></li></ul><h3>Global</h3><ul><li><a href="global.html#DataType">DataType</a></li><li><a href="global.html#statics">statics</a></li></ul>
+</nav>
+
+<br class="clear">
+
+<footer>
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Wed Jan 18 2023 17:10:25 GMT-0800 (Pacific Standard Time)
+</footer>
+
+<script> prettyPrint(); </script>
+<script src="scripts/linenumber.js"> </script>
+</body>
+</html>
\ No newline at end of file
Added: tinkerpop/site/jsdocs/3.5.5/module.exports.html
URL: http://svn.apache.org/viewvc/tinkerpop/site/jsdocs/3.5.5/module.exports.html?rev=1906787&view=auto
==============================================================================
--- tinkerpop/site/jsdocs/3.5.5/module.exports.html (added)
+++ tinkerpop/site/jsdocs/3.5.5/module.exports.html Thu Jan 19 02:09:37 2023
@@ -0,0 +1,301 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title>JSDoc: Class: exports</title>
+
+ <script src="scripts/prettify/prettify.js"> </script>
+ <script src="scripts/prettify/lang-css.js"> </script>
+ <!--[if lt IE 9]>
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+ <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
+ <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
+</head>
+
+<body>
+
+<div id="main">
+
+ <h1 class="page-title">Class: exports</h1>
+
+
+
+
+
+
+<section>
+
+<header>
+
+ <h2><span class="attribs"><span class="type-signature"></span></span>exports<span class="signature">()</span><span class="type-signature"></span></h2>
+
+ <div class="class-description">GraphBinary writer.</div>
+
+
+</header>
+
+<article>
+ <div class="container-overview">
+
+
+
+
+ <h2>Constructor</h2>
+
+
+
+ <h4 class="name" id="exports"><span class="type-signature"></span>new exports<span class="signature">()</span><span class="type-signature"></span></h4>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <dt class="tag-source">Source:</dt>
+ <dd class="tag-source"><ul class="dummy"><li>
+ <a href="structure_io_binary_internals_GraphBinaryWriter.js.html">structure/io/binary/internals/GraphBinaryWriter.js</a>, <a href="structure_io_binary_internals_GraphBinaryWriter.js.html#line28">line 28</a>
+ </li></ul></dd>
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</article>
+
+</section>
+
+
+
+
+
+
+
+<section>
+
+<header>
+
+ <h2><span class="attribs"><span class="type-signature"></span></span>exports<span class="signature">()</span><span class="type-signature"></span></h2>
+
+ <div class="class-description">GraphBinary reader.</div>
+
+
+</header>
+
+<article>
+ <div class="container-overview">
+
+
+
+
+ <h2>Constructor</h2>
+
+
+
+ <h4 class="name" id="exports"><span class="type-signature"></span>new exports<span class="signature">()</span><span class="type-signature"></span></h4>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <dt class="tag-source">Source:</dt>
+ <dd class="tag-source"><ul class="dummy"><li>
+ <a href="structure_io_binary_internals_GraphBinaryReader.js.html">structure/io/binary/internals/GraphBinaryReader.js</a>, <a href="structure_io_binary_internals_GraphBinaryReader.js.html#line28">line 28</a>
+ </li></ul></dd>
+
+
+
+
+
+
+
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</article>
+
+</section>
+
+
+
+
+</div>
+
+<nav>
+ <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="AnonymousTraversalSource.html">AnonymousTraversalSource</a></li><li><a href="Authenticator.html">Authenticator</a></li><li><a href="Bytecode.html">Bytecode</a></li><li><a href="Client.html">Client</a></li><li><a href="Connection.html">Connection</a></li><li><a href="DriverRemoteConnection.html">DriverRemoteConnection</a></li><li><a href="EdgeLabelVerificationStrategy.html">EdgeLabelVerificationStrategy</a></li><li><a href="Graph.html">Graph</a></li><li><a href="GraphSON2Reader.html">GraphSON2Reader</a></li><li><a href="GraphSON2Writer.html">GraphSON2Writer</a></li><li><a href="GraphSON3Reader.html">GraphSON3Reader</a></li><li><a href="GraphSON3Writer.html">GraphSON3Writer</a></li><li><a href="GraphTraversal.html">GraphTraversal</a></li><li><a href="GraphTraversalSource.html">GraphTraversalSource</a></li><li><a href="HaltedTraverserStrategy.html">HaltedTraverserStrategy</a></li><li><a href="MatchAlgorithmStrat
egy.html">MatchAlgorithmStrategy</a></li><li><a href="module.exports.html">exports</a></li><li><a href="P.html">P</a></li><li><a href="PartitionStrategy.html">PartitionStrategy</a></li><li><a href="Path.html">Path</a></li><li><a href="PlainTextSaslAuthenticator.html">PlainTextSaslAuthenticator</a></li><li><a href="ProductiveByStrategy.html">ProductiveByStrategy</a></li><li><a href="RemoteConnection.html">RemoteConnection</a></li><li><a href="RemoteStrategy.html">RemoteStrategy</a></li><li><a href="RemoteTraversal.html">RemoteTraversal</a></li><li><a href="ReservedKeysVerificationStrategy.html">ReservedKeysVerificationStrategy</a></li><li><a href="ResponseError.html">ResponseError</a></li><li><a href="ResultSet.html">ResultSet</a></li><li><a href="SaslAuthenticator.html">SaslAuthenticator</a></li><li><a href="SaslMechanismBase.html">SaslMechanismBase</a></li><li><a href="SaslMechanismPlain.html">SaslMechanismPlain</a></li><li><a href="SubgraphStrategy.html">SubgraphStrategy</a></li><
li><a href="TextP.html">TextP</a></li><li><a href="Transaction.html">Transaction</a></li><li><a href="Translator.html">Translator</a></li><li><a href="TraversalStrategies.html">TraversalStrategies</a></li><li><a href="TraversalStrategy.html">TraversalStrategy</a></li><li><a href="TypeSerializer.html">TypeSerializer</a></li></ul><h3>Global</h3><ul><li><a href="global.html#DataType">DataType</a></li><li><a href="global.html#statics">statics</a></li></ul>
+</nav>
+
+<br class="clear">
+
+<footer>
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Wed Jan 18 2023 17:10:25 GMT-0800 (Pacific Standard Time)
+</footer>
+
+<script> prettyPrint(); </script>
+<script src="scripts/linenumber.js"> </script>
+</body>
+</html>
\ No newline at end of file
Added: tinkerpop/site/jsdocs/3.5.5/process_anonymous-traversal.js.html
URL: http://svn.apache.org/viewvc/tinkerpop/site/jsdocs/3.5.5/process_anonymous-traversal.js.html?rev=1906787&view=auto
==============================================================================
--- tinkerpop/site/jsdocs/3.5.5/process_anonymous-traversal.js.html (added)
+++ tinkerpop/site/jsdocs/3.5.5/process_anonymous-traversal.js.html Thu Jan 19 02:09:37 2023
@@ -0,0 +1,128 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title>JSDoc: Source: process/anonymous-traversal.js</title>
+
+ <script src="scripts/prettify/prettify.js"> </script>
+ <script src="scripts/prettify/lang-css.js"> </script>
+ <!--[if lt IE 9]>
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+ <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
+ <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
+</head>
+
+<body>
+
+<div id="main">
+
+ <h1 class="page-title">Source: process/anonymous-traversal.js</h1>
+
+
+
+
+
+
+ <section>
+ <article>
+ <pre class="prettyprint source linenums"><code>/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+'use strict';
+
+const graphTraversalModule = require('./graph-traversal');
+const TraversalStrategies = require('./traversal-strategy').TraversalStrategies;
+const GraphTraversalSource = graphTraversalModule.GraphTraversalSource;
+const Graph = require('../structure/graph').Graph;
+
+/**
+ * Provides a unified way to construct a <code>TraversalSource</code> from the perspective of the traversal. In this
+ * syntax the user is creating the source and binding it to a reference which is either an existing <code>Graph</code>
+ * instance or a <code>RemoteConnection</code>.
+ */
+class AnonymousTraversalSource {
+ /**
+ * Creates a new instance of {@code AnonymousTraversalSource}.
+ * @param {Function} [traversalSourceClass] Optional {@code GraphTraversalSource} constructor.
+ */
+ constructor(traversalSourceClass) {
+ this.traversalSourceClass = traversalSourceClass;
+ }
+
+ /**
+ * Constructs an {@code AnonymousTraversalSource} which will then be configured to spawn a
+ * {@link GraphTraversalSource}.
+ * @param {Function} [traversalSourceClass] Optional {@code GraphTraversalSource} constructor.
+ * @returns {AnonymousTraversalSource}.
+ */
+ static traversal(traversalSourceClass) {
+ return new AnonymousTraversalSource(traversalSourceClass || GraphTraversalSource);
+ }
+
+ /**
+ * Creates a {@link GraphTraversalSource} binding a {@link RemoteConnection} to a remote {@link Graph} instances as its
+ * reference so that traversals spawned from it will execute over that reference.
+ * @param {RemoteConnection} remoteConnection
+ * @return {GraphTraversalSource}
+ */
+ withRemote(remoteConnection) {
+ return this.withGraph(new Graph()).withRemote(remoteConnection);
+ }
+
+ /**
+ * Creates the specified {@link GraphTraversalSource} binding an embedded {@link Graph} as its reference such that
+ * traversals spawned from it will execute over that reference. As there are no "embedded Graph" instances in
+ * gremlin-javascript as there on the JVM, the {@link GraphTraversalSource} can only ever be constructed as "empty"
+ * with a {@link Graph} instance (which is only a reference to a graph and is not capable of holding data). As a
+ * result, the {@link GraphTraversalSource} will do nothing unless a "remote" is then assigned to it later.
+ * @param {Graph} graph
+ * @return {GraphTraversalSource}
+ * @deprecated As of release 3.4.9, prefer {@link withRemote} until some form of "embedded graph" becomes available
+ * at which point there will be support for {@code withEmbedded} which is part of the canonical Java API.
+ */
+ withGraph(graph) {
+ return new this.traversalSourceClass(graph, new TraversalStrategies());
+ }
+}
+
+module.exports = AnonymousTraversalSource;
+</code></pre>
+ </article>
+ </section>
+
+
+
+
+</div>
+
+<nav>
+ <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="AnonymousTraversalSource.html">AnonymousTraversalSource</a></li><li><a href="Authenticator.html">Authenticator</a></li><li><a href="Bytecode.html">Bytecode</a></li><li><a href="Client.html">Client</a></li><li><a href="Connection.html">Connection</a></li><li><a href="DriverRemoteConnection.html">DriverRemoteConnection</a></li><li><a href="EdgeLabelVerificationStrategy.html">EdgeLabelVerificationStrategy</a></li><li><a href="Graph.html">Graph</a></li><li><a href="GraphSON2Reader.html">GraphSON2Reader</a></li><li><a href="GraphSON2Writer.html">GraphSON2Writer</a></li><li><a href="GraphSON3Reader.html">GraphSON3Reader</a></li><li><a href="GraphSON3Writer.html">GraphSON3Writer</a></li><li><a href="GraphTraversal.html">GraphTraversal</a></li><li><a href="GraphTraversalSource.html">GraphTraversalSource</a></li><li><a href="HaltedTraverserStrategy.html">HaltedTraverserStrategy</a></li><li><a href="MatchAlgorithmStrat
egy.html">MatchAlgorithmStrategy</a></li><li><a href="module.exports.html">exports</a></li><li><a href="P.html">P</a></li><li><a href="PartitionStrategy.html">PartitionStrategy</a></li><li><a href="Path.html">Path</a></li><li><a href="PlainTextSaslAuthenticator.html">PlainTextSaslAuthenticator</a></li><li><a href="ProductiveByStrategy.html">ProductiveByStrategy</a></li><li><a href="RemoteConnection.html">RemoteConnection</a></li><li><a href="RemoteStrategy.html">RemoteStrategy</a></li><li><a href="RemoteTraversal.html">RemoteTraversal</a></li><li><a href="ReservedKeysVerificationStrategy.html">ReservedKeysVerificationStrategy</a></li><li><a href="ResponseError.html">ResponseError</a></li><li><a href="ResultSet.html">ResultSet</a></li><li><a href="SaslAuthenticator.html">SaslAuthenticator</a></li><li><a href="SaslMechanismBase.html">SaslMechanismBase</a></li><li><a href="SaslMechanismPlain.html">SaslMechanismPlain</a></li><li><a href="SubgraphStrategy.html">SubgraphStrategy</a></li><
li><a href="TextP.html">TextP</a></li><li><a href="Transaction.html">Transaction</a></li><li><a href="Translator.html">Translator</a></li><li><a href="TraversalStrategies.html">TraversalStrategies</a></li><li><a href="TraversalStrategy.html">TraversalStrategy</a></li><li><a href="TypeSerializer.html">TypeSerializer</a></li></ul><h3>Global</h3><ul><li><a href="global.html#DataType">DataType</a></li><li><a href="global.html#statics">statics</a></li></ul>
+</nav>
+
+<br class="clear">
+
+<footer>
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Wed Jan 18 2023 17:10:25 GMT-0800 (Pacific Standard Time)
+</footer>
+
+<script> prettyPrint(); </script>
+<script src="scripts/linenumber.js"> </script>
+</body>
+</html>
Added: tinkerpop/site/jsdocs/3.5.5/process_bytecode.js.html
URL: http://svn.apache.org/viewvc/tinkerpop/site/jsdocs/3.5.5/process_bytecode.js.html?rev=1906787&view=auto
==============================================================================
--- tinkerpop/site/jsdocs/3.5.5/process_bytecode.js.html (added)
+++ tinkerpop/site/jsdocs/3.5.5/process_bytecode.js.html Thu Jan 19 02:09:37 2023
@@ -0,0 +1,175 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title>JSDoc: Source: process/bytecode.js</title>
+
+ <script src="scripts/prettify/prettify.js"> </script>
+ <script src="scripts/prettify/lang-css.js"> </script>
+ <!--[if lt IE 9]>
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+ <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
+ <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
+</head>
+
+<body>
+
+<div id="main">
+
+ <h1 class="page-title">Source: process/bytecode.js</h1>
+
+
+
+
+
+
+ <section>
+ <article>
+ <pre class="prettyprint source linenums"><code>/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @author Jorge Bay Gondra
+ */
+'use strict';
+
+const { Traversal } = require('./traversal');
+
+class Bytecode {
+ /**
+ * Creates a new instance of Bytecode
+ * @param {Bytecode} [toClone]
+ */
+ constructor(toClone) {
+ if (!toClone) {
+ this.sourceInstructions = [];
+ this.stepInstructions = [];
+ } else {
+ this.sourceInstructions = [...toClone.sourceInstructions];
+ this.stepInstructions = [...toClone.stepInstructions];
+ }
+ }
+
+ /**
+ * Adds a new source instructions
+ * @param {String} name
+ * @param {Array} values
+ * @returns {Bytecode}
+ */
+ addSource(name, values) {
+ if (name === undefined) {
+ throw new Error('Name is not defined');
+ }
+ const instruction = new Array(values.length + 1);
+ instruction[0] = name;
+ for (let i = 0; i < values.length; ++i) {
+ instruction[i + 1] = values[i];
+ }
+ this.sourceInstructions.push(Bytecode._generateInstruction(name, values));
+ return this;
+ }
+
+ /**
+ * Adds a new step instructions
+ * @param {String} name
+ * @param {Array} values
+ * @returns {Bytecode}
+ */
+ addStep(name, values) {
+ if (name === undefined) {
+ throw new Error('Name is not defined');
+ }
+ this.stepInstructions.push(Bytecode._generateInstruction(name, values));
+ return this;
+ }
+
+ static _generateInstruction(name, values) {
+ const length = (values ? values.length : 0) + 1;
+ const instruction = new Array(length);
+ instruction[0] = name;
+ for (let i = 1; i < length; i++) {
+ const val = values[i - 1];
+ if (val instanceof Traversal && val.graph != null) {
+ throw new Error(
+ `The child traversal of ${val} was not spawned anonymously - use ` +
+ 'the __ class rather than a TraversalSource to construct the child traversal',
+ );
+ }
+ instruction[i] = val;
+ }
+ return instruction;
+ }
+
+ /**
+ * Returns the JSON representation of the source and step instructions
+ * @returns {String}
+ */
+ toString() {
+ return JSON.stringify([this.sourceInstructions, this.stepInstructions]);
+ }
+
+ /**
+ * Adds a new source instructions
+ * @param {String} name
+ * @param {Array} values
+ * @returns {Bytecode}
+ */
+ static _createGraphOp(name, values) {
+ const bc = new Bytecode();
+ bc.addSource(name, values);
+ return bc;
+ }
+
+ /**
+ * Gets the <code>Bytecode</code> that is meant to be sent as "graph operations" to the server.
+ * @returns {{rollback: Bytecode, commit: Bytecode}}
+ */
+ static get GraphOp() {
+ return {
+ commit: Bytecode._createGraphOp('tx', ['commit']),
+ rollback: Bytecode._createGraphOp('tx', ['rollback']),
+ };
+ }
+}
+
+module.exports = Bytecode;
+</code></pre>
+ </article>
+ </section>
+
+
+
+
+</div>
+
+<nav>
+ <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="AnonymousTraversalSource.html">AnonymousTraversalSource</a></li><li><a href="Authenticator.html">Authenticator</a></li><li><a href="Bytecode.html">Bytecode</a></li><li><a href="Client.html">Client</a></li><li><a href="Connection.html">Connection</a></li><li><a href="DriverRemoteConnection.html">DriverRemoteConnection</a></li><li><a href="EdgeLabelVerificationStrategy.html">EdgeLabelVerificationStrategy</a></li><li><a href="Graph.html">Graph</a></li><li><a href="GraphSON2Reader.html">GraphSON2Reader</a></li><li><a href="GraphSON2Writer.html">GraphSON2Writer</a></li><li><a href="GraphSON3Reader.html">GraphSON3Reader</a></li><li><a href="GraphSON3Writer.html">GraphSON3Writer</a></li><li><a href="GraphTraversal.html">GraphTraversal</a></li><li><a href="GraphTraversalSource.html">GraphTraversalSource</a></li><li><a href="HaltedTraverserStrategy.html">HaltedTraverserStrategy</a></li><li><a href="MatchAlgorithmStrat
egy.html">MatchAlgorithmStrategy</a></li><li><a href="module.exports.html">exports</a></li><li><a href="P.html">P</a></li><li><a href="PartitionStrategy.html">PartitionStrategy</a></li><li><a href="Path.html">Path</a></li><li><a href="PlainTextSaslAuthenticator.html">PlainTextSaslAuthenticator</a></li><li><a href="ProductiveByStrategy.html">ProductiveByStrategy</a></li><li><a href="RemoteConnection.html">RemoteConnection</a></li><li><a href="RemoteStrategy.html">RemoteStrategy</a></li><li><a href="RemoteTraversal.html">RemoteTraversal</a></li><li><a href="ReservedKeysVerificationStrategy.html">ReservedKeysVerificationStrategy</a></li><li><a href="ResponseError.html">ResponseError</a></li><li><a href="ResultSet.html">ResultSet</a></li><li><a href="SaslAuthenticator.html">SaslAuthenticator</a></li><li><a href="SaslMechanismBase.html">SaslMechanismBase</a></li><li><a href="SaslMechanismPlain.html">SaslMechanismPlain</a></li><li><a href="SubgraphStrategy.html">SubgraphStrategy</a></li><
li><a href="TextP.html">TextP</a></li><li><a href="Transaction.html">Transaction</a></li><li><a href="Translator.html">Translator</a></li><li><a href="TraversalStrategies.html">TraversalStrategies</a></li><li><a href="TraversalStrategy.html">TraversalStrategy</a></li><li><a href="TypeSerializer.html">TypeSerializer</a></li></ul><h3>Global</h3><ul><li><a href="global.html#DataType">DataType</a></li><li><a href="global.html#statics">statics</a></li></ul>
+</nav>
+
+<br class="clear">
+
+<footer>
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Wed Jan 18 2023 17:10:25 GMT-0800 (Pacific Standard Time)
+</footer>
+
+<script> prettyPrint(); </script>
+<script src="scripts/linenumber.js"> </script>
+</body>
+</html>
Added: tinkerpop/site/jsdocs/3.5.5/process_graph-traversal.js.html
URL: http://svn.apache.org/viewvc/tinkerpop/site/jsdocs/3.5.5/process_graph-traversal.js.html?rev=1906787&view=auto
==============================================================================
--- tinkerpop/site/jsdocs/3.5.5/process_graph-traversal.js.html (added)
+++ tinkerpop/site/jsdocs/3.5.5/process_graph-traversal.js.html Thu Jan 19 02:09:37 2023
@@ -0,0 +1,1503 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title>JSDoc: Source: process/graph-traversal.js</title>
+
+ <script src="scripts/prettify/prettify.js"> </script>
+ <script src="scripts/prettify/lang-css.js"> </script>
+ <!--[if lt IE 9]>
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+ <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
+ <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
+</head>
+
+<body>
+
+<div id="main">
+
+ <h1 class="page-title">Source: process/graph-traversal.js</h1>
+
+
+
+
+
+
+ <section>
+ <article>
+ <pre class="prettyprint source linenums"><code>/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @author Jorge Bay Gondra
+ */
+'use strict';
+
+const { Traversal } = require('./traversal');
+const { Transaction } = require('./transaction');
+const remote = require('../driver/remote-connection');
+const Bytecode = require('./bytecode');
+const { TraversalStrategies, VertexProgramStrategy, OptionsStrategy } = require('./traversal-strategy');
+
+/**
+ * Represents the primary DSL of the Gremlin traversal machine.
+ */
+class GraphTraversalSource {
+ /**
+ * Creates a new instance of {@link GraphTraversalSource}.
+ * @param {Graph} graph
+ * @param {TraversalStrategies} traversalStrategies
+ * @param {Bytecode} [bytecode]
+ * @param {Function} [graphTraversalSourceClass] Optional {@link GraphTraversalSource} constructor.
+ * @param {Function} [graphTraversalClass] Optional {@link GraphTraversal} constructor.
+ */
+ constructor(graph, traversalStrategies, bytecode, graphTraversalSourceClass, graphTraversalClass) {
+ this.graph = graph;
+ this.traversalStrategies = traversalStrategies;
+ this.bytecode = bytecode || new Bytecode();
+ this.graphTraversalSourceClass = graphTraversalSourceClass || GraphTraversalSource;
+ this.graphTraversalClass = graphTraversalClass || GraphTraversal;
+
+ // in order to keep the constructor unchanged within 3.5.x we can try to pop the RemoteConnection out of the
+ // TraversalStrategies. keeping this unchanged will allow user DSLs to not take a break.
+ // TODO: refactor this to be nicer in 3.6.0 when we can take a breaking change
+ const strat = traversalStrategies.strategies.find((ts) => ts.fqcn === 'js:RemoteStrategy');
+ this.remoteConnection = strat !== undefined ? strat.connection : undefined;
+ }
+
+ /**
+ * @param {RemoteConnection} remoteConnection
+ * @returns {GraphTraversalSource}
+ */
+ withRemote(remoteConnection) {
+ const traversalStrategy = new TraversalStrategies(this.traversalStrategies);
+ traversalStrategy.addStrategy(new remote.RemoteStrategy(remoteConnection));
+ return new this.graphTraversalSourceClass(
+ this.graph,
+ traversalStrategy,
+ new Bytecode(this.bytecode),
+ this.graphTraversalSourceClass,
+ this.graphTraversalClass,
+ );
+ }
+
+ /**
+ * Spawn a new <code>Transaction</code> object that can then start and stop a transaction.
+ * @returns {Transaction}
+ */
+ tx() {
+ // you can't do g.tx().begin().tx() - no child transactions
+ if (this.remoteConnection && this.remoteConnection.isSessionBound) {
+ throw new Error('This TraversalSource is already bound to a transaction - child transactions are not supported');
+ }
+
+ return new Transaction(this);
+ }
+
+ /**
+ * @param graphComputer
+ * @param workers
+ * @param result
+ * @param persist
+ * @param vertices
+ * @param edges
+ * @param configuration
+ * @returns {GraphTraversalSource}
+ */
+ withComputer(graphComputer, workers, result, persist, vertices, edges, configuration) {
+ return this.withStrategies(
+ new VertexProgramStrategy({
+ graphComputer: graphComputer,
+ workers: workers,
+ result: result,
+ persist: persist,
+ vertices: vertices,
+ edges: edges,
+ configuration: configuration,
+ }),
+ );
+ }
+
+ /**
+ * Graph Traversal Source with method.
+ * @param {String} key
+ * @param {Object} value if not specified, the value with default to {@code true}
+ * @returns {GraphTraversalSource}
+ */
+ with_(key, value = undefined) {
+ const val = value === undefined ? true : value;
+ let optionsStrategy = this.bytecode.sourceInstructions.find(
+ (i) => i[0] === 'withStrategies' && i[1] instanceof OptionsStrategy,
+ );
+ if (optionsStrategy === undefined) {
+ optionsStrategy = new OptionsStrategy({ [key]: val });
+ return this.withStrategies(optionsStrategy);
+ }
+ optionsStrategy[1].configuration[key] = val;
+ return new this.graphTraversalSourceClass(
+ this.graph,
+ new TraversalStrategies(this.traversalStrategies),
+ this.bytecode,
+ this.graphTraversalSourceClass,
+ this.graphTraversalClass,
+ );
+ }
+
+ /**
+ * Returns the string representation of the GraphTraversalSource.
+ * @returns {string}
+ */
+ toString() {
+ return 'graphtraversalsource[' + this.graph.toString() + ']';
+ }
+
+ /**
+ * Graph Traversal Source withBulk method.
+ * @param {...Object} args
+ * @returns {GraphTraversalSource}
+ */
+ withBulk(...args) {
+ const b = new Bytecode(this.bytecode).addSource('withBulk', args);
+ return new this.graphTraversalSourceClass(
+ this.graph,
+ new TraversalStrategies(this.traversalStrategies),
+ b,
+ this.graphTraversalSourceClass,
+ this.graphTraversalClass,
+ );
+ }
+
+ /**
+ * Graph Traversal Source withPath method.
+ * @param {...Object} args
+ * @returns {GraphTraversalSource}
+ */
+ withPath(...args) {
+ const b = new Bytecode(this.bytecode).addSource('withPath', args);
+ return new this.graphTraversalSourceClass(
+ this.graph,
+ new TraversalStrategies(this.traversalStrategies),
+ b,
+ this.graphTraversalSourceClass,
+ this.graphTraversalClass,
+ );
+ }
+
+ /**
+ * Graph Traversal Source withSack method.
+ * @param {...Object} args
+ * @returns {GraphTraversalSource}
+ */
+ withSack(...args) {
+ const b = new Bytecode(this.bytecode).addSource('withSack', args);
+ return new this.graphTraversalSourceClass(
+ this.graph,
+ new TraversalStrategies(this.traversalStrategies),
+ b,
+ this.graphTraversalSourceClass,
+ this.graphTraversalClass,
+ );
+ }
+
+ /**
+ * Graph Traversal Source withSideEffect method.
+ * @param {...Object} args
+ * @returns {GraphTraversalSource}
+ */
+ withSideEffect(...args) {
+ const b = new Bytecode(this.bytecode).addSource('withSideEffect', args);
+ return new this.graphTraversalSourceClass(
+ this.graph,
+ new TraversalStrategies(this.traversalStrategies),
+ b,
+ this.graphTraversalSourceClass,
+ this.graphTraversalClass,
+ );
+ }
+
+ /**
+ * Graph Traversal Source withStrategies method.
+ * @param {...Object} args
+ * @returns {GraphTraversalSource}
+ */
+ withStrategies(...args) {
+ const b = new Bytecode(this.bytecode).addSource('withStrategies', args);
+ return new this.graphTraversalSourceClass(
+ this.graph,
+ new TraversalStrategies(this.traversalStrategies),
+ b,
+ this.graphTraversalSourceClass,
+ this.graphTraversalClass,
+ );
+ }
+
+ /**
+ * Graph Traversal Source withoutStrategies method.
+ * @param {...Object} args
+ * @returns {GraphTraversalSource}
+ */
+ withoutStrategies(...args) {
+ const b = new Bytecode(this.bytecode).addSource('withoutStrategies', args);
+ return new this.graphTraversalSourceClass(
+ this.graph,
+ new TraversalStrategies(this.traversalStrategies),
+ b,
+ this.graphTraversalSourceClass,
+ this.graphTraversalClass,
+ );
+ }
+
+ /**
+ * E GraphTraversalSource step method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ E(...args) {
+ const b = new Bytecode(this.bytecode).addStep('E', args);
+ return new this.graphTraversalClass(this.graph, new TraversalStrategies(this.traversalStrategies), b);
+ }
+
+ /**
+ * V GraphTraversalSource step method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ V(...args) {
+ const b = new Bytecode(this.bytecode).addStep('V', args);
+ return new this.graphTraversalClass(this.graph, new TraversalStrategies(this.traversalStrategies), b);
+ }
+
+ /**
+ * addE GraphTraversalSource step method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ addE(...args) {
+ const b = new Bytecode(this.bytecode).addStep('addE', args);
+ return new this.graphTraversalClass(this.graph, new TraversalStrategies(this.traversalStrategies), b);
+ }
+
+ /**
+ * addV GraphTraversalSource step method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ addV(...args) {
+ const b = new Bytecode(this.bytecode).addStep('addV', args);
+ return new this.graphTraversalClass(this.graph, new TraversalStrategies(this.traversalStrategies), b);
+ }
+
+ /**
+ * inject GraphTraversalSource step method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ inject(...args) {
+ const b = new Bytecode(this.bytecode).addStep('inject', args);
+ return new this.graphTraversalClass(this.graph, new TraversalStrategies(this.traversalStrategies), b);
+ }
+
+ /**
+ * io GraphTraversalSource step method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ io(...args) {
+ const b = new Bytecode(this.bytecode).addStep('io', args);
+ return new this.graphTraversalClass(this.graph, new TraversalStrategies(this.traversalStrategies), b);
+ }
+}
+
+/**
+ * Represents a graph traversal.
+ */
+class GraphTraversal extends Traversal {
+ constructor(graph, traversalStrategies, bytecode) {
+ super(graph, traversalStrategies, bytecode);
+ }
+
+ /**
+ * Copy a traversal so as to reset and re-use it.
+ */
+ clone() {
+ return new GraphTraversal(this.graph, this.traversalStrategies, this.getBytecode());
+ }
+
+ /**
+ * Graph traversal V method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ V(...args) {
+ this.bytecode.addStep('V', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal addE method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ addE(...args) {
+ this.bytecode.addStep('addE', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal addV method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ addV(...args) {
+ this.bytecode.addStep('addV', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal aggregate method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ aggregate(...args) {
+ this.bytecode.addStep('aggregate', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal and method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ and(...args) {
+ this.bytecode.addStep('and', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal as method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ as(...args) {
+ this.bytecode.addStep('as', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal barrier method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ barrier(...args) {
+ this.bytecode.addStep('barrier', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal both method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ both(...args) {
+ this.bytecode.addStep('both', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal bothE method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ bothE(...args) {
+ this.bytecode.addStep('bothE', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal bothV method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ bothV(...args) {
+ this.bytecode.addStep('bothV', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal branch method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ branch(...args) {
+ this.bytecode.addStep('branch', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal by method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ by(...args) {
+ this.bytecode.addStep('by', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal cap method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ cap(...args) {
+ this.bytecode.addStep('cap', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal choose method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ choose(...args) {
+ this.bytecode.addStep('choose', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal coalesce method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ coalesce(...args) {
+ this.bytecode.addStep('coalesce', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal coin method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ coin(...args) {
+ this.bytecode.addStep('coin', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal connectedComponent method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ connectedComponent(...args) {
+ this.bytecode.addStep('connectedComponent', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal constant method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ constant(...args) {
+ this.bytecode.addStep('constant', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal count method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ count(...args) {
+ this.bytecode.addStep('count', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal cyclicPath method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ cyclicPath(...args) {
+ this.bytecode.addStep('cyclicPath', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal dedup method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ dedup(...args) {
+ this.bytecode.addStep('dedup', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal drop method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ drop(...args) {
+ this.bytecode.addStep('drop', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal elementMap method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ elementMap(...args) {
+ this.bytecode.addStep('elementMap', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal emit method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ emit(...args) {
+ this.bytecode.addStep('emit', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal filter method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ filter(...args) {
+ this.bytecode.addStep('filter', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal flatMap method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ flatMap(...args) {
+ this.bytecode.addStep('flatMap', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal fold method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ fold(...args) {
+ this.bytecode.addStep('fold', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal from method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ from_(...args) {
+ this.bytecode.addStep('from', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal group method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ group(...args) {
+ this.bytecode.addStep('group', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal groupCount method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ groupCount(...args) {
+ this.bytecode.addStep('groupCount', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal has method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ has(...args) {
+ this.bytecode.addStep('has', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal hasId method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ hasId(...args) {
+ this.bytecode.addStep('hasId', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal hasKey method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ hasKey(...args) {
+ this.bytecode.addStep('hasKey', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal hasLabel method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ hasLabel(...args) {
+ this.bytecode.addStep('hasLabel', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal hasNot method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ hasNot(...args) {
+ this.bytecode.addStep('hasNot', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal hasValue method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ hasValue(...args) {
+ this.bytecode.addStep('hasValue', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal id method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ id(...args) {
+ this.bytecode.addStep('id', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal identity method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ identity(...args) {
+ this.bytecode.addStep('identity', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal in method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ in_(...args) {
+ this.bytecode.addStep('in', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal inE method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ inE(...args) {
+ this.bytecode.addStep('inE', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal inV method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ inV(...args) {
+ this.bytecode.addStep('inV', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal index method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ index(...args) {
+ this.bytecode.addStep('index', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal inject method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ inject(...args) {
+ this.bytecode.addStep('inject', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal is method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ is(...args) {
+ this.bytecode.addStep('is', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal key method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ key(...args) {
+ this.bytecode.addStep('key', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal label method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ label(...args) {
+ this.bytecode.addStep('label', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal limit method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ limit(...args) {
+ this.bytecode.addStep('limit', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal local method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ local(...args) {
+ this.bytecode.addStep('local', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal loops method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ loops(...args) {
+ this.bytecode.addStep('loops', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal map method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ map(...args) {
+ this.bytecode.addStep('map', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal match method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ match(...args) {
+ this.bytecode.addStep('match', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal math method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ math(...args) {
+ this.bytecode.addStep('math', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal max method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ max(...args) {
+ this.bytecode.addStep('max', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal mean method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ mean(...args) {
+ this.bytecode.addStep('mean', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal min method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ min(...args) {
+ this.bytecode.addStep('min', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal none method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ none(...args) {
+ this.bytecode.addStep('none', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal not method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ not(...args) {
+ this.bytecode.addStep('not', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal option method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ option(...args) {
+ this.bytecode.addStep('option', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal optional method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ optional(...args) {
+ this.bytecode.addStep('optional', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal or method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ or(...args) {
+ this.bytecode.addStep('or', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal order method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ order(...args) {
+ this.bytecode.addStep('order', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal otherV method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ otherV(...args) {
+ this.bytecode.addStep('otherV', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal out method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ out(...args) {
+ this.bytecode.addStep('out', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal outE method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ outE(...args) {
+ this.bytecode.addStep('outE', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal outV method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ outV(...args) {
+ this.bytecode.addStep('outV', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal pageRank method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ pageRank(...args) {
+ this.bytecode.addStep('pageRank', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal path method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ path(...args) {
+ this.bytecode.addStep('path', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal peerPressure method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ peerPressure(...args) {
+ this.bytecode.addStep('peerPressure', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal profile method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ profile(...args) {
+ this.bytecode.addStep('profile', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal program method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ program(...args) {
+ this.bytecode.addStep('program', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal project method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ project(...args) {
+ this.bytecode.addStep('project', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal properties method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ properties(...args) {
+ this.bytecode.addStep('properties', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal property method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ property(...args) {
+ this.bytecode.addStep('property', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal propertyMap method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ propertyMap(...args) {
+ this.bytecode.addStep('propertyMap', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal range method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ range(...args) {
+ this.bytecode.addStep('range', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal read method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ read(...args) {
+ this.bytecode.addStep('read', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal repeat method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ repeat(...args) {
+ this.bytecode.addStep('repeat', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal sack method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ sack(...args) {
+ this.bytecode.addStep('sack', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal sample method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ sample(...args) {
+ this.bytecode.addStep('sample', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal select method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ select(...args) {
+ this.bytecode.addStep('select', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal shortestPath method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ shortestPath(...args) {
+ this.bytecode.addStep('shortestPath', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal sideEffect method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ sideEffect(...args) {
+ this.bytecode.addStep('sideEffect', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal simplePath method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ simplePath(...args) {
+ this.bytecode.addStep('simplePath', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal skip method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ skip(...args) {
+ this.bytecode.addStep('skip', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal store method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ store(...args) {
+ this.bytecode.addStep('store', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal subgraph method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ subgraph(...args) {
+ this.bytecode.addStep('subgraph', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal sum method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ sum(...args) {
+ this.bytecode.addStep('sum', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal tail method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ tail(...args) {
+ this.bytecode.addStep('tail', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal timeLimit method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ timeLimit(...args) {
+ this.bytecode.addStep('timeLimit', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal times method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ times(...args) {
+ this.bytecode.addStep('times', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal to method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ to(...args) {
+ this.bytecode.addStep('to', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal toE method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ toE(...args) {
+ this.bytecode.addStep('toE', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal toV method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ toV(...args) {
+ this.bytecode.addStep('toV', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal tree method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ tree(...args) {
+ this.bytecode.addStep('tree', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal unfold method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ unfold(...args) {
+ this.bytecode.addStep('unfold', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal union method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ union(...args) {
+ this.bytecode.addStep('union', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal until method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ until(...args) {
+ this.bytecode.addStep('until', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal value method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ value(...args) {
+ this.bytecode.addStep('value', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal valueMap method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ valueMap(...args) {
+ this.bytecode.addStep('valueMap', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal values method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ values(...args) {
+ this.bytecode.addStep('values', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal where method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ where(...args) {
+ this.bytecode.addStep('where', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal with method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ with_(...args) {
+ this.bytecode.addStep('with', args);
+ return this;
+ }
+
+ /**
+ * Graph traversal write method.
+ * @param {...Object} args
+ * @returns {GraphTraversal}
+ */
+ write(...args) {
+ this.bytecode.addStep('write', args);
+ return this;
+ }
+}
+
+function callOnEmptyTraversal(fnName, args) {
+ const g = new GraphTraversal(null, null, new Bytecode());
+ return g[fnName].apply(g, args);
+}
+
+/**
+ * Contains the static method definitions
+ * @type {Object}
+ */
+const statics = {
+ V: (...args) => callOnEmptyTraversal('V', args),
+ addE: (...args) => callOnEmptyTraversal('addE', args),
+ addV: (...args) => callOnEmptyTraversal('addV', args),
+ aggregate: (...args) => callOnEmptyTraversal('aggregate', args),
+ and: (...args) => callOnEmptyTraversal('and', args),
+ as: (...args) => callOnEmptyTraversal('as', args),
+ barrier: (...args) => callOnEmptyTraversal('barrier', args),
+ both: (...args) => callOnEmptyTraversal('both', args),
+ bothE: (...args) => callOnEmptyTraversal('bothE', args),
+ bothV: (...args) => callOnEmptyTraversal('bothV', args),
+ branch: (...args) => callOnEmptyTraversal('branch', args),
+ cap: (...args) => callOnEmptyTraversal('cap', args),
+ choose: (...args) => callOnEmptyTraversal('choose', args),
+ coalesce: (...args) => callOnEmptyTraversal('coalesce', args),
+ coin: (...args) => callOnEmptyTraversal('coin', args),
+ constant: (...args) => callOnEmptyTraversal('constant', args),
+ count: (...args) => callOnEmptyTraversal('count', args),
+ cyclicPath: (...args) => callOnEmptyTraversal('cyclicPath', args),
+ dedup: (...args) => callOnEmptyTraversal('dedup', args),
+ drop: (...args) => callOnEmptyTraversal('drop', args),
+ elementMap: (...args) => callOnEmptyTraversal('elementMap', args),
+ emit: (...args) => callOnEmptyTraversal('emit', args),
+ filter: (...args) => callOnEmptyTraversal('filter', args),
+ flatMap: (...args) => callOnEmptyTraversal('flatMap', args),
+ fold: (...args) => callOnEmptyTraversal('fold', args),
+ group: (...args) => callOnEmptyTraversal('group', args),
+ groupCount: (...args) => callOnEmptyTraversal('groupCount', args),
+ has: (...args) => callOnEmptyTraversal('has', args),
+ hasId: (...args) => callOnEmptyTraversal('hasId', args),
+ hasKey: (...args) => callOnEmptyTraversal('hasKey', args),
+ hasLabel: (...args) => callOnEmptyTraversal('hasLabel', args),
+ hasNot: (...args) => callOnEmptyTraversal('hasNot', args),
+ hasValue: (...args) => callOnEmptyTraversal('hasValue', args),
+ id: (...args) => callOnEmptyTraversal('id', args),
+ identity: (...args) => callOnEmptyTraversal('identity', args),
+ in_: (...args) => callOnEmptyTraversal('in_', args),
+ inE: (...args) => callOnEmptyTraversal('inE', args),
+ inV: (...args) => callOnEmptyTraversal('inV', args),
+ index: (...args) => callOnEmptyTraversal('index', args),
+ inject: (...args) => callOnEmptyTraversal('inject', args),
+ is: (...args) => callOnEmptyTraversal('is', args),
+ key: (...args) => callOnEmptyTraversal('key', args),
+ label: (...args) => callOnEmptyTraversal('label', args),
+ limit: (...args) => callOnEmptyTraversal('limit', args),
+ local: (...args) => callOnEmptyTraversal('local', args),
+ loops: (...args) => callOnEmptyTraversal('loops', args),
+ map: (...args) => callOnEmptyTraversal('map', args),
+ match: (...args) => callOnEmptyTraversal('match', args),
+ math: (...args) => callOnEmptyTraversal('math', args),
+ max: (...args) => callOnEmptyTraversal('max', args),
+ mean: (...args) => callOnEmptyTraversal('mean', args),
+ min: (...args) => callOnEmptyTraversal('min', args),
+ not: (...args) => callOnEmptyTraversal('not', args),
+ optional: (...args) => callOnEmptyTraversal('optional', args),
+ or: (...args) => callOnEmptyTraversal('or', args),
+ order: (...args) => callOnEmptyTraversal('order', args),
+ otherV: (...args) => callOnEmptyTraversal('otherV', args),
+ out: (...args) => callOnEmptyTraversal('out', args),
+ outE: (...args) => callOnEmptyTraversal('outE', args),
+ outV: (...args) => callOnEmptyTraversal('outV', args),
+ path: (...args) => callOnEmptyTraversal('path', args),
+ project: (...args) => callOnEmptyTraversal('project', args),
+ properties: (...args) => callOnEmptyTraversal('properties', args),
+ property: (...args) => callOnEmptyTraversal('property', args),
+ propertyMap: (...args) => callOnEmptyTraversal('propertyMap', args),
+ range: (...args) => callOnEmptyTraversal('range', args),
+ repeat: (...args) => callOnEmptyTraversal('repeat', args),
+ sack: (...args) => callOnEmptyTraversal('sack', args),
+ sample: (...args) => callOnEmptyTraversal('sample', args),
+ select: (...args) => callOnEmptyTraversal('select', args),
+ sideEffect: (...args) => callOnEmptyTraversal('sideEffect', args),
+ simplePath: (...args) => callOnEmptyTraversal('simplePath', args),
+ skip: (...args) => callOnEmptyTraversal('skip', args),
+ store: (...args) => callOnEmptyTraversal('store', args),
+ subgraph: (...args) => callOnEmptyTraversal('subgraph', args),
+ sum: (...args) => callOnEmptyTraversal('sum', args),
+ tail: (...args) => callOnEmptyTraversal('tail', args),
+ timeLimit: (...args) => callOnEmptyTraversal('timeLimit', args),
+ times: (...args) => callOnEmptyTraversal('times', args),
+ to: (...args) => callOnEmptyTraversal('to', args),
+ toE: (...args) => callOnEmptyTraversal('toE', args),
+ toV: (...args) => callOnEmptyTraversal('toV', args),
+ tree: (...args) => callOnEmptyTraversal('tree', args),
+ unfold: (...args) => callOnEmptyTraversal('unfold', args),
+ union: (...args) => callOnEmptyTraversal('union', args),
+ until: (...args) => callOnEmptyTraversal('until', args),
+ value: (...args) => callOnEmptyTraversal('value', args),
+ valueMap: (...args) => callOnEmptyTraversal('valueMap', args),
+ values: (...args) => callOnEmptyTraversal('values', args),
+ where: (...args) => callOnEmptyTraversal('where', args),
+};
+
+module.exports = {
+ GraphTraversal,
+ GraphTraversalSource,
+ statics,
+};
+</code></pre>
+ </article>
+ </section>
+
+
+
+
+</div>
+
+<nav>
+ <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="AnonymousTraversalSource.html">AnonymousTraversalSource</a></li><li><a href="Authenticator.html">Authenticator</a></li><li><a href="Bytecode.html">Bytecode</a></li><li><a href="Client.html">Client</a></li><li><a href="Connection.html">Connection</a></li><li><a href="DriverRemoteConnection.html">DriverRemoteConnection</a></li><li><a href="EdgeLabelVerificationStrategy.html">EdgeLabelVerificationStrategy</a></li><li><a href="Graph.html">Graph</a></li><li><a href="GraphSON2Reader.html">GraphSON2Reader</a></li><li><a href="GraphSON2Writer.html">GraphSON2Writer</a></li><li><a href="GraphSON3Reader.html">GraphSON3Reader</a></li><li><a href="GraphSON3Writer.html">GraphSON3Writer</a></li><li><a href="GraphTraversal.html">GraphTraversal</a></li><li><a href="GraphTraversalSource.html">GraphTraversalSource</a></li><li><a href="HaltedTraverserStrategy.html">HaltedTraverserStrategy</a></li><li><a href="MatchAlgorithmStrat
egy.html">MatchAlgorithmStrategy</a></li><li><a href="module.exports.html">exports</a></li><li><a href="P.html">P</a></li><li><a href="PartitionStrategy.html">PartitionStrategy</a></li><li><a href="Path.html">Path</a></li><li><a href="PlainTextSaslAuthenticator.html">PlainTextSaslAuthenticator</a></li><li><a href="ProductiveByStrategy.html">ProductiveByStrategy</a></li><li><a href="RemoteConnection.html">RemoteConnection</a></li><li><a href="RemoteStrategy.html">RemoteStrategy</a></li><li><a href="RemoteTraversal.html">RemoteTraversal</a></li><li><a href="ReservedKeysVerificationStrategy.html">ReservedKeysVerificationStrategy</a></li><li><a href="ResponseError.html">ResponseError</a></li><li><a href="ResultSet.html">ResultSet</a></li><li><a href="SaslAuthenticator.html">SaslAuthenticator</a></li><li><a href="SaslMechanismBase.html">SaslMechanismBase</a></li><li><a href="SaslMechanismPlain.html">SaslMechanismPlain</a></li><li><a href="SubgraphStrategy.html">SubgraphStrategy</a></li><
li><a href="TextP.html">TextP</a></li><li><a href="Transaction.html">Transaction</a></li><li><a href="Translator.html">Translator</a></li><li><a href="TraversalStrategies.html">TraversalStrategies</a></li><li><a href="TraversalStrategy.html">TraversalStrategy</a></li><li><a href="TypeSerializer.html">TypeSerializer</a></li></ul><h3>Global</h3><ul><li><a href="global.html#DataType">DataType</a></li><li><a href="global.html#statics">statics</a></li></ul>
+</nav>
+
+<br class="clear">
+
+<footer>
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Wed Jan 18 2023 17:10:25 GMT-0800 (Pacific Standard Time)
+</footer>
+
+<script> prettyPrint(); </script>
+<script src="scripts/linenumber.js"> </script>
+</body>
+</html>
Added: tinkerpop/site/jsdocs/3.5.5/process_transaction.js.html
URL: http://svn.apache.org/viewvc/tinkerpop/site/jsdocs/3.5.5/process_transaction.js.html?rev=1906787&view=auto
==============================================================================
--- tinkerpop/site/jsdocs/3.5.5/process_transaction.js.html (added)
+++ tinkerpop/site/jsdocs/3.5.5/process_transaction.js.html Thu Jan 19 02:09:37 2023
@@ -0,0 +1,143 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title>JSDoc: Source: process/transaction.js</title>
+
+ <script src="scripts/prettify/prettify.js"> </script>
+ <script src="scripts/prettify/lang-css.js"> </script>
+ <!--[if lt IE 9]>
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+ <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
+ <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
+</head>
+
+<body>
+
+<div id="main">
+
+ <h1 class="page-title">Source: process/transaction.js</h1>
+
+
+
+
+
+
+ <section>
+ <article>
+ <pre class="prettyprint source linenums"><code>/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+'use strict';
+
+const remote = require('../driver/remote-connection');
+const Bytecode = require('./bytecode');
+const { TraversalStrategies } = require('./traversal-strategy');
+
+/**
+ * A controller for a remote transaction that is constructed from <code>g.tx()</code>. Calling <code>begin()</code>
+ * on this object will produce a new <code>GraphTraversalSource</code> that is bound to a remote transaction over which
+ * multiple traversals may be executed in that context. Calling <code>commit()</code> or <code>rollback()</code> will
+ * then close the transaction and thus, the session. This feature only works with transaction enabled graphs.
+ */
+class Transaction {
+ constructor(g) {
+ this._g = g;
+ this._sessionBasedConnection = undefined;
+ }
+
+ /**
+ * Spawns a <code>GraphTraversalSource</code> that is bound to a remote session which enables a transaction.
+ * @returns {*}
+ */
+ begin() {
+ if (this._sessionBasedConnection) {
+ throw new Error('Transaction already started on this object');
+ }
+
+ this._sessionBasedConnection = this._g.remoteConnection.createSession();
+ const traversalStrategy = new TraversalStrategies();
+ traversalStrategy.addStrategy(new remote.RemoteStrategy(this._sessionBasedConnection));
+ return new this._g.graphTraversalSourceClass(
+ this._g.graph,
+ traversalStrategy,
+ new Bytecode(this._g.bytecode),
+ this._g.graphTraversalSourceClass,
+ this._g.graphTraversalClass,
+ );
+ }
+
+ /**
+ * @returns {Promise}
+ */
+ commit() {
+ return this._sessionBasedConnection.commit().then(() => this.close());
+ }
+
+ /**
+ * @returns {Promise}
+ */
+ rollback() {
+ return this._sessionBasedConnection.rollback().then(() => this.close());
+ }
+
+ /**
+ * Returns true if transaction is open.
+ * @returns {Boolean}
+ */
+ get isOpen() {
+ return this._sessionBasedConnection.isOpen;
+ }
+
+ /**
+ * @returns {Promise}
+ */
+ close() {
+ if (this._sessionBasedConnection) {
+ this._sessionBasedConnection.close();
+ }
+ }
+}
+
+module.exports = {
+ Transaction,
+};
+</code></pre>
+ </article>
+ </section>
+
+
+
+
+</div>
+
+<nav>
+ <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="AnonymousTraversalSource.html">AnonymousTraversalSource</a></li><li><a href="Authenticator.html">Authenticator</a></li><li><a href="Bytecode.html">Bytecode</a></li><li><a href="Client.html">Client</a></li><li><a href="Connection.html">Connection</a></li><li><a href="DriverRemoteConnection.html">DriverRemoteConnection</a></li><li><a href="EdgeLabelVerificationStrategy.html">EdgeLabelVerificationStrategy</a></li><li><a href="Graph.html">Graph</a></li><li><a href="GraphSON2Reader.html">GraphSON2Reader</a></li><li><a href="GraphSON2Writer.html">GraphSON2Writer</a></li><li><a href="GraphSON3Reader.html">GraphSON3Reader</a></li><li><a href="GraphSON3Writer.html">GraphSON3Writer</a></li><li><a href="GraphTraversal.html">GraphTraversal</a></li><li><a href="GraphTraversalSource.html">GraphTraversalSource</a></li><li><a href="HaltedTraverserStrategy.html">HaltedTraverserStrategy</a></li><li><a href="MatchAlgorithmStrat
egy.html">MatchAlgorithmStrategy</a></li><li><a href="module.exports.html">exports</a></li><li><a href="P.html">P</a></li><li><a href="PartitionStrategy.html">PartitionStrategy</a></li><li><a href="Path.html">Path</a></li><li><a href="PlainTextSaslAuthenticator.html">PlainTextSaslAuthenticator</a></li><li><a href="ProductiveByStrategy.html">ProductiveByStrategy</a></li><li><a href="RemoteConnection.html">RemoteConnection</a></li><li><a href="RemoteStrategy.html">RemoteStrategy</a></li><li><a href="RemoteTraversal.html">RemoteTraversal</a></li><li><a href="ReservedKeysVerificationStrategy.html">ReservedKeysVerificationStrategy</a></li><li><a href="ResponseError.html">ResponseError</a></li><li><a href="ResultSet.html">ResultSet</a></li><li><a href="SaslAuthenticator.html">SaslAuthenticator</a></li><li><a href="SaslMechanismBase.html">SaslMechanismBase</a></li><li><a href="SaslMechanismPlain.html">SaslMechanismPlain</a></li><li><a href="SubgraphStrategy.html">SubgraphStrategy</a></li><
li><a href="TextP.html">TextP</a></li><li><a href="Transaction.html">Transaction</a></li><li><a href="Translator.html">Translator</a></li><li><a href="TraversalStrategies.html">TraversalStrategies</a></li><li><a href="TraversalStrategy.html">TraversalStrategy</a></li><li><a href="TypeSerializer.html">TypeSerializer</a></li></ul><h3>Global</h3><ul><li><a href="global.html#DataType">DataType</a></li><li><a href="global.html#statics">statics</a></li></ul>
+</nav>
+
+<br class="clear">
+
+<footer>
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Wed Jan 18 2023 17:10:25 GMT-0800 (Pacific Standard Time)
+</footer>
+
+<script> prettyPrint(); </script>
+<script src="scripts/linenumber.js"> </script>
+</body>
+</html>