You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2020/12/26 12:47:49 UTC
svn commit: r1884815 [1/15] - in /tinkerpop/site: docs/3.5.0-SNAPSHOT/
docs/3.5.0-SNAPSHOT/dev/provider/ docs/3.5.0-SNAPSHOT/images/
docs/3.5.0-SNAPSHOT/recipes/ docs/3.5.0-SNAPSHOT/reference/
docs/3.5.0-SNAPSHOT/tutorials/getting-started/ docs/3.5.0-S...
Author: spmallette
Date: Sat Dec 26 12:47:48 2020
New Revision: 1884815
URL: http://svn.apache.org/viewvc?rev=1884815&view=rev
Log:
Deploy docs for TinkerPop 3.5.0-SNAPSHOT
Added:
tinkerpop/site/docs/3.5.0-SNAPSHOT/images/gremlin-snippets.png (with props)
tinkerpop/site/docs/3.5.0-SNAPSHOT/images/gremlin-translator.png (with props)
tinkerpop/site/dotnetdocs/3.5.0-SNAPSHOT/api/Gremlin.Net.Driver.IMessageSerializer.html
tinkerpop/site/dotnetdocs/3.5.0-SNAPSHOT/api/Gremlin.Net.Driver.Messages.ResponseMessage-1.html
tinkerpop/site/dotnetdocs/3.5.0-SNAPSHOT/api/Gremlin.Net.Driver.Messages.ResponseResult-1.html
tinkerpop/site/dotnetdocs/3.5.0-SNAPSHOT/api/Gremlin.Net.Driver.Messages.ResponseStatus.html
tinkerpop/site/dotnetdocs/3.5.0-SNAPSHOT/api/Gremlin.Net.Structure.IO.GraphSON.GraphSON2MessageSerializer.html
tinkerpop/site/dotnetdocs/3.5.0-SNAPSHOT/api/Gremlin.Net.Structure.IO.GraphSON.GraphSON3MessageSerializer.html
tinkerpop/site/dotnetdocs/3.5.0-SNAPSHOT/api/Gremlin.Net.Structure.IO.GraphSON.GraphSONMessageSerializer.html
tinkerpop/site/dotnetdocs/3.5.0-SNAPSHOT/api/Gremlin.Net.Structure.IO.SerializationTokens.html
tinkerpop/site/dotnetdocs/3.5.0-SNAPSHOT/api/Gremlin.Net.Structure.IO.html
tinkerpop/site/javadocs/3.5.0-SNAPSHOT/full/argfile
tinkerpop/site/javadocs/3.5.0-SNAPSHOT/full/javadoc.sh (with props)
tinkerpop/site/javadocs/3.5.0-SNAPSHOT/full/options
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/EdgeLabelVerificationStrategy.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/HaltedTraverserStrategy.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/MatchAlgorithmStrategy.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/PartitionStrategy.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/ReservedKeysVerificationStrategy.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/SubgraphStrategy.html
Removed:
tinkerpop/site/javadocs/3.5.0-SNAPSHOT/core/
tinkerpop/site/javadocs/3.5.0-SNAPSHOT/full/allclasses-frame.html
tinkerpop/site/javadocs/3.5.0-SNAPSHOT/full/allclasses-noframe.html
tinkerpop/site/javadocs/3.5.0-SNAPSHOT/full/constant-values.html
tinkerpop/site/javadocs/3.5.0-SNAPSHOT/full/deprecated-list.html
tinkerpop/site/javadocs/3.5.0-SNAPSHOT/full/help-doc.html
tinkerpop/site/javadocs/3.5.0-SNAPSHOT/full/index-all.html
tinkerpop/site/javadocs/3.5.0-SNAPSHOT/full/index.html
tinkerpop/site/javadocs/3.5.0-SNAPSHOT/full/org/
tinkerpop/site/javadocs/3.5.0-SNAPSHOT/full/overview-frame.html
tinkerpop/site/javadocs/3.5.0-SNAPSHOT/full/overview-summary.html
tinkerpop/site/javadocs/3.5.0-SNAPSHOT/full/overview-tree.html
tinkerpop/site/javadocs/3.5.0-SNAPSHOT/full/package-list
tinkerpop/site/javadocs/3.5.0-SNAPSHOT/full/script.js
tinkerpop/site/javadocs/3.5.0-SNAPSHOT/full/serialized-form.html
tinkerpop/site/javadocs/3.5.0-SNAPSHOT/full/stylesheet.css
Modified:
tinkerpop/site/docs/3.5.0-SNAPSHOT/dev/provider/index.html
tinkerpop/site/docs/3.5.0-SNAPSHOT/index.html
tinkerpop/site/docs/3.5.0-SNAPSHOT/recipes/index.html
tinkerpop/site/docs/3.5.0-SNAPSHOT/reference/index.html
tinkerpop/site/docs/3.5.0-SNAPSHOT/tutorials/getting-started/index.html
tinkerpop/site/docs/3.5.0-SNAPSHOT/tutorials/gremlins-anatomy/index.html
tinkerpop/site/docs/3.5.0-SNAPSHOT/tutorials/the-gremlin-console/index.html
tinkerpop/site/docs/3.5.0-SNAPSHOT/upgrade/index.html
tinkerpop/site/dotnetdocs/3.5.0-SNAPSHOT/api/Gremlin.Net.Driver.GremlinClient.html
tinkerpop/site/dotnetdocs/3.5.0-SNAPSHOT/api/Gremlin.Net.Driver.Messages.html
tinkerpop/site/dotnetdocs/3.5.0-SNAPSHOT/api/Gremlin.Net.Driver.Tokens.html
tinkerpop/site/dotnetdocs/3.5.0-SNAPSHOT/api/Gremlin.Net.Driver.html
tinkerpop/site/dotnetdocs/3.5.0-SNAPSHOT/api/Gremlin.Net.Structure.IO.GraphSON.html
tinkerpop/site/dotnetdocs/3.5.0-SNAPSHOT/api/toc.html
tinkerpop/site/dotnetdocs/3.5.0-SNAPSHOT/index.json
tinkerpop/site/dotnetdocs/3.5.0-SNAPSHOT/manifest.json
tinkerpop/site/dotnetdocs/3.5.0-SNAPSHOT/xrefmap.yml
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/AnonymousTraversalSource.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/Authenticator.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/Bytecode.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/Client.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/Connection.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/DriverRemoteConnection.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/Graph.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/GraphSON2Reader.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/GraphSON2Writer.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/GraphSON3Reader.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/GraphSON3Writer.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/GraphTraversal.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/GraphTraversalSource.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/P.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/Path.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/PlainTextSaslAuthenticator.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/RemoteConnection.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/RemoteStrategy.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/RemoteTraversal.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/ResponseError.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/ResultSet.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/SaslAuthenticator.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/SaslMechanismBase.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/SaslMechanismPlain.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/TextP.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/Translator.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/TraversalStrategies.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/TraversalStrategy.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/TypeSerializer.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/driver_auth_authenticator.js.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/driver_auth_mechanisms_sasl-mechanism-base.js.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/driver_auth_mechanisms_sasl-mechanism-plain.js.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/driver_auth_plain-text-sasl-authenticator.js.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/driver_auth_sasl-authenticator.js.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/driver_client.js.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/driver_connection.js.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/driver_driver-remote-connection.js.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/driver_remote-connection.js.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/driver_response-error.js.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/driver_result-set.js.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/global.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/index.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/process_anonymous-traversal.js.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/process_bytecode.js.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/process_graph-traversal.js.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/process_translator.js.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/process_traversal-strategy.js.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/process_traversal.js.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/structure_graph.js.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/structure_io_graph-serializer.js.html
tinkerpop/site/jsdocs/3.5.0-SNAPSHOT/structure_io_type-serializers.js.html
Modified: tinkerpop/site/docs/3.5.0-SNAPSHOT/dev/provider/index.html
URL: http://svn.apache.org/viewvc/tinkerpop/site/docs/3.5.0-SNAPSHOT/dev/provider/index.html?rev=1884815&r1=1884814&r2=1884815&view=diff
==============================================================================
--- tinkerpop/site/docs/3.5.0-SNAPSHOT/dev/provider/index.html (original)
+++ tinkerpop/site/docs/3.5.0-SNAPSHOT/dev/provider/index.html Sat Dec 26 12:47:48 2020
@@ -836,7 +836,7 @@ table.CodeRay td.code>pre{padding:0}
<li><a href="#_traversal_opprocessor">Traversal OpProcessor</a></li>
</ul>
</li>
-<li><a href="#_authentication">Authentication</a></li>
+<li><a href="#_authentication_and_authorization">Authentication and Authorization</a></li>
</ul>
</li>
<li><a href="#gremlin-plugins">Gremlin Plugins</a></li>
@@ -1688,7 +1688,7 @@ var graphsonReader = new GraphSON3Reader
var graphsonWriter = new GraphSON3Writer(
new Dictionary<Type, IGraphSONSerializer> {{typeof(MyType), new MyClassWriter()}});
-var gremlinClient = new GremlinClient(new GremlinServer("localhost", 8182), graphsonReader, graphsonWriter);</code></pre>
+var gremlinClient = new GremlinClient(new GremlinServer("localhost", 8182), new GraphSON2MessageSerializer());</code></pre>
</div>
</div>
</div>
@@ -2775,7 +2775,7 @@ a different language.</p>
<div class="paragraph">
<p>Unlike Standard and Session OpProcessors, the Traversal OpProcessor does not simply return the results of the
<code>Traversal</code>. It instead returns <code>Traverser</code> objects which allows the client to take advantage of
-<a href="https://tinkerpop.apache.org/docs/current/reference/#barrier-step">bulking</a>. To describe this interaction more
+<a href="https://tinkerpop.apache.org/docs/3.5.0-SNAPSHOT/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 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
@@ -2785,10 +2785,10 @@ twenty. Under this model, the amount of
<p>To demonstrate consider this example:</p>
</div>
<section class="tabs tabs-2">
- <input id="tab-1599657379-1" type="radio" name="radio-set-1599657379-1" class="tab-selector-1" checked="checked" />
- <label for="tab-1599657379-1" class="tab-label-1">console (groovy)</label>
- <input id="tab-1599657379-2" type="radio" name="radio-set-1599657379-1" class="tab-selector-2" />
- <label for="tab-1599657379-2" class="tab-label-2">groovy</label>
+ <input id="tab-1608972802-1" type="radio" name="radio-set-1608972802-1" class="tab-selector-1" checked="checked" />
+ <label for="tab-1608972802-1" class="tab-label-1">console (groovy)</label>
+ <input id="tab-1608972802-2" type="radio" name="radio-set-1608972802-1" class="tab-selector-2" />
+ <label for="tab-1608972802-2" class="tab-label-2">groovy</label>
<div class="tabcontent">
<div class="tabcontent-1">
<div class="listingblock">
@@ -2796,9 +2796,9 @@ twenty. Under this model, the amount of
<pre class="CodeRay highlight"><code data-lang="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="integer">518</span>ed96e
+==>org.apache.tinkerpop.gremlin.driver.Client<span class="error">$</span>ClusteredClient<span class="error">@</span><span class="integer">42542698</span>
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">1</span>b96f15e
+==>org.apache.tinkerpop.gremlin.driver.Client<span class="error">$</span>AliasClusteredClient<span class="annotation">@b956293</span>
gremlin> g = traversal().withEmbedded(org.apache.tinkerpop.gremlin.structure.util.empty.EmptyGraph.instance()) <span class="invisible">//</span><b class="conum">1</b><span class="invisible">\</span>
==>graphtraversalsource[emptygraph[empty], standard]
gremlin> rs = aliased.submit(g.V().both().barrier().both().barrier()).all().get() <span class="invisible">//</span><b class="conum">2</b><span class="invisible">\</span>
@@ -2969,23 +2969,51 @@ single alias).</p></td>
</div>
</div>
<div class="sect2">
-<h3 id="_authentication">Authentication</h3>
+<h3 id="_authentication_and_authorization">Authentication and Authorization</h3>
<div class="paragraph">
<p>Gremlin Server supports <a href="https://en.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer">SASL-based</a>
authentication. A SASL implementation provides a series of challenges and responses that a driver must comply with
-in order to authenticate. By default, Gremlin Server only supports the "PLAIN" SASL mechanism, which is a cleartext
-password system. When authentication is enabled, an incoming request is intercepted before it is evaluated by the
-<code>ScriptEngine</code>. The request is saved on the server and a <code>AUTHENTICATE</code> challenge response (status code <code>407</code>) is
-returned to the client.</p>
+in order to authenticate. Gremlin Server supports the "PLAIN" SASL mechanism, which is a cleartext
+password system, for all <a href="https://tinkerpop.apache.org/docs/current/tutorials/gremlin-language-variants/">Gremlin Language Variants</a>.
+Other SASL mechanisms supported for selected clients are listed in the
+<a href="https://tinkerpop.apache.org/docs/3.5.0-SNAPSHOT/reference/#security">security section of the Gremlin Server reference documentation</a>.</p>
+</div>
+<div class="paragraph">
+<p>When authentication is enabled, an incoming request is intercepted before it is evaluated by the <code>ScriptEngine</code>. The
+request is saved on the server and a <code>AUTHENTICATE</code> challenge response (status code <code>407</code>) is returned to the client.</p>
+</div>
+<div class="paragraph">
+<p>The client will detect the <code>AUTHENTICATE</code> and respond with an <code>authentication</code> for the <code>op</code> and an <code>arg</code> named <code>sasl</code>.
+In case of the "PLAIN" SASL mechanism the <code>arg</code> contains the password. The password should be either, an encoded
+sequence of UTF-8 bytes, delimited by 0 (US-ASCII NUL), where the form is : <code><NUL>username<NUL>password</code>, or a Base64
+encoded string of the former (which in this instance would be <code>AHVzZXJuYW1lAHBhc3N3b3Jk</code>). Should Gremlin Server be
+able to authenticate with the provided credentials, the server will return the results of the original request as it
+normally does without authentication. If it cannot authenticate given the challenge response from the client, it will
+return <code>UNAUTHORIZED</code> (status code <code>401</code>).</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+Gremlin Server does not support the "authorization identity" as described in <a href="https://tools.ietf.org/html/rfc4616">RFC4616</a>.
+</td>
+</tr>
+</table>
</div>
<div class="paragraph">
-<p>The client will detect the <code>AUTHENTICATE</code> and respond with an <code>authentication</code> for the <code>op</code> and an <code>arg</code> named <code>sasl</code>
-that contains the password. The password should be either, an encoded sequence of UTF-8 bytes, delimited by 0
-(US-ASCII NUL), where the form is : <code><NUL>username<NUL>password</code>, or a Base64 encoded string of the former (which
-in this instance would be <code>AHVzZXJuYW1lAHBhc3N3b3Jk</code>). Should Gremlin Server be able to authenticate with the
-provided credentials, the server will return the results of the original request as it normally does without
-authentication. If it cannot authenticate given the challenge response from the client, it will return <code>UNAUTHORIZED</code>
-(status code <code>401</code>).</p>
+<p>In addition to authenticating users at the start of a connection, Gremlin Server allows providers to authorize users on
+a per request basis. If
+<a href="https://tinkerpop.apache.org/docs/3.5.0-SNAPSHOT/reference/#_configuring_2">a java class is configured</a> that implements the
+<a href="https://tinkerpop.apache.org/javadocs/3.5.0-SNAPSHOT/full/org/apache/tinkerpop/gremlin/server/authz/Authorizer.html">Authorizer interface</a>,
+Gremlin Server passes each request to this <code>Authorizer</code>. The <code>Authorizer</code> can deny authorization for the request by
+throwing an exception and Gremlin Server returns <code>UNAUTHORIZED</code> (status code <code>401</code>) to the client. The <code>Authorizer</code>
+authorizes the request by returning the original request or the request with some additional constraints. Gremlin Server
+proceeds with the returned request and on its turn returns the result of the request to the client. More details on
+implementing authorization can be found in the
+<a href="https://tinkerpop.apache.org/docs/3.5.0-SNAPSHOT/reference/#security">reference documentation for Gremlin Server security</a>.</p>
</div>
<div class="admonitionblock note">
<table>
@@ -2994,7 +3022,8 @@ authentication. If it cannot authentica
<div class="title">Note</div>
</td>
<td class="content">
-Gremlin Server does not support the "authorization identity" as described in <a href="https://tools.ietf.org/html/rfc4616">RFC4616</a>.
+While Gremlin Server supports this authorization feature it is not a feature that TinkerPop requires of graph
+providers as part of the agreement between client and server.
</td>
</tr>
</table>
@@ -3407,7 +3436,7 @@ in use with the Gremlin Console plugin h
</div>
<div id="footer">
<div id="footer-text">
-Last updated 2020-09-09 09:16:49 EDT
+Last updated 2020-12-26 05:25:56 EST
</div>
</div>
</body>
Added: tinkerpop/site/docs/3.5.0-SNAPSHOT/images/gremlin-snippets.png
URL: http://svn.apache.org/viewvc/tinkerpop/site/docs/3.5.0-SNAPSHOT/images/gremlin-snippets.png?rev=1884815&view=auto
==============================================================================
Binary file - no diff available.
Propchange: tinkerpop/site/docs/3.5.0-SNAPSHOT/images/gremlin-snippets.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: tinkerpop/site/docs/3.5.0-SNAPSHOT/images/gremlin-translator.png
URL: http://svn.apache.org/viewvc/tinkerpop/site/docs/3.5.0-SNAPSHOT/images/gremlin-translator.png?rev=1884815&view=auto
==============================================================================
Binary file - no diff available.
Propchange: tinkerpop/site/docs/3.5.0-SNAPSHOT/images/gremlin-translator.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified: tinkerpop/site/docs/3.5.0-SNAPSHOT/index.html
URL: http://svn.apache.org/viewvc/tinkerpop/site/docs/3.5.0-SNAPSHOT/index.html?rev=1884815&r1=1884814&r2=1884815&view=diff
==============================================================================
--- tinkerpop/site/docs/3.5.0-SNAPSHOT/index.html (original)
+++ tinkerpop/site/docs/3.5.0-SNAPSHOT/index.html Sat Dec 26 12:47:48 2020
@@ -924,6 +924,11 @@ A series of blog posts that examine the
<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="http://kelvinlawrence.net/book/Gremlin-Graph-Guide.html">Practical Gremlin: An Apache TinkerPop Tutorial</a><br>
A getting started guide for users of graph databases and the Gremlin query language featuring hints, tips and sample queries. (<strong>external</strong>)</p></td>
</tr>
+<tr>
+<td class="tableblock halign-center valign-top"><p class="tableblock"><span class="image"><img src="images/gremlin-snippets.png" alt="gremlin snippets" width="200"></span></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="http://stephen.genoprime.com">Gremlin Snippets</a><br>
+Advanced Gremlin query samples and topics with detailed explanation. (<strong>external</strong>)</p></td>
+</tr>
</tbody>
</table>
</div>
@@ -1000,7 +1005,7 @@ Documentation for providers who implemen
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="image"><img src="images/gremlin-io2.png" alt="gremlin io2" width="200"></span></p></td>
<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="https://tinkerpop.apache.org/docs/3.5.0-SNAPSHOT/dev/io/">IO Reference</a><br>
-Reference Documentation for providers and users of the various IO formats that TinkerPop has: GraphML, GraphSON and Gryo.</p></td>
+Reference Documentation for providers and users of the various IO formats that TinkerPop has: GraphML, GraphSON, GraphBinary and Gryo.</p></td>
</tr>
</tbody>
</table>
@@ -1010,7 +1015,7 @@ Reference Documentation for providers an
</div>
<div id="footer">
<div id="footer-text">
-Last updated 2020-06-03 12:42:25 EDT
+Last updated 2020-12-26 07:46:27 EST
</div>
</div>
</body>