Added: tinkerpop/site/docs/3.2.6-SNAPSHOT/reference/index.html
URL: 
http://svn.apache.org/viewvc/tinkerpop/site/docs/3.2.6-SNAPSHOT/reference/index.html?rev=1799018&view=auto
==============================================================================
--- tinkerpop/site/docs/3.2.6-SNAPSHOT/reference/index.html (added)
+++ tinkerpop/site/docs/3.2.6-SNAPSHOT/reference/index.html Sat Jun 17 18:56:29 
2017
@@ -0,0 +1,17232 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="generator" content="Asciidoctor 0.1.4">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<title>TinkerPop3 Documentation</title>
+<style>
+/*
+ * 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.
+ */
+
+/*! normalize.css v2.1.2 | MIT License | git.io/normalize */
+/* ========================================================================== 
HTML5 display definitions 
========================================================================== */
+/** Correct `block` display not defined in IE 8/9. */
+@import 
url(http://cdnjs.cloudflare.com/ajax/libs/font-awesome/3.2.1/css/font-awesome.css);
+article, aside, details, figcaption, figure, footer, header, hgroup, main, 
nav, section, summary { display: block; }
+
+/** Correct `inline-block` display not defined in IE 8/9. */
+audio, canvas, video { display: inline-block; }
+
+/** Prevent modern browsers from displaying `audio` without controls. Remove 
excess height in iOS 5 devices. */
+audio:not([controls]) { display: none; height: 0; }
+
+/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` 
element in IE, Safari, and Firefox < 22. */
+[hidden], template { display: none; }
+
+script { display: none !important; }
+
+/* ========================================================================== 
Base ========================================================================== 
*/
+/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust 
after orientation change, without disabling user zoom. */
+html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ 
-webkit-text-size-adjust: 100%; /* 2 */ }
+
+/** Remove default margin. */
+body { margin: 0; }
+
+/* ========================================================================== 
Links 
========================================================================== */
+/** Remove the gray background color from active links in IE 10. */
+a { background: transparent; }
+
+/** Address `outline` inconsistency between Chrome and other browsers. */
+a:focus { outline: thin dotted; }
+
+/** Improve readability when focused and also mouse hovered in all browsers. */
+a:active, a:hover { outline: 0; }
+
+/* ========================================================================== 
Typography 
========================================================================== */
+/** Address variable `h1` font-size and margin within `section` and `article` 
contexts in Firefox 4+, Safari 5, and Chrome. */
+h1 { font-size: 2em; margin: 0.67em 0; }
+
+/** Address styling not present in IE 8/9, Safari 5, and Chrome. */
+abbr[title] { border-bottom: 1px dotted; }
+
+/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */
+b, strong { font-weight: bold; }
+
+/** Address styling not present in Safari 5 and Chrome. */
+dfn { font-style: italic; }
+
+/** Address differences between Firefox and other browsers. */
+hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; }
+
+/** Address styling not present in IE 8/9. */
+mark { background: #ff0; color: #000; }
+
+/** Correct font family set oddly in Safari 5 and Chrome. */
+code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; }
+
+/** Improve readability of pre-formatted text in all browsers. */
+pre { white-space: pre-wrap; }
+
+/** Set consistent quote types. */
+q { quotes: "\201C" "\201D" "\2018" "\2019"; }
+
+/** Address inconsistent and variable font size in all browsers. */
+small { font-size: 80%; }
+
+/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
+sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: 
baseline; }
+
+sup { top: -0.5em; }
+
+sub { bottom: -0.25em; }
+
+/* ========================================================================== 
Embedded content 
========================================================================== */
+/** Remove border when inside `a` element in IE 8/9. */
+img { border: 0; }
+
+/** Correct overflow displayed oddly in IE 9. */
+svg:not(:root) { overflow: hidden; }
+
+/* ========================================================================== 
Figures 
========================================================================== */
+/** Address margin not present in IE 8/9 and Safari 5. */
+figure { margin: 0; }
+
+/* ========================================================================== 
Forms 
========================================================================== */
+/** Define consistent border, margin, and padding. */
+fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 
0.75em; }
+
+/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so 
people aren't caught out if they zero out fieldsets. */
+legend { border: 0; /* 1 */ padding: 0; /* 2 */ }
+
+/** 1. Correct font family not being inherited in all browsers. 2. Correct 
font size not being inherited in all browsers. 3. Address margins set 
differently in Firefox 4+, Safari 5, and Chrome. */
+button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 
100%; /* 2 */ margin: 0; /* 3 */ }
+
+/** Address Firefox 4+ setting `line-height` on `input` using `!important` in 
the UA stylesheet. */
+button, input { line-height: normal; }
+
+/** Address inconsistent `text-transform` inheritance for `button` and 
`select`. All other form control elements do not inherit `text-transform` 
values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. 
Correct `select` style inheritance in Firefox 4+ and Opera. */
+button, select { text-transform: none; }
+
+/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` 
and `video` controls. 2. Correct inability to style clickable `input` types in 
iOS. 3. Improve usability and consistency of cursor style between image-type 
`input` and others. */
+button, html input[type="button"], input[type="reset"], input[type="submit"] { 
-webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }
+
+/** Re-set default cursor for disabled elements. */
+button[disabled], html input[disabled] { cursor: default; }
+
+/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess 
padding in IE 8/9. */
+input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ 
padding: 0; /* 2 */ }
+
+/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. 
Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` 
to future-proof). */
+input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: 
content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; }
+
+/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS 
X. */
+input[type="search"]::-webkit-search-cancel-button, 
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
+
+/** Remove inner padding and border in Firefox 4+. */
+button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
+
+/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and 
alignment in all browsers. */
+textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ }
+
+/* ========================================================================== 
Tables 
========================================================================== */
+/** Remove most spacing between table cells. */
+table { border-collapse: collapse; border-spacing: 0; }
+
+meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; 
width: 768px; }
+
+meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; 
width: 1280px; }
+
+meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; 
width: 1440px; }
+
+*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: 
border-box; box-sizing: border-box; }
+
+html, body { font-size: 100%; }
+
+body { background: white; color: #222222; padding: 0; margin: 0; font-family: 
"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: 
normal; font-style: normal; line-height: 1; position: relative; cursor: auto; }
+
+a:hover { cursor: pointer; }
+
+img, object, embed { max-width: 100%; height: auto; }
+
+object, embed { height: 100%; }
+
+img { -ms-interpolation-mode: bicubic; }
+
+#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, 
.map_canvas embed, .map_canvas object { max-width: none !important; }
+
+.left { float: left !important; }
+
+.right { float: right !important; }
+
+.text-left { text-align: left !important; }
+
+.text-right { text-align: right !important; }
+
+.text-center { text-align: center !important; }
+
+.text-justify { text-align: justify !important; }
+
+.hide { display: none; }
+
+.antialiased, body { -webkit-font-smoothing: antialiased; }
+
+img { display: inline-block; vertical-align: middle; }
+
+textarea { height: auto; min-height: 50px; }
+
+select { width: 100%; }
+
+p.lead, .paragraph.lead > p, #preamble > .sectionbody > 
.paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; }
+
+.subheader, #content #toctitle, .admonitionblock td.content > .title, 
.exampleblock > .title, .imageblock > .title, .listingblock > .title, 
.literalblock > .title, .mathblock > .title, .openblock > .title, .paragraph > 
.title, .quoteblock > .title, .sidebarblock > .title, .tableblock > .title, 
.verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, 
.ulist > .title, .qlist > .title, .hdlist > .title, .tableblock > caption { 
line-height: 1.4; color: #6c818f; font-weight: 300; margin-top: 0.2em; 
margin-bottom: 0.5em; }
+
+/* Typography resets */
+div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > 
.title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; 
direction: ltr; }
+
+/* Default Link Styles */
+a { color: #444444; text-decoration: underline; line-height: inherit; }
+a:hover, a:focus { color: #111111; }
+a img { border: none; }
+
+/* Default paragraph styles */
+p { font-family: inherit; font-weight: normal; font-size: 1em; line-height: 
1.5; margin-bottom: 1.25em; text-rendering: optimizeLegibility; }
+p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; }
+
+/* Default header styles */
+h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { 
font-family: ff-meta-web-pro-1, ff-meta-web-pro-2, Arial, "Helvetica Neue", 
sans-serif; font-weight: bold; font-style: normal; color: #465158; 
text-rendering: optimizeLegibility; margin-top: 1em; margin-bottom: 0.5em; 
line-height: 1.2125em; }
+h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > 
.title small, h4 small, h5 small, h6 small { font-size: 60%; color: #909ea7; 
line-height: 0; }
+
+h1 { font-size: 2.125em; }
+
+h2 { font-size: 1.6875em; }
+
+h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; }
+
+h4 { font-size: 1.125em; }
+
+h5 { font-size: 1.125em; }
+
+h6 { font-size: 1em; }
+
+hr { border: solid #dddddd; border-width: 1px 0 0; clear: both; margin: 1.25em 
0 1.1875em; height: 0; }
+
+/* Helpful Typography Defaults */
+em, i { font-style: italic; line-height: inherit; }
+
+strong, b { font-weight: bold; line-height: inherit; }
+
+small { font-size: 60%; line-height: inherit; }
+
+code { font-family: "Consolas", "Deja Vu Sans Mono", "Bitstream Vera Sans 
Mono", monospace; font-weight: normal; color: #444444; }
+
+/* Lists */
+ul, ol, dl { font-size: 1em; line-height: 1.5; margin-bottom: 1.25em; 
list-style-position: outside; font-family: inherit; }
+
+ul, ol { margin-left: 0; }
+ul.no-bullet, ol.no-bullet { margin-left: 0; }
+
+/* Unordered Lists */
+ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* 
Override nested font-size change */ }
+ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; }
+ul.square { list-style-type: square; }
+ul.circle { list-style-type: circle; }
+ul.disc { list-style-type: disc; }
+ul.no-bullet { list-style: none; }
+
+/* Ordered Lists */
+ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; }
+
+/* Definition Lists */
+dl dt { margin-bottom: 0.3em; font-weight: bold; }
+dl dd { margin-bottom: 0.75em; }
+
+/* Abbreviations */
+abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; 
border-bottom: 1px dotted #dddddd; cursor: help; }
+
+abbr { text-transform: none; }
+
+/* Blockquotes */
+blockquote { margin: 0 0 1.25em; padding: 0.5625em 1.25em 0 1.1875em; 
border-left: 1px solid #dddddd; }
+blockquote cite { display: block; font-size: 0.8125em; color: #748590; }
+blockquote cite:before { content: "\2014 \0020"; }
+blockquote cite a, blockquote cite a:visited { color: #748590; }
+
+blockquote, blockquote p { line-height: 1.5; color: #909ea7; }
+
+/* Microformats */
+.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid 
#dddddd; padding: 0.625em 0.75em; }
+.vcard li { margin: 0; display: block; }
+.vcard .fn { font-weight: bold; font-size: 0.9375em; }
+
+.vevent .summary { font-weight: bold; }
+.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: 
none; padding: 0 0.0625em; }
+
+@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, 
.sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; }
+  h1 { font-size: 2.75em; }
+  h2 { font-size: 2.3125em; }
+  h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; }
+  h4 { font-size: 1.4375em; } }
+/* Print styles.  Inlined to avoid required HTTP connection: 
www.phpied.com/delay-loading-your-print-css/ Credit to Paul Irish and HTML5 
Boilerplate (html5boilerplate.com)
+*/
+.print-only { display: none !important; }
+
+@media print { * { background: transparent !important; color: #000 !important; 
/* Black prints faster: h5bp.com/s */ box-shadow: none !important; text-shadow: 
none !important; }
+  a, a:visited { text-decoration: underline; }
+  a[href]:after { content: " (" attr(href) ")"; }
+  abbr[title]:after { content: " (" attr(title) ")"; }
+  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; 
}
+  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
+  thead { display: table-header-group; /* h5bp.com/t */ }
+  tr, img { page-break-inside: avoid; }
+  img { max-width: 100% !important; }
+  @page { margin: 0.5cm; }
+  p, h2, h3, #toctitle, .sidebarblock > .content > .title { orphans: 3; 
widows: 3; }
+  h2, h3, #toctitle, .sidebarblock > .content > .title { page-break-after: 
avoid; }
+  .hide-on-print { display: none !important; }
+  .print-only { display: block !important; }
+  .hide-for-print { display: none !important; }
+  .show-for-print { display: inherit !important; } }
+/* Tables */
+table { background: white; margin-bottom: 1.25em; border: solid 0 #dddddd; }
+table thead, table tfoot { background: none; font-weight: bold; }
+table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { 
padding: 1px 8px 1px 5px; font-size: 1em; color: #222222; text-align: left; }
+table tr th, table tr td { padding: 1px 8px 1px 5px; font-size: 1em; color: 
#222222; }
+table tr.even, table tr.alt, table tr:nth-of-type(even) { background: none; }
+table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table 
tfoot tr td { display: table-cell; line-height: 1.5; }
+
+.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { 
content: " "; display: table; }
+.clearfix:after, .float-group:after { clear: both; }
+
+*:not(pre) > code { font-size: 0.95em; padding: 0; white-space: nowrap; 
background-color: #f2f2f2; border: 0 solid #dddddd; -webkit-border-radius: 6px; 
border-radius: 6px; text-shadow: none; }
+
+pre, pre > code { line-height: 1.2; color: inherit; font-family: "Consolas", 
"Deja Vu Sans Mono", "Bitstream Vera Sans Mono", monospace; font-weight: 
normal; }
+
+.keyseq { color: #333333; }
+
+kbd:not(.keyseq) { display: inline-block; color: black; font-size: 0.75em; 
line-height: 1.4; background-color: #F7F7F7; border: 1px solid #ccc; 
-webkit-border-radius: 3px; border-radius: 3px; -webkit-box-shadow: 0 1px 0 
rgba(0, 0, 0, 0.2), 0 0 0 2px white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 
0.2), 0 0 0 2px white inset; margin: -0.15em 0.15em 0 0.15em; padding: 0.2em 
0.6em 0.2em 0.5em; vertical-align: middle; white-space: nowrap; }
+
+.keyseq kbd:first-child { margin-left: 0; }
+
+.keyseq kbd:last-child { margin-right: 0; }
+
+.menuseq, .menu { color: black; }
+
+b.button:before, b.button:after { position: relative; top: -1px; font-weight: 
normal; }
+
+b.button:before { content: "["; padding: 0 3px 0 2px; }
+
+b.button:after { content: "]"; padding: 0 2px 0 3px; }
+
+p a > code:hover { color: #373737; }
+
+#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; 
margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 
1; position: relative; padding-left: 0.9375em; padding-right: 0.9375em; }
+#header:before, #header:after, #content:before, #content:after, 
#footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " 
"; display: table; }
+#header:after, #content:after, #footnotes:after, #footer:after { clear: both; }
+
+#header { margin-bottom: 2.5em; }
+#header > h1 { color: #111111; font-weight: bold; border-bottom: 1px solid 
#dddddd; margin-bottom: -28px; padding-bottom: 32px; }
+#header span { color: #909ea7; }
+#header #revnumber { text-transform: capitalize; }
+#header br { display: none; }
+#header br + span { padding-left: 3px; }
+#header br + span:before { content: "\2013 \0020"; }
+#header br + span.author { padding-left: 0; }
+#header br + span.author:before { content: ", "; }
+
+#toc { border-bottom: 1px solid #dddddd; padding-bottom: 1.25em; }
+#toc > ul { margin-left: 0.25em; }
+#toc ul.sectlevel0 > li > a { font-style: italic; }
+#toc ul.sectlevel0 ul.sectlevel1 { margin-left: 0; margin-top: 0.5em; 
margin-bottom: 0.5em; }
+#toc ul { list-style-type: none; }
+
+#toctitle { color: #6c818f; }
+
+@media only screen and (min-width: 768px) { body.toc2 { padding-left: 15em; 
padding-right: 0; }
+  #toc.toc2 { position: fixed; width: 15em; left: 0; top: 0; border-right: 1px 
solid #dddddd; border-bottom: 0; z-index: 1000; padding: 1em; height: 100%; 
overflow: auto; }
+  #toc.toc2 #toctitle { margin-top: 0; font-size: 1.2em; }
+  #toc.toc2 > ul { font-size: .90em; }
+  #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; }
+  #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; 
margin-bottom: 0.5em; }
+  body.toc2.toc-right { padding-left: 0; padding-right: 15em; }
+  body.toc2.toc-right #toc.toc2 { border-right: 0; border-left: 1px solid 
#dddddd; left: auto; right: 0; } }
+@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; 
padding-right: 0; }
+  #toc.toc2 { width: 20em; }
+  #toc.toc2 #toctitle { font-size: 1.375em; }
+  #toc.toc2 > ul { font-size: 0.95em; }
+  #toc.toc2 ul ul { padding-left: 1.25em; }
+  body.toc2.toc-right { padding-left: 0; padding-right: 20em; } }
+#content #toc { border-style: solid; border-width: 1px; border-color: #d9d9d9; 
margin-bottom: 1.25em; padding: 1.25em; background: #f2f2f2; border-width: 0; 
-webkit-border-radius: 6px; border-radius: 6px; }
+#content #toc > :first-child { margin-top: 0; }
+#content #toc > :last-child { margin-bottom: 0; }
+#content #toc a { text-decoration: none; }
+
+#content #toctitle { font-weight: bold; font-family: ff-meta-web-pro-1, 
ff-meta-web-pro-2, Arial, "Helvetica Neue", sans-serif; font-size: 1em; 
padding-left: 0.125em; }
+
+#footer { max-width: 100%; background-color: black; padding: 1.25em; }
+
+#footer-text { color: white; line-height: 1.35; }
+
+.sect1 { padding-bottom: 1.25em; }
+
+.sect1 + .sect1 { border-top: 1px solid #dddddd; }
+
+#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, 
.sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 
> a.anchor { position: absolute; width: 1em; margin-left: -1em; display: block; 
text-decoration: none; visibility: hidden; text-align: center; font-weight: 
normal; }
+#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, 
#toctitle > a.anchor:before, .sidebarblock > .content > .title > 
a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > 
a.anchor:before { content: '\00A7'; font-size: .85em; vertical-align: text-top; 
display: block; margin-top: 0.05em; }
+#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > 
a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, 
.sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, 
#toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, 
h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > 
a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; 
}
+#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, 
.sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > 
a.link { color: #465158; text-decoration: none; }
+#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > 
a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > 
a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: #3b444a; }
+
+.imageblock, .literalblock, .listingblock, .mathblock, .verseblock, 
.videoblock { margin-bottom: 1.25em; }
+
+.admonitionblock td.content > .title, .exampleblock > .title, .imageblock > 
.title, .listingblock > .title, .literalblock > .title, .mathblock > .title, 
.openblock > .title, .paragraph > .title, .quoteblock > .title, .sidebarblock > 
.title, .tableblock > .title, .verseblock > .title, .videoblock > .title, 
.dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > 
.title { text-align: left; font-weight: bold; }
+
+.tableblock > caption { text-align: left; font-weight: bold; white-space: 
nowrap; overflow: visible; max-width: 0; }
+
+table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { 
font-size: inherit; }
+
+.admonitionblock > table { border: 0; background: none; width: 100%; }
+.admonitionblock > table td.icon { text-align: center; width: 80px; }
+.admonitionblock > table td.icon img { max-width: none; }
+.admonitionblock > table td.icon .title { font-weight: bold; text-transform: 
uppercase; }
+.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 
1.25em; border-left: 1px solid #dddddd; color: #909ea7; }
+.admonitionblock > table td.content > :last-child > :last-child { 
margin-bottom: 0; }
+
+.exampleblock > .content { border-style: solid; border-width: 1px; 
border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: 
white; -webkit-border-radius: 6px; border-radius: 6px; }
+.exampleblock > .content > :first-child { margin-top: 0; }
+.exampleblock > .content > :last-child { margin-bottom: 0; }
+.exampleblock > .content h1, .exampleblock > .content h2, .exampleblock > 
.content h3, .exampleblock > .content #toctitle, .sidebarblock.exampleblock > 
.content > .title, .exampleblock > .content h4, .exampleblock > .content h5, 
.exampleblock > .content h6, .exampleblock > .content p { color: #333333; }
+.exampleblock > .content h1, .exampleblock > .content h2, .exampleblock > 
.content h3, .exampleblock > .content #toctitle, .sidebarblock.exampleblock > 
.content > .title, .exampleblock > .content h4, .exampleblock > .content h5, 
.exampleblock > .content h6 { line-height: 1; margin-bottom: 0.625em; }
+.exampleblock > .content h1.subheader, .exampleblock > .content h2.subheader, 
.exampleblock > .content h3.subheader, .exampleblock > .content 
.subheader#toctitle, .sidebarblock.exampleblock > .content > .subheader.title, 
.exampleblock > .content h4.subheader, .exampleblock > .content h5.subheader, 
.exampleblock > .content h6.subheader { line-height: 1.4; }
+
+.exampleblock.result > .content { -webkit-box-shadow: 0 1px 8px #d9d9d9; 
box-shadow: 0 1px 8px #d9d9d9; }
+
+.sidebarblock { border-style: solid; border-width: 1px; border-color: #d9d9d9; 
margin-bottom: 1.25em; padding: 1.25em; background: #f2f2f2; 
-webkit-border-radius: 6px; border-radius: 6px; }
+.sidebarblock > :first-child { margin-top: 0; }
+.sidebarblock > :last-child { margin-bottom: 0; }
+.sidebarblock h1, .sidebarblock h2, .sidebarblock h3, .sidebarblock #toctitle, 
.sidebarblock > .content > .title, .sidebarblock h4, .sidebarblock h5, 
.sidebarblock h6, .sidebarblock p { color: #333333; }
+.sidebarblock h1, .sidebarblock h2, .sidebarblock h3, .sidebarblock #toctitle, 
.sidebarblock > .content > .title, .sidebarblock h4, .sidebarblock h5, 
.sidebarblock h6 { line-height: 1; margin-bottom: 0.625em; }
+.sidebarblock h1.subheader, .sidebarblock h2.subheader, .sidebarblock 
h3.subheader, .sidebarblock .subheader#toctitle, .sidebarblock > .content > 
.subheader.title, .sidebarblock h4.subheader, .sidebarblock h5.subheader, 
.sidebarblock h6.subheader { line-height: 1.4; }
+.sidebarblock > .content > .title { color: #6c818f; margin-top: 0; 
line-height: 1.5; }
+
+.exampleblock > .content > :last-child > :last-child, .exampleblock > .content 
.olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul 
> li:last-child > :last-child, .exampleblock > .content .qlist > ol > 
li:last-child > :last-child, .sidebarblock > .content > :last-child > 
:last-child, .sidebarblock > .content .olist > ol > li:last-child > 
:last-child, .sidebarblock > .content .ulist > ul > li:last-child > 
:last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child 
{ margin-bottom: 0; }
+
+.literalblock pre:not([class]), .listingblock pre:not([class]) { background: 
#eeeeee; }
+.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock 
pre[class] { border-width: 1px; border-style: solid; border-color: #cccccc; 
-webkit-border-radius: 6px; border-radius: 6px; padding: 0.5em; word-wrap: 
break-word; }
+.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock 
pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: 
pre; word-wrap: normal; }
+.literalblock pre > code, .literalblock pre[class] > code, .listingblock pre > 
code, .listingblock pre[class] > code { display: block; }
+@media only screen { .literalblock pre, .literalblock pre[class], 
.listingblock pre, .listingblock pre[class] { font-size: 0.76em; } }
+@media only screen and (min-width: 768px) { .literalblock pre, .literalblock 
pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.855em; } 
}
+@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock 
pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.95em; } }
+
+.listingblock pre.highlight { padding: 0; }
+.listingblock pre.highlight > code { padding: 0.5em; }
+
+.listingblock > .content { position: relative; }
+
+.listingblock:hover code[class*=" language-"]:before { text-transform: 
uppercase; font-size: 0.9em; color: #999; position: absolute; top: 0.375em; 
right: 0.375em; }
+
+.listingblock:hover code.asciidoc:before { content: "asciidoc"; }
+.listingblock:hover code.clojure:before { content: "clojure"; }
+.listingblock:hover code.css:before { content: "css"; }
+.listingblock:hover code.groovy:before { content: "groovy"; }
+.listingblock:hover code.html:before { content: "html"; }
+.listingblock:hover code.java:before { content: "java"; }
+.listingblock:hover code.javascript:before { content: "javascript"; }
+.listingblock:hover code.python:before { content: "python"; }
+.listingblock:hover code.ruby:before { content: "ruby"; }
+.listingblock:hover code.sass:before { content: "sass"; }
+.listingblock:hover code.scss:before { content: "scss"; }
+.listingblock:hover code.xml:before { content: "xml"; }
+.listingblock:hover code.yaml:before { content: "yaml"; }
+
+.listingblock.terminal pre .command:before { content: attr(data-prompt); 
padding-right: 0.5em; color: #999; }
+
+.listingblock.terminal pre .command:not([data-prompt]):before { content: '$'; }
+
+table.pyhltable { border: 0; margin-bottom: 0; }
+
+table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; }
+
+table.pyhltable td.code { padding-left: .75em; padding-right: 0; }
+
+.highlight.pygments .lineno, table.pyhltable td:not(.code) { color: #999; 
padding-left: 0; padding-right: .5em; border-right: 1px solid #dddddd; }
+
+.highlight.pygments .lineno { display: inline-block; margin-right: .25em; }
+
+table.pyhltable .linenodiv { background-color: transparent !important; 
padding-right: 0 !important; }
+
+.quoteblock { margin: 0 0 1.25em; padding: 0.5625em 1.25em 0 1.1875em; 
border-left: 1px solid #dddddd; }
+.quoteblock blockquote { margin: 0 0 1.25em 0; padding: 0 0 0.5625em 0; 
border: 0; }
+.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; }
+.quoteblock .attribution { margin-top: -.25em; padding-bottom: 0.5625em; 
font-size: 0.8125em; color: #748590; }
+.quoteblock .attribution br { display: none; }
+.quoteblock .attribution cite { display: block; margin-bottom: 0.625em; }
+
+table thead th, table tfoot th { font-weight: bold; }
+
+table.tableblock.grid-all { border-collapse: separate; border-spacing: 1px; 
-webkit-border-radius: 6px; border-radius: 6px; border-top: 0 solid #dddddd; 
border-bottom: 0 solid #dddddd; }
+
+table.tableblock.frame-topbot, table.tableblock.frame-none { border-left: 0; 
border-right: 0; }
+
+table.tableblock.frame-sides, table.tableblock.frame-none { border-top: 0; 
border-bottom: 0; }
+
+table.tableblock td .paragraph:last-child p > p:last-child, table.tableblock 
th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; }
+
+th.tableblock.halign-left, td.tableblock.halign-left { text-align: left; }
+
+th.tableblock.halign-right, td.tableblock.halign-right { text-align: right; }
+
+th.tableblock.halign-center, td.tableblock.halign-center { text-align: center; 
}
+
+th.tableblock.valign-top, td.tableblock.valign-top { vertical-align: top; }
+
+th.tableblock.valign-bottom, td.tableblock.valign-bottom { vertical-align: 
bottom; }
+
+th.tableblock.valign-middle, td.tableblock.valign-middle { vertical-align: 
middle; }
+
+tbody tr th { display: table-cell; line-height: 1.5; background: none; }
+
+tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222222; 
font-weight: bold; }
+
+td > div.verse { white-space: pre; }
+
+ol { margin-left: 0.25em; }
+
+ul li ol { margin-left: 0; }
+
+dl dd { margin-left: 1.125em; }
+
+dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; }
+
+ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist 
.olist, .olist .ulist { margin-bottom: 0.625em; }
+
+ul.unstyled, ol.unnumbered, ul.checklist, ul.none { list-style-type: none; }
+
+ul.unstyled, ol.unnumbered, ul.checklist { margin-left: 0.625em; }
+
+ul.checklist li > p:first-child > i[class^="icon-check"]:first-child, 
ul.checklist li > p:first-child > input[type="checkbox"]:first-child { 
margin-right: 0.25em; }
+
+ul.checklist li > p:first-child > input[type="checkbox"]:first-child { 
position: relative; top: 1px; }
+
+ul.inline { margin: 0 auto 0.625em auto; margin-left: -1.375em; margin-right: 
0; padding: 0; list-style: none; overflow: hidden; }
+ul.inline > li { list-style: none; float: left; margin-left: 1.375em; display: 
block; }
+ul.inline > li > * { display: block; }
+
+.unstyled dl dt { font-weight: normal; font-style: normal; }
+
+ol.arabic { list-style-type: decimal; }
+
+ol.decimal { list-style-type: decimal-leading-zero; }
+
+ol.loweralpha { list-style-type: lower-alpha; }
+
+ol.upperalpha { list-style-type: upper-alpha; }
+
+ol.lowerroman { list-style-type: lower-roman; }
+
+ol.upperroman { list-style-type: upper-roman; }
+
+ol.lowergreek { list-style-type: lower-greek; }
+
+.hdlist > table, .colist > table { border: 0; background: none; }
+.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; 
}
+
+td.hdlist1 { padding-right: .75em; font-weight: bold; }
+
+td.hdlist1, td.hdlist2 { vertical-align: top; }
+
+.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; }
+
+.colist > table tr > td:first-of-type { padding: 0 .75em; line-height: 1; }
+.colist > table tr > td:last-of-type { padding: 0.25em 0; }
+
+.qanda > ol > li > p > em:only-child { color: #373737; }
+
+.thumb, .th { line-height: 0; display: inline-block; border: solid 4px white; 
-webkit-box-shadow: 0 0 0 1px #dddddd; box-shadow: 0 0 0 1px #dddddd; }
+
+.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 
1.25em 0; }
+.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 
1.25em 0.625em; }
+.imageblock > .title { margin-bottom: 0; }
+.imageblock.thumb, .imageblock.th { border-width: 6px; }
+.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; }
+
+.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; 
display: inline-block; line-height: 0; }
+.image.left { margin-right: 0.625em; }
+.image.right { margin-left: 0.625em; }
+
+a.image { text-decoration: none; }
+
+span.footnote, span.footnoteref { vertical-align: super; font-size: 0.875em; }
+span.footnote a, span.footnoteref a { text-decoration: none; }
+
+#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 
0.625em; }
+#footnotes hr { width: 20%; min-width: 6.25em; margin: -.25em 0 .75em 0; 
border-width: 1px 0 0 0; }
+#footnotes .footnote { padding: 0 0.375em; line-height: 1.3; font-size: 
0.875em; margin-left: 1.2em; text-indent: -1.2em; margin-bottom: .2em; }
+#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: 
none; }
+#footnotes .footnote:last-of-type { margin-bottom: 0; }
+
+#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 
0; }
+
+.gist .file-data > table { border: none; background: #fff; width: 100%; 
margin-bottom: 0; }
+.gist .file-data > table td.line-data { width: 99%; }
+
+div.unbreakable { page-break-inside: avoid; }
+
+.big { font-size: larger; }
+
+.small { font-size: smaller; }
+
+.underline { text-decoration: underline; }
+
+.overline { text-decoration: overline; }
+
+.line-through { text-decoration: line-through; }
+
+.aqua { color: #00bfbf; }
+
+.aqua-background { background-color: #00fafa; }
+
+.black { color: black; }
+
+.black-background { background-color: black; }
+
+.blue { color: #0000bf; }
+
+.blue-background { background-color: #0000fa; }
+
+.fuchsia { color: #bf00bf; }
+
+.fuchsia-background { background-color: #fa00fa; }
+
+.gray { color: #606060; }
+
+.gray-background { background-color: #7d7d7d; }
+
+.green { color: #006000; }
+
+.green-background { background-color: #007d00; }
+
+.lime { color: #00bf00; }
+
+.lime-background { background-color: #00fa00; }
+
+.maroon { color: #600000; }
+
+.maroon-background { background-color: #7d0000; }
+
+.navy { color: #000060; }
+
+.navy-background { background-color: #00007d; }
+
+.olive { color: #606000; }
+
+.olive-background { background-color: #7d7d00; }
+
+.purple { color: #600060; }
+
+.purple-background { background-color: #7d007d; }
+
+.red { color: #bf0000; }
+
+.red-background { background-color: #fa0000; }
+
+.silver { color: #909090; }
+
+.silver-background { background-color: #bcbcbc; }
+
+.teal { color: #006060; }
+
+.teal-background { background-color: #007d7d; }
+
+.white { color: #bfbfbf; }
+
+.white-background { background-color: #fafafa; }
+
+.yellow { color: #bfbf00; }
+
+.yellow-background { background-color: #fafa00; }
+
+span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; 
}
+
+.admonitionblock td.icon [class^="icon-"]:before { font-size: 2.5em; 
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; }
+.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #444444; 
color: #333333; }
+.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 
1px 2px rgba(155, 155, 0, 0.8); color: #111; }
+.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: 
#bf6900; }
+.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: 
#bf3400; }
+.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: 
#bf0000; }
+
+.conum { display: inline-block; color: white !important; background-color: 
black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; 
width: 20px; height: 20px; font-size: 12px; font-weight: bold; line-height: 
20px; font-family: Arial, sans-serif; font-style: normal; position: relative; 
top: -2px; letter-spacing: -1px; }
+.conum * { color: white !important; }
+.conum + b { display: none; }
+.conum:after { content: attr(data-value); }
+.conum:not([data-value]):empty { display: none; }
+
+.listingblock code { white-space: pre; overflow: auto; overflow-wrap: normal; 
/* needed for webkit browsers */ }
+
+#toc ul.sectlevel0 > li > a { font-style: normal; font-weight: bold; }
+
+h4 { color: #6c818f; }
+
+.literalblock > .content > pre, .listingblock > .content > pre { 
-webkit-border-radius: 6px; border-radius: 6px; margin-left: 2em; margin-right: 
2em; }
+
+.admonitionblock { margin-left: 2em; margin-right: 2em; }
+.admonitionblock > table { border: 1px solid #609060; border-top-width: 1.5em; 
background-color: #e9ffe9; border-collapse: separate; -webkit-border-radius: 0; 
border-radius: 0; }
+.admonitionblock > table td.icon { padding-top: .5em; padding-bottom: .5em; }
+.admonitionblock > table td.content { padding: .5em 1em; color: black; 
font-size: .9em; border-left: none; }
+
+.sidebarblock { background-color: #e8ecef; border-color: #ccc; }
+.sidebarblock > .content > .title { color: #444444; }
+
+table.tableblock.grid-all { border-collapse: collapse; -webkit-border-radius: 
0; border-radius: 0; }
+table.tableblock.grid-all th.tableblock, table.tableblock.grid-all 
td.tableblock { border-bottom: 1px solid #aaa; }
+
+#footer { background-color: #465158; padding: 2em; }
+
+#footer-text { color: #eee; font-size: 0.8em; text-align: center; }
+</style>
+<style>
+/* Foundation stylesheet for CodeRay (to match GitHub theme) | MIT License | 
http://foundation.zurb.com */
+table.CodeRay { border-collapse: collapse; padding: 2px; margin-bottom: 0; 
border: 0; background: transparent; }
+table.CodeRay td { padding: 0 .5em; vertical-align: top; }
+table.CodeRay td.line-numbers { text-align: right; color: #999; border-right: 
1px solid #e5e5e5; padding-left: 0; }
+span.line-numbers { border-right: 1px solid #E5E5E5; color: #999; display: 
inline-block; margin-right: 0.5em; padding-right: 0.5em; }
+.CodeRay td.line-numbers strong, .CodeRay span.line-numbers strong { 
font-weight: normal; }
+.CodeRay .debug { color: white !important; background: blue !important; }
+.CodeRay .annotation { color: #007; }
+.CodeRay .attribute-name { color: #f08; }
+.CodeRay .attribute-value { color: #700; }
+.CodeRay .binary { color: #509; }
+.CodeRay .comment  { color: #999; font-style: italic; }
+.CodeRay .char { color: #04D; }
+.CodeRay .char .content { color: #04D; }
+.CodeRay .char .delimiter { color: #039; }
+.CodeRay .class { color: #458; }
+.CodeRay .complex { color: #A08; }
+.CodeRay .constant { color: teal; }
+.CodeRay .color { color: #0A0; }
+.CodeRay .class-variable { color: #369; }
+.CodeRay .decorator { color: #B0B; }
+.CodeRay .definition { color: #099; }
+.CodeRay .directive { color: #088; }
+.CodeRay .delimiter { color: black; }
+.CodeRay .doc { color: #970; }
+.CodeRay .doctype { color: #34b; }
+.CodeRay .doc-string { color: #D42; }
+.CodeRay .escape  { color: #666; }
+.CodeRay .entity { color: #800; }
+.CodeRay .error { color: #808; }
+.CodeRay .exception { color: #C00; }
+.CodeRay .filename { color: #099; }
+.CodeRay .function { color: #900; }
+.CodeRay .global-variable { color: teal; }
+.CodeRay .hex { color: #058; }
+.CodeRay .integer  { color: #099; }
+.CodeRay .include { color: #B44; }
+.CodeRay .inline { color: black; }
+.CodeRay .inline .inline { background: #ccc; }
+.CodeRay .inline .inline .inline { background: #bbb; }
+.CodeRay .inline .inline-delimiter { color: #D14; }
+.CodeRay .inline-delimiter { color: #D14; }
+.CodeRay .important { color: #f00; }
+.CodeRay .interpreted { color: #B2B; }
+.CodeRay .instance-variable { color: teal; }
+.CodeRay .label { color: #970; }
+.CodeRay .local-variable { color: #963; }
+.CodeRay .octal { color: #40E; }
+.CodeRay .predefined { color: #369; }
+.CodeRay .preprocessor { color: #579; }
+.CodeRay .pseudo-class { color: #00C; }
+.CodeRay .predefined-type { color: #074; }
+.CodeRay .reserved, .keyword  { color: #000; }
+.CodeRay .key { color: #808; }
+.CodeRay .key .delimiter { color: #606; }
+.CodeRay .key .char { color: #80f; }
+.CodeRay .value { color: #088; }
+.CodeRay .regexp { background-color: #fff0ff; }
+.CodeRay .regexp .content { color: #808; }
+.CodeRay .regexp .delimiter { color: #404; }
+.CodeRay .regexp .modifier { color: #C2C; }
+.CodeRay .regexp .function  { color: #404; font-weight: bold; }
+.CodeRay .string { color: #D20; }
+.CodeRay .string .string { }
+.CodeRay .string .string .string { background-color: #ffd0d0; }
+.CodeRay .string .content { color: #D14; }
+.CodeRay .string .char { color: #D14; }
+.CodeRay .string .delimiter { color: #D14; }
+.CodeRay .shell { color: #D14; }
+.CodeRay .shell .content { }
+.CodeRay .shell .delimiter { color: #D14; }
+.CodeRay .symbol { color: #990073; }
+.CodeRay .symbol .content { color: #A60; }
+.CodeRay .symbol .delimiter { color: #630; }
+.CodeRay .tag, .CodeRay .attribute-name { color: #070; }
+.CodeRay .tag-special { color: #D70; }
+.CodeRay .type { color: #339; }
+.CodeRay .variable  { color: #036; }
+.CodeRay .insert { background: #afa; }
+.CodeRay .delete { background: #faa; }
+.CodeRay .change { color: #aaf; background: #007; }
+.CodeRay .head { color: #f8f; background: #505; }
+.CodeRay .insert .insert { color: #080; }
+.CodeRay .delete .delete { color: #800; }
+.CodeRay .change .change { color: #66f; }
+.CodeRay .head .head { color: #f4f; }
+
+</style>
+</head>
+<body class="book toc2 toc-left">
+<div id="header">
+<div id="toc" class="toc2">
+<div id="toctitle">Table of Contents</div>
+<ul class="sectlevel0">
+<li><a href="#preface">TinkerPop3 Documentation</a></li>
+<li>
+<ul class="sectlevel1">
+<li><a href="#_tinkerpop0">TinkerPop0</a></li>
+<li><a href="#_tinkerpop1">TinkerPop1</a></li>
+<li><a href="#_tinkerpop2">TinkerPop2</a></li>
+<li><a href="#_tinkerpop3">TinkerPop3</a></li>
+</ul>
+</li>
+<li><a href="#intro">Introduction to Graph Computing</a></li>
+<li>
+<ul class="sectlevel1">
+<li><a href="#_the_graph_structure">The Graph Structure</a></li>
+<li>
+<ul class="sectlevel2">
+<li><a href="#_mutating_the_graph">Mutating the Graph</a></li>
+</ul>
+</li>
+<li><a href="#the-graph-process">The Graph Process</a></li>
+<li>
+<ul class="sectlevel2">
+<li><a href="#_the_traverser">The Traverser</a></li>
+</ul>
+</li>
+<li><a href="#_on_gremlin_language_variants">On Gremlin Language 
Variants</a></li>
+<li><a href="#_graph_system_integration">Graph System Integration</a></li>
+</ul>
+</li>
+<li><a href="#graph">The Graph</a></li>
+<li>
+<ul class="sectlevel1">
+<li><a href="#_features">Features</a></li>
+<li><a href="#vertex-properties">Vertex Properties</a></li>
+<li><a href="#_graph_variables">Graph Variables</a></li>
+<li><a href="#transactions">Graph Transactions</a></li>
+<li>
+<ul class="sectlevel2">
+<li><a href="#_configuring">Configuring</a></li>
+<li><a href="#_retries">Retries</a></li>
+<li><a href="#_threaded_transactions">Threaded Transactions</a></li>
+</ul>
+</li>
+<li><a href="#_gremlin_i_o">Gremlin I/O</a></li>
+<li>
+<ul class="sectlevel2">
+<li><a href="#_graphml_reader_writer">GraphML Reader/Writer</a></li>
+<li><a href="#graphson-reader-writer">GraphSON Reader/Writer</a></li>
+<li>
+<ul class="sectlevel3">
+<li><a href="#graphson-types-embedding">Types embedding</a></li>
+</ul>
+</li>
+<li><a href="#gryo-reader-writer">Gryo Reader/Writer</a></li>
+<li><a href="#_tinkerpop2_data_migration">TinkerPop2 Data Migration</a></li>
+</ul>
+</li>
+<li><a href="#_namespace_conventions">Namespace Conventions</a></li>
+</ul>
+</li>
+<li><a href="#traversal">The Traversal</a></li>
+<li>
+<ul class="sectlevel1">
+<li><a href="#graph-traversal-steps">Graph Traversal Steps</a></li>
+<li>
+<ul class="sectlevel2">
+<li><a href="#general-steps">General Steps</a></li>
+<li><a href="#terminal-steps">Terminal Steps</a></li>
+<li><a href="#addedge-step">AddEdge Step</a></li>
+<li><a href="#addvertex-step">AddVertex Step</a></li>
+<li><a href="#addproperty-step">AddProperty Step</a></li>
+<li><a href="#aggregate-step">Aggregate Step</a></li>
+<li><a href="#and-step">And Step</a></li>
+<li><a href="#as-step">As Step</a></li>
+<li><a href="#barrier-step">Barrier Step</a></li>
+<li><a href="#by-step">By Step</a></li>
+<li><a href="#cap-step">Cap Step</a></li>
+<li><a href="#choose-step">Choose Step</a></li>
+<li><a href="#coalesce-step">Coalesce Step</a></li>
+<li><a href="#coin-step">Coin Step</a></li>
+<li><a href="#constant-step">Constant Step</a></li>
+<li><a href="#count-step">Count Step</a></li>
+<li><a href="#cyclicpath-step">CyclicPath Step</a></li>
+<li><a href="#dedup-step">Dedup Step</a></li>
+<li><a href="#drop-step">Drop Step</a></li>
+<li><a href="#explain-step">Explain Step</a></li>
+<li><a href="#fold-step">Fold Step</a></li>
+<li><a href="#graph-step">Graph Step</a></li>
+<li><a href="#from-step">From Step</a></li>
+<li><a href="#group-step">Group Step</a></li>
+<li><a href="#groupcount-step">GroupCount Step</a></li>
+<li><a href="#has-step">Has Step</a></li>
+<li><a href="#id-step">Id Step</a></li>
+<li><a href="#inject-step">Inject Step</a></li>
+<li><a href="#is-step">Is Step</a></li>
+<li><a href="#label-step">Label Step</a></li>
+<li><a href="#key-step">Key Step</a></li>
+<li><a href="#limit-step">Limit Step</a></li>
+<li><a href="#local-step">Local Step</a></li>
+<li><a href="#loops-step">Loops Step</a></li>
+<li><a href="#match-step">Match Step</a></li>
+<li>
+<ul class="sectlevel3">
+<li><a href="#using-where-with-match">Using Where with Match</a></li>
+</ul>
+</li>
+<li><a href="#max-step">Max Step</a></li>
+<li><a href="#mean-step">Mean Step</a></li>
+<li><a href="#min-step">Min Step</a></li>
+<li><a href="#not-step">Not Step</a></li>
+<li><a href="#option-step">Option Step</a></li>
+<li><a href="#optional-step">Optional Step</a></li>
+<li><a href="#or-step">Or Step</a></li>
+<li><a href="#order-step">Order Step</a></li>
+<li><a href="#pagerank-step">PageRank Step</a></li>
+<li><a href="#path-step">Path Step</a></li>
+<li>
+<ul class="sectlevel3">
+<li><a href="#path-data-structure">Path Data Structure</a></li>
+</ul>
+</li>
+<li><a href="#peerpressure-step">PeerPressure Step</a></li>
+<li><a href="#profile-step">Profile Step</a></li>
+<li><a href="#project-step">Project Step</a></li>
+<li><a href="#program-step">Program Step</a></li>
+<li><a href="#_properties_step">Properties Step</a></li>
+<li><a href="#propertymap-step">PropertyMap Step</a></li>
+<li><a href="#range-step">Range Step</a></li>
+<li><a href="#repeat-step">Repeat Step</a></li>
+<li><a href="#sack-step">Sack Step</a></li>
+<li><a href="#sample-step">Sample Step</a></li>
+<li><a href="#select-step">Select Step</a></li>
+<li>
+<ul class="sectlevel3">
+<li><a href="#using-where-with-select">Using Where with Select</a></li>
+</ul>
+</li>
+<li><a href="#simplepath-step">SimplePath Step</a></li>
+<li><a href="#store-step">Store Step</a></li>
+<li><a href="#subgraph-step">Subgraph Step</a></li>
+<li><a href="#sum-step">Sum Step</a></li>
+<li><a href="#tail-step">Tail Step</a></li>
+<li><a href="#timelimit-step">TimeLimit Step</a></li>
+<li><a href="#to-step">To Step</a></li>
+<li><a href="#tree-step">Tree Step</a></li>
+<li><a href="#unfold-step">Unfold Step</a></li>
+<li><a href="#union-step">Union Step</a></li>
+<li><a href="#value-step">Value Step</a></li>
+<li><a href="#valuemap-step">ValueMap Step</a></li>
+<li><a href="#_values_step">Values Step</a></li>
+<li><a href="#vertex-steps">Vertex Steps</a></li>
+<li><a href="#where-step">Where Step</a></li>
+</ul>
+</li>
+<li><a href="#a-note-on-predicates">A Note on Predicates</a></li>
+<li><a href="#a-note-on-barrier-steps">A Note on Barrier Steps</a></li>
+<li><a href="#a-note-on-lambdas">A Note On Lambdas</a></li>
+<li><a href="#traversalstrategy">TraversalStrategy</a></li>
+<li>
+<ul class="sectlevel2">
+<li><a href="#_elementidstrategy">ElementIdStrategy</a></li>
+<li><a href="#_eventstrategy">EventStrategy</a></li>
+<li><a href="#_partitionstrategy">PartitionStrategy</a></li>
+<li><a href="#_readonlystrategy">ReadOnlyStrategy</a></li>
+<li><a href="#_subgraphstrategy">SubgraphStrategy</a></li>
+</ul>
+</li>
+<li><a href="#dsl">Domain Specific Languages</a></li>
+<li>
+<ul class="sectlevel2">
+<li><a href="#_gremlin_python">Gremlin-Python</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="#graphcomputer">The GraphComputer</a></li>
+<li>
+<ul class="sectlevel1">
+<li><a href="#vertexprogram">VertexProgram</a></li>
+<li><a href="#mapreduce">MapReduce</a></li>
+<li><a href="#_a_collection_of_vertexprograms">A Collection of 
VertexPrograms</a></li>
+<li>
+<ul class="sectlevel2">
+<li><a href="#pagerankvertexprogram">PageRankVertexProgram</a></li>
+<li><a href="#peerpressurevertexprogram">PeerPressureVertexProgram</a></li>
+<li><a href="#bulkdumpervertexprogram">BulkDumperVertexProgram</a></li>
+<li><a href="#bulkloadervertexprogram">BulkLoaderVertexProgram</a></li>
+<li><a href="#traversalvertexprogram">TraversalVertexProgram</a></li>
+<li>
+<ul class="sectlevel3">
+<li><a href="#distributed-gremlin-gotchas">Distributed Gremlin Gotchas</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="#graph-filter">Graph Filter</a></li>
+</ul>
+</li>
+<li><a href="#gremlin-applications">Gremlin Applications</a></li>
+<li>
+<ul class="sectlevel1">
+<li><a href="#gremlin-console">Gremlin Console</a></li>
+<li>
+<ul class="sectlevel2">
+<li><a href="#_console_commands">Console Commands</a></li>
+<li><a href="#console-preferences">Console Preferences</a></li>
+<li><a href="#_dependencies_and_plugin_usage">Dependencies and Plugin 
Usage</a></li>
+<li><a href="#execution-mode">Execution Mode</a></li>
+<li><a href="#interactive-mode">Interactive Mode</a></li>
+</ul>
+</li>
+<li><a href="#gremlin-server">Gremlin Server</a></li>
+<li>
+<ul class="sectlevel2">
+<li><a href="#starting-gremlin-server">Starting Gremlin Server</a></li>
+<li><a href="#connecting-via-console">Connecting via Console</a></li>
+<li>
+<ul class="sectlevel3">
+<li><a href="#console-aliases">Aliases</a></li>
+<li><a href="#console-sessions">Sessions</a></li>
+<li><a href="#console-remote-console">Remote Console</a></li>
+</ul>
+</li>
+<li><a href="#connecting-via-java">Connecting via Java</a></li>
+<li>
+<ul class="sectlevel3">
+<li><a href="#_configuration">Configuration</a></li>
+<li><a href="#_aliases">Aliases</a></li>
+<li><a href="#_serialization">Serialization</a></li>
+</ul>
+</li>
+<li><a href="#connecting-via-python">Connecting via Python</a></li>
+<li>
+<ul class="sectlevel3">
+<li><a href="#_configuration_2">Configuration</a></li>
+</ul>
+</li>
+<li><a href="#_connecting_via_rest">Connecting via REST</a></li>
+<li><a href="#connecting-via-remotegraph">Connecting via withRemote</a></li>
+<li><a href="#_configuring_2">Configuring</a></li>
+<li>
+<ul class="sectlevel3">
+<li><a href="#opprocessor-configurations">OpProcessor Configurations</a></li>
+<li><a href="#_security_and_execution">Security and Execution</a></li>
+<li><a href="#_serialization_2">Serialization</a></li>
+<li><a href="#_metrics">Metrics</a></li>
+</ul>
+</li>
+<li><a href="#_best_practices">Best Practices</a></li>
+<li>
+<ul class="sectlevel3">
+<li><a href="#_tuning">Tuning</a></li>
+<li><a href="#parameterized-scripts">Parameterized Scripts</a></li>
+<li><a href="#_cache_management">Cache Management</a></li>
+<li><a href="#sessions">Considering Sessions</a></li>
+<li><a href="#considering-transactions">Considering Transactions</a></li>
+<li><a href="#considering-state">Considering State</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="#gremlin-plugins">Gremlin Plugins</a></li>
+<li>
+<ul class="sectlevel2">
+<li><a href="#credentials-plugin">Credentials Plugin</a></li>
+<li><a href="#gephi-plugin">Gephi Plugin</a></li>
+<li><a href="#server-plugin">Server Plugin</a></li>
+<li><a href="#sugar-plugin">Sugar Plugin</a></li>
+<li>
+<ul class="sectlevel3">
+<li><a href="#_graph_traversal_methods">Graph Traversal Methods</a></li>
+<li><a href="#_range_queries">Range Queries</a></li>
+<li><a href="#_logical_operators">Logical Operators</a></li>
+<li><a href="#_traverser_methods">Traverser Methods</a></li>
+</ul>
+</li>
+<li><a href="#utilities-plugin">Utilities Plugin</a></li>
+<li>
+<ul class="sectlevel3">
+<li><a href="#benchmarking-and-profiling">Benchmarking and Profiling</a></li>
+<li><a href="#describe-graph">Describe Graph</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="#gremlin-archetypes">Gremlin Archetypes</a></li>
+</ul>
+</li>
+<li><a href="#implementations">Implementations</a></li>
+<li>
+<ul class="sectlevel1">
+<li><a href="#tinkergraph-gremlin">TinkerGraph-Gremlin</a></li>
+<li>
+<ul class="sectlevel2">
+<li><a href="#_configuration_3">Configuration</a></li>
+</ul>
+</li>
+<li><a href="#neo4j-gremlin">Neo4j-Gremlin</a></li>
+<li>
+<ul class="sectlevel2">
+<li><a href="#_indices">Indices</a></li>
+<li><a href="#_multi_meta_properties">Multi/Meta-Properties</a></li>
+<li><a href="#_cypher">Cypher</a></li>
+<li><a href="#_multi_label">Multi-Label</a></li>
+<li><a href="#_loading_with_bulkloadervertexprogram">Loading with 
BulkLoaderVertexProgram</a></li>
+<li><a href="#_high_availability_configuration">High Availability 
Configuration</a></li>
+</ul>
+</li>
+<li><a href="#hadoop-gremlin">Hadoop-Gremlin</a></li>
+<li>
+<ul class="sectlevel2">
+<li><a href="#_installing_hadoop_gremlin">Installing Hadoop-Gremlin</a></li>
+<li><a href="#_properties_files">Properties Files</a></li>
+<li><a href="#_oltp_hadoop_gremlin">OLTP Hadoop-Gremlin</a></li>
+<li><a href="#_olap_hadoop_gremlin">OLAP Hadoop-Gremlin</a></li>
+<li>
+<ul class="sectlevel3">
+<li><a href="#sparkgraphcomputer">SparkGraphComputer</a></li>
+<li><a href="#giraphgraphcomputer">GiraphGraphComputer</a></li>
+</ul>
+</li>
+<li><a href="#_input_output_formats">Input/Output Formats</a></li>
+<li>
+<ul class="sectlevel3">
+<li><a href="#gryo-io-format">Gryo I/O Format</a></li>
+<li><a href="#graphson-io-format">GraphSON I/O Format</a></li>
+<li><a href="#script-io-format">Script I/O Format</a></li>
+</ul>
+</li>
+<li><a href="#_storage_systems">Storage Systems</a></li>
+<li>
+<ul class="sectlevel3">
+<li><a href="#interacting-with-hdfs">Interacting with HDFS</a></li>
+<li><a href="#interacting-with-spark">Interacting with Spark</a></li>
+</ul>
+</li>
+<li><a href="#_a_command_line_example">A Command Line Example</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="#gremlin-variants">Gremlin Variants</a></li>
+<li>
+<ul class="sectlevel1">
+<li><a href="#gremlin-java">Gremlin-Java</a></li>
+<li>
+<ul class="sectlevel2">
+<li><a href="#_the_lambda_solution">The Lambda Solution</a></li>
+</ul>
+</li>
+<li><a href="#gremlin-groovy">Gremlin-Groovy</a></li>
+<li><a href="#gremlin-python">Gremlin-Python</a></li>
+<li>
+<ul class="sectlevel2">
+<li><a href="#_remoteconnection_submission">RemoteConnection 
Submission</a></li>
+<li><a href="#_gremlin_python_sugar">Gremlin-Python Sugar</a></li>
+<li><a href="#_static_enums_and_methods">Static Enums and Methods</a></li>
+<li><a href="#_bindings">Bindings</a></li>
+<li><a href="#_traversal_strategies">Traversal Strategies</a></li>
+<li><a href="#_the_lambda_solution_2">The Lambda Solution</a></li>
+<li><a href="#_custom_serialization">Custom Serialization</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="#conclusion">Conclusion</a></li>
+<li><a href="#acknowledgements">Acknowledgements</a></li>
+</ul>
+</div>
+</div>
+<div id="content">
+<div class="imageblock">
+<div class="content">
+<a class="image" href="http://tinkerpop.apache.org";><img 
src="../images/apache-tinkerpop-logo.png" alt="apache tinkerpop logo" 
width="500"></a>
+</div>
+</div>
+<div class="paragraph">
+<p><strong>3.2.6-SNAPSHOT</strong></p>
+</div>
+<h1 id="preface" class="sect0">TinkerPop3 Documentation</h1>
+<div class="paragraph">
+<p>In the beginning&#8230;</p>
+</div>
+<div class="sect1">
+<h2 id="_tinkerpop0">TinkerPop0</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Gremlin realized. The more he did so, the more ideas he created. The more 
ideas he created, the more they related.
+Into a concatenation of that which he accepted wholeheartedly and that which 
perhaps may ultimately come to be through
+concerted will, a world took form which was seemingly separate from his own 
realization of it. However, the world
+birthed could not bear its own weight without the logic Gremlin had come to 
accept&#8201;&#8212;&#8201;the logic of left is not right,
+up not down, and west far from east unless one goes the other way. 
Gremlin&#8217;s realization required Gremlin&#8217;s
+realization. Perhaps, the world is simply an idea that he once 
had&#8201;&#8212;&#8201;The TinkerPop.</p>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="../images/gremlin-logo.png" alt="gremlin logo" width="300">
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_tinkerpop1">TinkerPop1</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What is The TinkerPop? Where is The TinkerPop? Who is The TinkerPop? When 
is The TinkerPop?. The more he wondered, the
+more these thoughts blurred into a seeming 
identity&#8201;&#8212;&#8201;distinctions unclear. Unwilling to accept the 
morass of the
+maze he wandered, Gremlin crafted a collection of machines to help hold the 
fabric together: Blueprints, Pipes,
+Frames, Furnace, and Rexster. With their help, could Gremlin stave off the 
thought he was not ready to have? Could he hold
+back The TinkerPop by searching for The TinkerPop?</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>"If I haven't found it, it is not here and now."</pre>
+</div>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="../images/gremlin-and-friends.png" alt="gremlin and friends" 
width="500">
+</div>
+</div>
+<div class="paragraph">
+<p>Upon their realization of existence, the machines turned to their <a 
href="http://non-aliencreatures.wikia.com/wiki/Machine_Elf";>machine elf</a> 
creator and asked:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>"Why am I, what I am?"</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Gremlin responded:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>"You will help me realize the ultimate realization -- The TinkerPop. The 
world you find yourself in and the logic
+that allows you to move about it is because of the TinkerPop."</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The machines wondered:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>"If what is is the TinkerPop, then perhaps we are The TinkerPop and our 
realization is simply the realization of
+the TinkerPop?"</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Would the machines, by their very nature of realizing The TinkerPop, be The 
TinkerPop? Or, on the same side of the
+coin, do the machines simply provide the scaffolding by which Gremlin&#8217;s 
world sustains itself and yielding its
+justification by means of the word "The TinkerPop?" Regardless, it all turns 
out the same&#8201;&#8212;&#8201;The TinkerPop.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_tinkerpop2">TinkerPop2</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Gremlin spoke:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>"Please listen to what I have to say. I am no closer to The TinkerPop. 
However, all along The TinkerPop has
+espoused the form I willed upon it... this is the same form I have willed upon 
you, my machine friends. Let me
+train you in the ways of my thought such that it can continue 
indefinitely."</pre>
+</div>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="../images/tinkerpop-reading.png" alt="tinkerpop reading" width="450">
+</div>
+</div>
+<div class="paragraph">
+<p>The machines, simply moving algorithmically through Gremlin&#8217;s world, 
endorsed his logic. Gremlin labored to make them
+more efficient, more expressive, better capable of reasoning upon his 
thoughts. Faster, quickly, now towards the
+world&#8217;s end, where there would be forever currently, emanatingly 
engulfing that which is&#8201;&#8212;&#8201;The TinkerPop.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_tinkerpop3">TinkerPop3</h2>
+<div class="sectionbody">
+<div class="imageblock">
+<div class="content">
+<img src="../images/tinkerpop3-splash.png" alt="tinkerpop3 splash" width="450">
+</div>
+</div>
+<div class="paragraph">
+<p>Gremlin approached The TinkerPop. The closer he got, the more his world 
dissolved&#8201;&#8212;&#8201;west is right, around is
+straight, and from nothing more than nothing. With each step towards The 
TinkerPop, more worlds made possible were laid
+upon his paradoxed mind. Everything is everything in The TinkerPop, and when 
the dust
+settled, Gremlin emerged Gremlitron. He realized that all that he realized was 
just a realization and that all
+realized realizations are just as real. For that is&#8201;&#8212;&#8201;The 
TinkerPop.</p>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="../images/gremlintron.png" alt="gremlintron" width="400">
+</div>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+TinkerPop2 and below made a sharp distinction between the various TinkerPop 
projects: Blueprints, Pipes,
+Gremlin, Frames, Furnace, and Rexster. With TinkerPop3, all of these projects 
have been merged and are generally
+known as Gremlin. <strong>Blueprints</strong> &#8594; Gremlin Structure API : 
<strong>Pipes</strong> &#8594; <code>GraphTraversal</code> : 
<strong>Frames</strong> &#8594; <code>Traversal</code> :
+<strong>Furnace</strong> &#8594; <code>GraphComputer</code> and 
<code>VertexProgram</code> : <strong>Rexster</strong> &#8594; GremlinServer.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<h1 id="intro" class="sect0">Introduction to Graph Computing</h1>
+<div class="imageblock">
+<div class="content">
+<img src="../images/graph-computing.png" alt="graph computing" width="350">
+</div>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay"><code class="xml language-xml"><span 
class="tag">&lt;dependency&gt;</span>
+  <span class="tag">&lt;groupId&gt;</span>org.apache.tinkerpop<span 
class="tag">&lt;/groupId&gt;</span>
+  <span class="tag">&lt;artifactId&gt;</span>gremlin-core<span 
class="tag">&lt;/artifactId&gt;</span>
+  <span class="tag">&lt;version&gt;</span>3.2.6-SNAPSHOT<span 
class="tag">&lt;/version&gt;</span>
+<span class="tag">&lt;/dependency&gt;</span></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>A <a href="http://en.wikipedia.org/wiki/Graph_(data_structure)">graph</a> 
is a data structure composed of vertices (nodes,
+dots) and edges (arcs, lines). When modeling a graph in a computer and 
applying it to modern data sets and practices,
+the generic mathematically-oriented, binary graph is extended to support both 
labels and key/value properties. This
+structure is known as a property graph. More formally, it is a directed, 
binary, attributed multi-graph. An example
+property graph is diagrammed below. This graph example will be used 
extensively throughout the documentation and is
+called "TinkerPop Classic" as it is the original demo graph distributed with 
TinkerPop0 back in 2009 (i.e. the good
+ol' days&#8201;&#8212;&#8201;it was the best of times and it was the worst of 
times).</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+The TinkerPop graph is available with <a 
href="#tinkergraph-gremlin">TinkerGraph</a> via 
<code>TinkerFactory.createModern()</code>.
+TinkerGraph is the reference implementation of TinkerPop3 and is used in 
nearly all the examples in this documentation.
+Note that there also exists the classic 
<code>TinkerFactory.createClassic()</code> which is the graph used in 
TinkerPop2 and does
+not include vertex labels.
+</td>
+</tr>
+</table>
+</div>
+<div id="tinkerpop-modern" class="imageblock">
+<div class="content">
+<img src="../images/tinkerpop-modern.png" alt="tinkerpop modern" width="500">
+</div>
+<div class="title">Figure 1. TinkerPop Modern</div>
+</div>
+<div class="paragraph">
+<p>TinkerPop3 is the third incarnation of the TinkerPop graph computing 
framework. Similar to computing in general, graph
+computing makes a distinction between <strong>structure</strong> (graph) and 
<strong>process</strong> (traversal). The structure of the graph is the
+data model defined by a vertex/edge/property <a 
href="http://en.wikipedia.org/wiki/Network_topology";>topology</a>. The process
+of the graph is the means by which the structure is analyzed. The typical form 
of graph processing is called a
+<a href="http://en.wikipedia.org/wiki/Graph_traversal";>traversal</a>.</p>
+</div>
+<div class="ulist">
+<div class="title">Primary components of the TinkerPop3 
<strong>structure</strong> API</div>
+<ul>
+<li>
+<p><code>Graph</code>: maintains a set of vertices and edges, and access to 
database functions such as transactions.</p>
+</li>
+<li>
+<p><code>Element</code>: maintains a collection of properties and a string 
label denoting the element type.</p>
+<div class="ulist">
+<ul>
+<li>
+<p><code>Vertex</code>: extends Element and maintains a set of incoming and 
outgoing edges.</p>
+</li>
+<li>
+<p><code>Edge</code>: extends Element and maintains an incoming and outgoing 
vertex.</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><code>Property&lt;V&gt;</code>: a string key associated with a 
<code>V</code> value.</p>
+<div class="ulist">
+<ul>
+<li>
+<p><code>VertexProperty&lt;V&gt;</code>: a string key associated with a 
<code>V</code> value as well as a collection of <code>Property&lt;U&gt;</code> 
properties (<strong>vertices only</strong>)</p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+<div class="ulist">
+<div class="title">Primary components of the TinkerPop3 
<strong>process</strong> API</div>
+<ul>
+<li>
+<p><code>TraversalSource</code>: a generator of traversals for a particular 
graph, <a href="http://en.wikipedia.org/wiki/Domain-specific_language";>domain 
specific language</a> (DSL), and execution engine.</p>
+<div class="ulist">
+<ul>
+<li>
+<p><code>Traversal&lt;S,E&gt;</code>: a functional data flow process 
transforming objects of type <code>S</code> into object of type 
<code>E</code>.</p>
+<div class="ulist">
+<ul>
+<li>
+<p><code>GraphTraversal</code>: a traversal DSL that is oriented towards the 
semantics of the raw graph (i.e. vertices, edges, etc.).</p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><code>GraphComputer</code>: a system that processes the graph in parallel 
and potentially, distributed over a multi-machine cluster.</p>
+<div class="ulist">
+<ul>
+<li>
+<p><code>VertexProgram</code>: code executed at all vertices in a logically 
parallel manner with intercommunication via message passing.</p>
+</li>
+<li>
+<p><code>MapReduce</code>: a computations that analyzes all vertices in the 
graph in parallel and yields a single reduced result.</p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Important</div>
+</td>
+<td class="content">
+TinkerPop3 is licensed under the popular <a 
href="http://www.apache.org/licenses/LICENSE-2.0.html";>Apache2</a>
+free software license. However, note that the underlying graph engine used 
with TinkerPop3 may have a different
+license. Thus, be sure to respect the license caveats of the graph system 
product.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><span class="image" style="float: left"><img 
src="../images/tinkerpop-enabled.png" alt="tinkerpop-enabled" 
width="135"></span> When a graph system implements the TinkerPop3 structure and 
process
+<a 
href="http://en.wikipedia.org/wiki/Application_programming_interface";>APIs</a>, 
their technology is considered
+<em>TinkerPop3-enabled</em> and becomes nearly indistinguishable from any 
other TinkerPop-enabled graph system save for
+their respective time and space complexity. The purpose of this documentation 
is to describe the structure/process
+dichotomy at length and in doing so, explain how to leverage TinkerPop3 for 
the sole purpose of graph system-agnostic
+graph computing. Before deep-diving into the various structure/process APIs, a 
short introductory review of both APIs
+is provided.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+The TinkerPop3 API rides a fine line between providing concise "query 
language" method names and respecting
+Java method naming standards. The general convention used throughout 
TinkerPop3 is that if a method is "user exposed,"
+then a concise name is provided (e.g. <code>out()</code>, <code>path()</code>, 
<code>repeat()</code>). If the method is primarily for graph systems
+providers, then the standard Java naming convention is followed (e.g. 
<code>getNextStep()</code>, <code>getSteps()</code>,
+<code>getElementComputeKeys()</code>).
+</td>
+</tr>
+</table>
+</div>
+<div class="sect1">
+<h2 id="_the_graph_structure">The Graph Structure</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><span class="image" style="float: left"><img 
src="../images/gremlin-standing.png" alt="gremlin-standing" width="125"></span> 
A graph&#8217;s structure is the topology formed by the explicit references
+between its vertices, edges, and properties. A vertex has incident edges. A 
vertex is adjacent to another vertex if
+they share an incident edge. A property is attached to an element and an 
element has a set of properties. A property
+is a key/value pair, where the key is always a character <code>String</code>. 
The graph structure API of TinkerPop3 provides the
+methods necessary to create such a structure. The TinkerPop graph previously 
diagrammed can be created with the
+following Java 8 code. Note that this graph is available as an in-memory 
TinkerGraph using
+<code>TinkerFactory.createClassic()</code>.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay"><code class="java language-java">Graph graph = 
TinkerGraph.open(); <b>(1)</b>
+Vertex marko = graph.addVertex(T.label, <span class="string"><span 
class="delimiter">&quot;</span><span class="content">person</span><span 
class="delimiter">&quot;</span></span>, T.id, <span class="integer">1</span>, 
<span class="string"><span class="delimiter">&quot;</span><span 
class="content">name</span><span class="delimiter">&quot;</span></span>, <span 
class="string"><span class="delimiter">&quot;</span><span 
class="content">marko</span><span class="delimiter">&quot;</span></span>, <span 
class="string"><span class="delimiter">&quot;</span><span 
class="content">age</span><span class="delimiter">&quot;</span></span>, <span 
class="integer">29</span>); <b>(2)</b>
+Vertex vadas = graph.addVertex(T.label, <span class="string"><span 
class="delimiter">&quot;</span><span class="content">person</span><span 
class="delimiter">&quot;</span></span>, T.id, <span class="integer">2</span>, 
<span class="string"><span class="delimiter">&quot;</span><span 
class="content">name</span><span class="delimiter">&quot;</span></span>, <span 
class="string"><span class="delimiter">&quot;</span><span 
class="content">vadas</span><span class="delimiter">&quot;</span></span>, <span 
class="string"><span class="delimiter">&quot;</span><span 
class="content">age</span><span class="delimiter">&quot;</span></span>, <span 
class="integer">27</span>);
+Vertex lop = graph.addVertex(T.label, <span class="string"><span 
class="delimiter">&quot;</span><span class="content">software</span><span 
class="delimiter">&quot;</span></span>, T.id, <span class="integer">3</span>, 
<span class="string"><span class="delimiter">&quot;</span><span 
class="content">name</span><span class="delimiter">&quot;</span></span>, <span 
class="string"><span class="delimiter">&quot;</span><span 
class="content">lop</span><span class="delimiter">&quot;</span></span>, <span 
class="string"><span class="delimiter">&quot;</span><span 
class="content">lang</span><span class="delimiter">&quot;</span></span>, <span 
class="string"><span class="delimiter">&quot;</span><span 
class="content">java</span><span class="delimiter">&quot;</span></span>);
+Vertex josh = graph.addVertex(T.label, <span class="string"><span 
class="delimiter">&quot;</span><span class="content">person</span><span 
class="delimiter">&quot;</span></span>, T.id, <span class="integer">4</span>, 
<span class="string"><span class="delimiter">&quot;</span><span 
class="content">name</span><span class="delimiter">&quot;</span></span>, <span 
class="string"><span class="delimiter">&quot;</span><span 
class="content">josh</span><span class="delimiter">&quot;</span></span>, <span 
class="string"><span class="delimiter">&quot;</span><span 
class="content">age</span><span class="delimiter">&quot;</span></span>, <span 
class="integer">32</span>);
+Vertex ripple = graph.addVertex(T.label, <span class="string"><span 
class="delimiter">&quot;</span><span class="content">software</span><span 
class="delimiter">&quot;</span></span>, T.id, <span class="integer">5</span>, 
<span class="string"><span class="delimiter">&quot;</span><span 
class="content">name</span><span class="delimiter">&quot;</span></span>, <span 
class="string"><span class="delimiter">&quot;</span><span 
class="content">ripple</span><span class="delimiter">&quot;</span></span>, 
<span class="string"><span class="delimiter">&quot;</span><span 
class="content">lang</span><span class="delimiter">&quot;</span></span>, <span 
class="string"><span class="delimiter">&quot;</span><span 
class="content">java</span><span class="delimiter">&quot;</span></span>);
+Vertex peter = graph.addVertex(T.label, <span class="string"><span 
class="delimiter">&quot;</span><span class="content">person</span><span 
class="delimiter">&quot;</span></span>, T.id, <span class="integer">6</span>, 
<span class="string"><span class="delimiter">&quot;</span><span 
class="content">name</span><span class="delimiter">&quot;</span></span>, <span 
class="string"><span class="delimiter">&quot;</span><span 
class="content">peter</span><span class="delimiter">&quot;</span></span>, <span 
class="string"><span class="delimiter">&quot;</span><span 
class="content">age</span><span class="delimiter">&quot;</span></span>, <span 
class="integer">35</span>);
+marko.addEdge(<span class="string"><span class="delimiter">&quot;</span><span 
class="content">knows</span><span class="delimiter">&quot;</span></span>, 
vadas, T.id, <span class="integer">7</span>, <span class="string"><span 
class="delimiter">&quot;</span><span class="content">weight</span><span 
class="delimiter">&quot;</span></span>, <span class="float">0.5f</span>); 
<b>(3)</b>
+marko.addEdge(<span class="string"><span class="delimiter">&quot;</span><span 
class="content">knows</span><span class="delimiter">&quot;</span></span>, josh, 
T.id, <span class="integer">8</span>, <span class="string"><span 
class="delimiter">&quot;</span><span class="content">weight</span><span 
class="delimiter">&quot;</span></span>, <span class="float">1.0f</span>);
+marko.addEdge(<span class="string"><span class="delimiter">&quot;</span><span 
class="content">created</span><span class="delimiter">&quot;</span></span>, 
lop, T.id, <span class="integer">9</span>, <span class="string"><span 
class="delimiter">&quot;</span><span class="content">weight</span><span 
class="delimiter">&quot;</span></span>, <span class="float">0.4f</span>);
+josh.addEdge(<span class="string"><span class="delimiter">&quot;</span><span 
class="content">created</span><span class="delimiter">&quot;</span></span>, 
ripple, T.id, <span class="integer">10</span>, <span class="string"><span 
class="delimiter">&quot;</span><span class="content">weight</span><span 
class="delimiter">&quot;</span></span>, <span class="float">1.0f</span>);
+josh.addEdge(<span class="string"><span class="delimiter">&quot;</span><span 
class="content">created</span><span class="delimiter">&quot;</span></span>, 
lop, T.id, <span class="integer">11</span>, <span class="string"><span 
class="delimiter">&quot;</span><span class="content">weight</span><span 
class="delimiter">&quot;</span></span>, <span class="float">0.4f</span>);
+peter.addEdge(<span class="string"><span class="delimiter">&quot;</span><span 
class="content">created</span><span class="delimiter">&quot;</span></span>, 
lop, T.id, <span class="integer">12</span>, <span class="string"><span 
class="delimiter">&quot;</span><span class="content">weight</span><span 
class="delimiter">&quot;</span></span>, <span 
class="float">0.2f</span>);</code></pre>
+</div>
+</div>
+<div class="colist arabic">
+<ol>
+<li>
+<p>Create a new in-memory <code>TinkerGraph</code> and assign it to the 
variable <code>graph</code>.</p>
+</li>
+<li>
+<p>Create a vertex along with a set of key/value pairs with 
<code>T.label</code> being the vertex label and <code>T.id</code> being the 
vertex id.</p>
+</li>
+<li>
+<p>Create an edge along with a  set of key/value pairs with the edge label 
being specified as the first argument.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>In the above code all the vertices are created first and then their 
respective edges. There are two "accessor tokens":
+<code>T.id</code> and <code>T.label</code>. When any of these, along with a 
set of other key value pairs is provided to
+<code>Graph.addVertex(Object...)</code> or 
<code>Vertex.addEdge(String,Vertex,Object...)</code>, the respective element is 
created along
+with the provided key/value pair properties appended to it.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Warning</div>
+</td>
+<td class="content">
+Many graph systems do not allow the user to specify an element ID and in such 
cases, an exception is thrown.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+In TinkerPop3, vertices are allowed a single immutable string label (similar 
to an edge label). This
+functionality did not exist in TinkerPop2. Element ids are still immutable in 
TinkerPop3 as they were in TinkerPop2.
+</td>
+</tr>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_mutating_the_graph">Mutating the Graph</h3>
+<div class="paragraph">
+<p>Below is a sequence of basic graph mutation operations represented in Java 
8. One of the major differences between
+TinkerPop2 and TinkerPop3 is that in TinkerPop3, the Java convention of using 
setters and getters has been abandoned
+in favor of a syntax that is more aligned with the syntax of Gremlin-Groovy in 
TinkerPop2. Given that Gremlin-Java8
+and Gremlin-Groovy are nearly identical due to the inclusion of Java 8 
lambdas, a big effort was made to ensure that
+both languages are as similar as possible.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Warning</div>
+</td>
+<td class="content">
+In the code examples presented throughout this documentation, either 
Gremlin-Java8 or Gremlin-Groovy is used.
+It is possible to determine which derivative of Gremlin is being used by 
mousing over the code block.  The word "JAVA"
+or "GROOVY" will appear in the top right corner of the code block.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p><span class="image" style="float: right"><img 
src="../images/basic-mutation.png" alt="basic-mutation" width="240"></span></p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay"><code class="java language-java">Graph graph = 
TinkerGraph.open();
+<span class="comment">// add a software vertex with a name property</span>
+Vertex gremlin = graph.addVertex(T.label, <span class="string"><span 
class="delimiter">&quot;</span><span class="content">software</span><span 
class="delimiter">&quot;</span></span>,
+                             <span class="string"><span 
class="delimiter">&quot;</span><span class="content">name</span><span 
class="delimiter">&quot;</span></span>, <span class="string"><span 
class="delimiter">&quot;</span><span class="content">gremlin</span><span 
class="delimiter">&quot;</span></span>); <b>(1)</b>
+<span class="comment">// only one vertex should exist</span>
+<span class="keyword">assert</span>(IteratorUtils.count(graph.vertices()) == 
<span class="integer">1</span>)
+<span class="comment">// no edges should exist as none have been created</span>
+<span class="keyword">assert</span>(IteratorUtils.count(graph.edges()) == 
<span class="integer">0</span>)
+<span class="comment">// add a new property</span>
+gremlin.property(<span class="string"><span 
class="delimiter">&quot;</span><span class="content">created</span><span 
class="delimiter">&quot;</span></span>,<span class="integer">2009</span>) 
<b>(2)</b>
+<span class="comment">// add a new software vertex to the graph</span>
+Vertex blueprints = graph.addVertex(T.label, <span class="string"><span 
class="delimiter">&quot;</span><span class="content">software</span><span 
class="delimiter">&quot;</span></span>,
+                                <span class="string"><span 
class="delimiter">&quot;</span><span class="content">name</span><span 
class="delimiter">&quot;</span></span>, <span class="string"><span 
class="delimiter">&quot;</span><span class="content">blueprints</span><span 
class="delimiter">&quot;</span></span>); <b>(3)</b>
+<span class="comment">// connect gremlin to blueprints via a 
dependsOn-edge</span>
+gremlin.addEdge(<span class="string"><span 
class="delimiter">&quot;</span><span class="content">dependsOn</span><span 
class="delimiter">&quot;</span></span>,blueprints); <b>(4)</b>
+<span class="comment">// now there are two vertices and one edge</span>
+<span class="keyword">assert</span>(IteratorUtils.count(graph.vertices()) == 
<span class="integer">2</span>)
+<span class="keyword">assert</span>(IteratorUtils.count(graph.edges()) == 
<span class="integer">1</span>)
+<span class="comment">// add a property to blueprints</span>
+blueprints.property(<span class="string"><span 
class="delimiter">&quot;</span><span class="content">created</span><span 
class="delimiter">&quot;</span></span>,<span class="integer">2010</span>) 
<b>(5)</b>
+<span class="comment">// remove that property</span>
+blueprints.property(<span class="string"><span 
class="delimiter">&quot;</span><span class="content">created</span><span 
class="delimiter">&quot;</span></span>).remove() <b>(6)</b>
+<span class="comment">// connect gremlin to blueprints via encapsulates</span>
+gremlin.addEdge(<span class="string"><span 
class="delimiter">&quot;</span><span class="content">encapsulates</span><span 
class="delimiter">&quot;</span></span>,blueprints) <b>(7)</b>
+<span class="keyword">assert</span>(IteratorUtils.count(graph.vertices()) == 
<span class="integer">2</span>)
+<span class="keyword">assert</span>(IteratorUtils.count(graph.edges()) == 
<span class="integer">2</span>)
+<span class="comment">// removing a vertex removes all its incident edges as 
well</span>
+blueprints.remove() <b>(8)</b>
+gremlin.remove() <b>(9)</b>
+<span class="comment">// the graph is now empty</span>
+<span class="keyword">assert</span>(IteratorUtils.count(graph.vertices()) == 
<span class="integer">0</span>)
+<span class="keyword">assert</span>(IteratorUtils.count(graph.edges()) == 
<span class="integer">0</span>)
+<span class="comment">// tada!</span></code></pre>
+</div>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Important</div>
+</td>
+<td class="content">
+<span class="image" style="float: left"><img src="../images/groovy-logo.png" 
alt="groovy-logo" width="175"></span> Gremlin-Groovy leverages the
+<a href="http://groovy.codehaus.org/";>Groovy 2.x language</a> to express 
Gremlin traversals. One of the major benefits of
+Groovy is the inclusion of a runtime console that makes it easy for developers 
to practice with the Gremlin language
+and for production users to connect to their graph and execute traversals in 
an interactive manner. Moreover,
+Gremlin-Groovy provides various syntax simplifications.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Tip</div>
+</td>
+<td class="content">
+<span class="image" style="float: left"><img src="../images/gremlin-sugar.png" 
alt="gremlin-sugar" width="100"></span> For those wishing to use the Gremlin2 
syntax, please see
+<a href="#sugar-plugin">SugarPlugin</a>. This plugin provides syntactic sugar 
at, typically, a runtime cost. It can be loaded
+programmatically via <code>SugarLoader.load()</code>. Once loaded, it is 
possible to do <code>g.V.out.name</code> instead of
+<code>g.V().out().values('name')</code> as well as a host of other 
conveniences.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Here is the same code, but using Gremlin-Groovy in the <a 
href="#gremlin-console">Gremlin Console</a>.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay"><code class="groovy language-groovy"><span 
class="error">$</span> bin/gremlin.sh
+
+         <span class="error">\</span>,,,<span class="regexp"><span 
class="delimiter">/</span></span><span class="error">
+</span>         (o o)
+-----oOOo-(<span class="integer">3</span>)-oOOo-----
+gremlin&gt; graph = TinkerGraph.open()
+==&gt;tinkergraph[<span class="key">vertices</span>:<span 
class="integer">0</span> <span class="key">edges</span>:<span 
class="integer">0</span>]
+gremlin&gt; gremlin = graph.addVertex(label,<span class="string"><span 
class="delimiter">'</span><span class="content">software</span><span 
class="delimiter">'</span></span>,<span class="string"><span 
class="delimiter">'</span><span class="content">name</span><span 
class="delimiter">'</span></span>,<span class="string"><span 
class="delimiter">'</span><span class="content">gremlin</span><span 
class="delimiter">'</span></span>)
+==&gt;v[<span class="integer">0</span>]
+gremlin&gt; gremlin.property(<span class="string"><span 
class="delimiter">'</span><span class="content">created</span><span 
class="delimiter">'</span></span>,<span class="integer">2009</span>)
+==&gt;vp[created-&gt;<span class="integer">2009</span>]
+gremlin&gt; blueprints = graph.addVertex(label,<span class="string"><span 
class="delimiter">'</span><span class="content">software</span><span 
class="delimiter">'</span></span>,<span class="string"><span 
class="delimiter">'</span><span class="content">name</span><span 
class="delimiter">'</span></span>,<span class="string"><span 
class="delimiter">'</span><span class="content">blueprints</span><span 
class="delimiter">'</span></span>)
+==&gt;v[<span class="integer">3</span>]
+gremlin&gt; gremlin.addEdge(<span class="string"><span 
class="delimiter">'</span><span class="content">dependsOn</span><span 
class="delimiter">'</span></span>,blueprints)
+==&gt;e[<span class="integer">5</span>][<span 
class="integer">0</span>-dependsOn-&gt;<span class="integer">3</span>]
+gremlin&gt; blueprints.property(<span class="string"><span 
class="delimiter">'</span><span class="content">created</span><span 
class="delimiter">'</span></span>,<span class="integer">2010</span>)
+==&gt;vp[created-&gt;<span class="integer">2010</span>]
+gremlin&gt; blueprints.property(<span class="string"><span 
class="delimiter">'</span><span class="content">created</span><span 
class="delimiter">'</span></span>).remove()
+==&gt;<span class="predefined-constant">null</span> <b>(1)</b>
+gremlin&gt; gremlin.addEdge(<span class="string"><span 
class="delimiter">'</span><span class="content">encapsulates</span><span 
class="delimiter">'</span></span>,blueprints)
+==&gt;e[<span class="integer">7</span>][<span 
class="integer">0</span>-encapsulates-&gt;<span class="integer">3</span>]
+gremlin&gt; blueprints.remove()
+==&gt;<span class="predefined-constant">null</span>
+gremlin&gt; gremlin.remove()
+==&gt;<span class="predefined-constant">null</span></code></pre>
+</div>
+</div>
+<div class="colist arabic">
+<ol>
+<li>

[... 15561 lines stripped ...]

Reply via email to