Added: incubator/s2graph/site/docs/api/mutate/mutate_edge.html
URL: 
http://svn.apache.org/viewvc/incubator/s2graph/site/docs/api/mutate/mutate_edge.html?rev=1856470&view=auto
==============================================================================
--- incubator/s2graph/site/docs/api/mutate/mutate_edge.html (added)
+++ incubator/s2graph/site/docs/api/mutate/mutate_edge.html Thu Mar 28 11:04:32 
2019
@@ -0,0 +1,562 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>Manage Edges &mdash; S2Graph 0.0.2 documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" 
src="../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" 
data-url_root="../../" src="../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../_static/jquery.js"></script>
+        <script type="text/javascript" 
src="../../_static/underscore.js"></script>
+        <script type="text/javascript" 
src="../../_static/doctools.js"></script>
+        <script type="text/javascript" 
src="../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../_static/css/s2graph_style.css" 
type="text/css" />
+  <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Manage Vertices (Optional)" 
href="mutate_vertex.html" />
+    <link rel="prev" title="Mutate APIs" href="index.html" /> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../index.html" class="icon icon-home"> S2Graph
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" 
method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" 
role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <p class="caption"><span class="caption-text">S2Graph 
Documentation</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" 
href="../../getting_started/index.html">Getting Started</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../../getting_started/your_first_graph.html">Your First S2Graph</a></li>
+<li class="toctree-l1 current"><a class="reference internal" 
href="../index.html">HTTP API Glossary</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" 
href="../management/index.html">Management APIs</a></li>
+<li class="toctree-l2 current"><a class="reference internal" 
href="index.html">Mutate APIs</a><ul class="current">
+<li class="toctree-l3 current"><a class="current reference internal" 
href="#">Manage Edges</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#edge-fields">Edge 
Fields</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="#basic-edge-operations">Basic Edge Operations</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="#strong-consistency">Strong Consistency</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="#weak-consistency">Weak Consistency</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" 
href="mutate_vertex.html">Manage Vertices (Optional)</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" 
href="../query/index.html">Query APIs</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">S2Graph</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../index.html">HTTP API Glossary</a> &raquo;</li>
+        
+          <li><a href="index.html">Mutate APIs</a> &raquo;</li>
+        
+      <li>Manage Edges</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../_sources/api/mutate/mutate_edge.rst.txt" 
rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" 
itemtype="http://schema.org/Article";>
+           <div itemprop="articleBody">
+            
+  <div class="section" id="manage-edges">
+<h1>Manage Edges<a class="headerlink" href="#manage-edges" title="Permalink to 
this headline">¶</a></h1>
+<p>An <code class="docutils literal notranslate"><span 
class="pre">Edge</span></code> represents a relation between two vertices, with 
properties according to the schema defined in its label.</p>
+<div class="section" id="edge-fields">
+<h2>Edge Fields<a class="headerlink" href="#edge-fields" title="Permalink to 
this headline">¶</a></h2>
+<p>The following fields need to be specified when inserting an edge, and are 
returned when queried on edges.</p>
+<table border="1" class="colwidths-given docutils" id="id5">
+<caption><span class="caption-text">Option</span><a class="headerlink" 
href="#id5" title="Permalink to this table">¶</a></caption>
+<colgroup>
+<col width="11%" />
+<col width="22%" />
+<col width="22%" />
+<col width="22%" />
+<col width="22%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Field Name</th>
+<th class="head">Definition</th>
+<th class="head">Data Type</th>
+<th class="head">Example</th>
+<th class="head">Note</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td><strong>timestamp</strong></td>
+<td>Issue time of request</td>
+<td>Long</td>
+<td>1430116731156</td>
+<td>Required. Unix Epoch time in milliseconds. S2Graph TTL and timestamp unit 
is <strong>milliseconds</strong></td>
+</tr>
+<tr class="row-odd"><td>operation</td>
+<td>One of insert, delete, update, or increment</td>
+<td>String</td>
+<td>‘i’, ‘insert’</td>
+<td>Required only for bulk operations. Aliases are also available: i (insert), 
d (delete), u (update), in (increment). Default is insert</td>
+</tr>
+<tr class="row-even"><td>from</td>
+<td>Id of source vertex</td>
+<td>Long/String</td>
+<td>1</td>
+<td>Required. Use long if possible. <strong>Maximum string byte-size is 
249</strong></td>
+</tr>
+<tr class="row-odd"><td>to</td>
+<td>Id of target vertex</td>
+<td>Long/String</td>
+<td>101</td>
+<td>Required. Use long if possible. <strong>Maximum string byte-size is 
249</strong></td>
+</tr>
+<tr class="row-even"><td>label</td>
+<td>Label name</td>
+<td>String</td>
+<td>graph_test</td>
+<td>Required</td>
+</tr>
+<tr class="row-odd"><td>direction</td>
+<td>Direction of the edge. Should be one of <strong>out/ in/ 
undirected</strong></td>
+<td>String</td>
+<td>out</td>
+<td>Required. Alias are also available: o (out), i (in), u (undirected)</td>
+</tr>
+<tr class="row-even"><td>props</td>
+<td>Additional properties of the edge</td>
+<td>JSON (dictionary)</td>
+<td>{“timestamp”: 1417616431, “affinity_score”:10, “is_hidden”: 
false, “is_valid”: true}</td>
+<td>Required. <strong>If in indexed properties isn’t given, default values 
will be added</strong></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="basic-edge-operations">
+<h2>Basic Edge Operations<a class="headerlink" href="#basic-edge-operations" 
title="Permalink to this headline">¶</a></h2>
+<p>In S2Graph, an Edge supports five different operations.</p>
+<ul class="simple">
+<li><code class="docutils literal notranslate"><span 
class="pre">insert</span></code>: Create new edge.</li>
+<li><code class="docutils literal notranslate"><span 
class="pre">delete</span></code>: Delete existing edge.</li>
+<li><code class="docutils literal notranslate"><span 
class="pre">update</span></code>: Update existing edge`s state.</li>
+<li><code class="docutils literal notranslate"><span 
class="pre">increment</span></code>: Increment existing edge`s state.</li>
+<li><code class="docutils literal notranslate"><span 
class="pre">deleteAll</span></code>: Delete all adjacent edges from certain 
source vertex. (Available for strong consistency only)</li>
+</ul>
+<p>Edge operations work differently depending on the target label`s 
consistency level.</p>
+<p>For a better understanding, please take a look at the following test 
cases.</p>
+<p>Create 2 different labels, one of each consistencyLevels.</p>
+<ul class="simple">
+<li>s2graph_label_test (strong)</li>
+<li>s2graph_label_test_weak (weak)</li>
+</ul>
+<p>Then insert a same set of edges to each labels and query them as 
follows.</p>
+<p><strong>strong consistency</strong></p>
+<div class="code bash highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="n">curl</span> <span 
class="o">-</span><span class="n">XPOST</span> <span 
class="n">localhosnt</span><span class="p">:</span><span 
class="mi">9000</span><span class="o">/</span><span 
class="n">graphs</span><span class="o">/</span><span 
class="n">edges</span><span class="o">/</span><span class="n">insert</span> 
<span class="o">-</span><span class="n">H</span> <span 
class="s1">&#39;Content-Type: Application/json&#39;</span> <span 
class="o">-</span><span class="n">d</span> <span class="s1">&#39;</span>
+<span class="p">[</span>
+  <span class="p">{</span><span class="s2">&quot;timestamp&quot;</span><span 
class="p">:</span> <span class="mi">1</span><span class="p">,</span> <span 
class="s2">&quot;from&quot;</span><span class="p">:</span> <span 
class="mi">101</span><span class="p">,</span> <span 
class="s2">&quot;to&quot;</span><span class="p">:</span> <span 
class="mi">10</span><span class="p">,</span> <span 
class="s2">&quot;label&quot;</span><span class="p">:</span> <span 
class="s2">&quot;s2graph_label_test&quot;</span><span class="p">,</span> <span 
class="s2">&quot;props&quot;</span><span class="p">:</span> <span 
class="p">{</span><span class="s2">&quot;time&quot;</span><span 
class="p">:</span> <span class="mi">0</span><span class="p">}},</span>
+  <span class="p">{</span><span class="s2">&quot;timestamp&quot;</span><span 
class="p">:</span> <span class="mi">2</span><span class="p">,</span> <span 
class="s2">&quot;from&quot;</span><span class="p">:</span> <span 
class="mi">101</span><span class="p">,</span> <span 
class="s2">&quot;to&quot;</span><span class="p">:</span> <span 
class="mi">10</span><span class="p">,</span> <span 
class="s2">&quot;label&quot;</span><span class="p">:</span> <span 
class="s2">&quot;s2graph_label_test&quot;</span><span class="p">,</span> <span 
class="s2">&quot;props&quot;</span><span class="p">:</span> <span 
class="p">{</span><span class="s2">&quot;time&quot;</span><span 
class="p">:</span> <span class="o">-</span><span class="mi">10</span><span 
class="p">}},</span>
+  <span class="p">{</span><span class="s2">&quot;timestamp&quot;</span><span 
class="p">:</span> <span class="mi">3</span><span class="p">,</span> <span 
class="s2">&quot;from&quot;</span><span class="p">:</span> <span 
class="mi">101</span><span class="p">,</span> <span 
class="s2">&quot;to&quot;</span><span class="p">:</span> <span 
class="mi">10</span><span class="p">,</span> <span 
class="s2">&quot;label&quot;</span><span class="p">:</span> <span 
class="s2">&quot;s2graph_label_test&quot;</span><span class="p">,</span> <span 
class="s2">&quot;props&quot;</span><span class="p">:</span> <span 
class="p">{</span><span class="s2">&quot;time&quot;</span><span 
class="p">:</span> <span class="o">-</span><span class="mi">30</span><span 
class="p">}}</span>
+<span class="p">]</span><span class="s1">&#39;</span>
+</pre></div>
+</div>
+<p>Note that only one edge exist between (101, 10, s2graph_label_test, 
out).</p>
+<div class="code json highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="p">{</span>
+  <span class="s2">&quot;size&quot;</span><span class="p">:</span> <span 
class="mi">1</span><span class="p">,</span>
+  <span class="s2">&quot;degrees&quot;</span><span class="p">:</span> <span 
class="p">[</span>
+    <span class="p">{</span>
+      <span class="s2">&quot;from&quot;</span><span class="p">:</span> <span 
class="mi">101</span><span class="p">,</span>
+       <span class="s2">&quot;label&quot;</span><span class="p">:</span> <span 
class="s2">&quot;s2graph_label_test&quot;</span><span class="p">,</span>
+       <span class="s2">&quot;direction&quot;</span><span class="p">:</span> 
<span class="s2">&quot;out&quot;</span><span class="p">,</span>
+       <span class="s2">&quot;_degree&quot;</span><span class="p">:</span> 
<span class="mi">1</span>
+    <span class="p">}</span>
+  <span class="p">],</span>
+  <span class="s2">&quot;results&quot;</span><span class="p">:</span> <span 
class="p">[</span>
+    <span class="p">{</span>
+      <span class="s2">&quot;cacheRemain&quot;</span><span class="p">:</span> 
<span class="o">-</span><span class="mi">20</span><span class="p">,</span>
+      <span class="s2">&quot;from&quot;</span><span class="p">:</span> <span 
class="mi">101</span><span class="p">,</span>
+       <span class="s2">&quot;to&quot;</span><span class="p">:</span> <span 
class="mi">10</span><span class="p">,</span>
+       <span class="s2">&quot;label&quot;</span><span class="p">:</span> <span 
class="s2">&quot;s2graph_label_test&quot;</span><span class="p">,</span>
+       <span class="s2">&quot;direction&quot;</span><span class="p">:</span> 
<span class="s2">&quot;out&quot;</span><span class="p">,</span>
+       <span class="s2">&quot;_timestamp&quot;</span><span class="p">:</span> 
<span class="mi">3</span><span class="p">,</span>
+       <span class="s2">&quot;timestamp&quot;</span><span class="p">:</span> 
<span class="mi">3</span><span class="p">,</span>
+       <span class="s2">&quot;score&quot;</span><span class="p">:</span> <span 
class="mi">1</span><span class="p">,</span>
+       <span class="s2">&quot;props&quot;</span><span class="p">:</span> <span 
class="p">{</span>
+         <span class="s2">&quot;_timestamp&quot;</span><span 
class="p">:</span> <span class="mi">3</span><span class="p">,</span>
+         <span class="s2">&quot;time&quot;</span><span class="p">:</span> 
<span class="o">-</span><span class="mi">30</span><span class="p">,</span>
+         <span class="s2">&quot;weight&quot;</span><span class="p">:</span> 
<span class="mi">0</span><span class="p">,</span>
+         <span class="s2">&quot;is_hidden&quot;</span><span class="p">:</span> 
<span class="n">false</span><span class="p">,</span>
+         <span class="s2">&quot;is_blocked&quot;</span><span 
class="p">:</span> <span class="n">false</span>
+       <span class="p">}</span>
+     <span class="p">}</span>
+  <span class="p">],</span>
+  <span class="s2">&quot;impressionId&quot;</span><span class="p">:</span> 
<span class="o">-</span><span class="mi">1650835965</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p><strong>weak consistency</strong></p>
+<div class="code bash highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="n">curl</span> <span 
class="o">-</span><span class="n">XPOST</span> <span 
class="n">localhost</span><span class="p">:</span><span 
class="mi">9000</span><span class="o">/</span><span 
class="n">graphs</span><span class="o">/</span><span 
class="n">edges</span><span class="o">/</span><span class="n">insert</span> 
<span class="o">-</span><span class="n">H</span> <span 
class="s1">&#39;Content-Type: Application/json&#39;</span> <span 
class="o">-</span><span class="n">d</span> <span class="s1">&#39;</span>
+<span class="p">[</span>
+  <span class="p">{</span><span class="s2">&quot;timestamp&quot;</span><span 
class="p">:</span> <span class="mi">1</span><span class="p">,</span> <span 
class="s2">&quot;from&quot;</span><span class="p">:</span> <span 
class="mi">101</span><span class="p">,</span> <span 
class="s2">&quot;to&quot;</span><span class="p">:</span> <span 
class="mi">10</span><span class="p">,</span> <span 
class="s2">&quot;label&quot;</span><span class="p">:</span> <span 
class="s2">&quot;s2graph_label_test_weak&quot;</span><span class="p">,</span> 
<span class="s2">&quot;props&quot;</span><span class="p">:</span> <span 
class="p">{</span><span class="s2">&quot;time&quot;</span><span 
class="p">:</span> <span class="mi">0</span><span class="p">}},</span>
+  <span class="p">{</span><span class="s2">&quot;timestamp&quot;</span><span 
class="p">:</span> <span class="mi">2</span><span class="p">,</span> <span 
class="s2">&quot;from&quot;</span><span class="p">:</span> <span 
class="mi">101</span><span class="p">,</span> <span 
class="s2">&quot;to&quot;</span><span class="p">:</span> <span 
class="mi">10</span><span class="p">,</span> <span 
class="s2">&quot;label&quot;</span><span class="p">:</span> <span 
class="s2">&quot;s2graph_label_test_weak&quot;</span><span class="p">,</span> 
<span class="s2">&quot;props&quot;</span><span class="p">:</span> <span 
class="p">{</span><span class="s2">&quot;time&quot;</span><span 
class="p">:</span> <span class="o">-</span><span class="mi">10</span><span 
class="p">}},</span>
+  <span class="p">{</span><span class="s2">&quot;timestamp&quot;</span><span 
class="p">:</span> <span class="mi">3</span><span class="p">,</span> <span 
class="s2">&quot;from&quot;</span><span class="p">:</span> <span 
class="mi">101</span><span class="p">,</span> <span 
class="s2">&quot;to&quot;</span><span class="p">:</span> <span 
class="mi">10</span><span class="p">,</span> <span 
class="s2">&quot;label&quot;</span><span class="p">:</span> <span 
class="s2">&quot;s2graph_label_test_weak&quot;</span><span class="p">,</span> 
<span class="s2">&quot;props&quot;</span><span class="p">:</span> <span 
class="p">{</span><span class="s2">&quot;time&quot;</span><span 
class="p">:</span> <span class="o">-</span><span class="mi">30</span><span 
class="p">}}</span>
+<span class="p">]</span><span class="s1">&#39;</span>
+</pre></div>
+</div>
+<p>This time there are <code class="docutils literal notranslate"><span 
class="pre">three</span> <span class="pre">edges</span></code> between (101, 
10, s2graph_label_test_weak, out).</p>
+<div class="code json highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="p">{</span>
+  <span class="s2">&quot;size&quot;</span><span class="p">:</span> <span 
class="mi">3</span><span class="p">,</span>
+  <span class="s2">&quot;degrees&quot;</span><span class="p">:</span> <span 
class="p">[</span>
+     <span class="p">{</span>
+         <span class="s2">&quot;from&quot;</span><span class="p">:</span> 
<span class="mi">101</span><span class="p">,</span>
+         <span class="s2">&quot;label&quot;</span><span class="p">:</span> 
<span class="s2">&quot;s2graph_label_test_weak&quot;</span><span 
class="p">,</span>
+         <span class="s2">&quot;direction&quot;</span><span class="p">:</span> 
<span class="s2">&quot;out&quot;</span><span class="p">,</span>
+         <span class="s2">&quot;_degree&quot;</span><span class="p">:</span> 
<span class="mi">3</span>
+     <span class="p">}</span>
+  <span class="p">],</span>
+  <span class="s2">&quot;results&quot;</span><span class="p">:</span> <span 
class="p">[</span>
+    <span class="p">{</span>
+      <span class="s2">&quot;cacheRemain&quot;</span><span class="p">:</span> 
<span class="o">-</span><span class="mi">148</span><span class="p">,</span>
+      <span class="s2">&quot;from&quot;</span><span class="p">:</span> <span 
class="mi">101</span><span class="p">,</span>
+      <span class="s2">&quot;to&quot;</span><span class="p">:</span> <span 
class="s2">&quot;10&quot;</span><span class="p">,</span>
+      <span class="s2">&quot;label&quot;</span><span class="p">:</span> <span 
class="s2">&quot;s2graph_label_test_weak&quot;</span><span class="p">,</span>
+      <span class="s2">&quot;direction&quot;</span><span class="p">:</span> 
<span class="s2">&quot;out&quot;</span><span class="p">,</span>
+      <span class="s2">&quot;_timestamp&quot;</span><span class="p">:</span> 
<span class="mi">3</span><span class="p">,</span>
+      <span class="s2">&quot;timestamp&quot;</span><span class="p">:</span> 
<span class="mi">3</span><span class="p">,</span>
+      <span class="s2">&quot;score&quot;</span><span class="p">:</span> <span 
class="mi">1</span><span class="p">,</span>
+      <span class="s2">&quot;props&quot;</span><span class="p">:</span> <span 
class="p">{</span>
+        <span class="s2">&quot;_timestamp&quot;</span><span class="p">:</span> 
<span class="mi">3</span><span class="p">,</span>
+        <span class="s2">&quot;time&quot;</span><span class="p">:</span> <span 
class="o">-</span><span class="mi">30</span><span class="p">,</span>
+        <span class="s2">&quot;weight&quot;</span><span class="p">:</span> 
<span class="mi">0</span><span class="p">,</span>
+        <span class="s2">&quot;is_hidden&quot;</span><span class="p">:</span> 
<span class="n">false</span><span class="p">,</span>
+        <span class="s2">&quot;is_blocked&quot;</span><span class="p">:</span> 
<span class="n">false</span>
+      <span class="p">}</span>
+    <span class="p">},</span>
+    <span class="p">{</span>
+      <span class="s2">&quot;cacheRemain&quot;</span><span class="p">:</span> 
<span class="o">-</span><span class="mi">148</span><span class="p">,</span>
+      <span class="s2">&quot;from&quot;</span><span class="p">:</span> <span 
class="mi">101</span><span class="p">,</span>
+      <span class="s2">&quot;to&quot;</span><span class="p">:</span> <span 
class="s2">&quot;10&quot;</span><span class="p">,</span>
+      <span class="s2">&quot;label&quot;</span><span class="p">:</span> <span 
class="s2">&quot;s2graph_label_test_weak&quot;</span><span class="p">,</span>
+      <span class="s2">&quot;direction&quot;</span><span class="p">:</span> 
<span class="s2">&quot;out&quot;</span><span class="p">,</span>
+      <span class="s2">&quot;_timestamp&quot;</span><span class="p">:</span> 
<span class="mi">2</span><span class="p">,</span>
+      <span class="s2">&quot;timestamp&quot;</span><span class="p">:</span> 
<span class="mi">2</span><span class="p">,</span>
+      <span class="s2">&quot;score&quot;</span><span class="p">:</span> <span 
class="mi">1</span><span class="p">,</span>
+      <span class="s2">&quot;props&quot;</span><span class="p">:</span> <span 
class="p">{</span>
+        <span class="s2">&quot;_timestamp&quot;</span><span class="p">:</span> 
<span class="mi">2</span><span class="p">,</span>
+        <span class="s2">&quot;time&quot;</span><span class="p">:</span> <span 
class="o">-</span><span class="mi">10</span><span class="p">,</span>
+        <span class="s2">&quot;weight&quot;</span><span class="p">:</span> 
<span class="mi">0</span><span class="p">,</span>
+        <span class="s2">&quot;is_hidden&quot;</span><span class="p">:</span> 
<span class="n">false</span><span class="p">,</span>
+        <span class="s2">&quot;is_blocked&quot;</span><span class="p">:</span> 
<span class="n">false</span>
+      <span class="p">}</span>
+    <span class="p">},</span>
+    <span class="p">{</span>
+      <span class="s2">&quot;cacheRemain&quot;</span><span class="p">:</span> 
<span class="o">-</span><span class="mi">148</span><span class="p">,</span>
+      <span class="s2">&quot;from&quot;</span><span class="p">:</span> <span 
class="mi">101</span><span class="p">,</span>
+      <span class="s2">&quot;to&quot;</span><span class="p">:</span> <span 
class="s2">&quot;10&quot;</span><span class="p">,</span>
+      <span class="s2">&quot;label&quot;</span><span class="p">:</span> <span 
class="s2">&quot;s2graph_label_test_weak&quot;</span><span class="p">,</span>
+      <span class="s2">&quot;direction&quot;</span><span class="p">:</span> 
<span class="s2">&quot;out&quot;</span><span class="p">,</span>
+      <span class="s2">&quot;_timestamp&quot;</span><span class="p">:</span> 
<span class="mi">1</span><span class="p">,</span>
+      <span class="s2">&quot;timestamp&quot;</span><span class="p">:</span> 
<span class="mi">1</span><span class="p">,</span>
+      <span class="s2">&quot;score&quot;</span><span class="p">:</span> <span 
class="mi">1</span><span class="p">,</span>
+      <span class="s2">&quot;props&quot;</span><span class="p">:</span> <span 
class="p">{</span>
+        <span class="s2">&quot;_timestamp&quot;</span><span class="p">:</span> 
<span class="mi">1</span><span class="p">,</span>
+        <span class="s2">&quot;time&quot;</span><span class="p">:</span> <span 
class="mi">0</span><span class="p">,</span>
+        <span class="s2">&quot;weight&quot;</span><span class="p">:</span> 
<span class="mi">0</span><span class="p">,</span>
+        <span class="s2">&quot;is_hidden&quot;</span><span class="p">:</span> 
<span class="n">false</span><span class="p">,</span>
+        <span class="s2">&quot;is_blocked&quot;</span><span class="p">:</span> 
<span class="n">false</span>
+      <span class="p">}</span>
+    <span class="p">}</span>
+  <span class="p">],</span>
+   <span class="s2">&quot;impressionId&quot;</span><span class="p">:</span> 
<span class="mi">1972178414</span>
+ <span class="p">}</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="strong-consistency">
+<h2>Strong Consistency<a class="headerlink" href="#strong-consistency" 
title="Permalink to this headline">¶</a></h2>
+<div class="section" id="insert-post-mutate-edge-insert">
+<h3>Insert - <code class="docutils literal notranslate"><span 
class="pre">POST</span> <span class="pre">/mutate/edge/insert</span></code><a 
class="headerlink" href="#insert-post-mutate-edge-insert" title="Permalink to 
this headline">¶</a></h3>
+<p>A unique edge is identified by a combination of (from, to, label, 
direction). For insert operations, S2Graph first checks if an edge with same 
(from, to, label, direction) information exists. If there is an existing edge, 
then insert will work as <code class="docutils literal notranslate"><span 
class="pre">update</span></code>. See above example.</p>
+</div>
+<div class="section" id="delete-post-mutate-edge-delete">
+<h3>Delete - <code class="docutils literal notranslate"><span 
class="pre">POST</span> <span class="pre">/mutate/edge/delete</span></code><a 
class="headerlink" href="#delete-post-mutate-edge-delete" title="Permalink to 
this headline">¶</a></h3>
+<p>For edge deletion, again, S2Graph looks for a unique edge with (from, to, 
label, direction). However, this time it checks the timestamp of the delete 
request and the existing edge. The timestamp on the delete request <code 
class="docutils literal notranslate"><span class="pre">must</span> <span 
class="pre">be</span> <span class="pre">larger</span> <span 
class="pre">than</span> <span class="pre">that</span> <span 
class="pre">on</span> <span class="pre">the</span> <span 
class="pre">existing</span> <span class="pre">edge</span></code> or else the 
request will be ignored. If everything is well, the edge will be deleted. Also 
note that no props information is necessary for a delete request on a strongly 
consistent label since there will be only one edge with edge`s unique id(from, 
to, label, direction).</p>
+<div class="code bash highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="n">curl</span> <span 
class="o">-</span><span class="n">XPOST</span> <span 
class="n">localhost</span><span class="p">:</span><span 
class="mi">9000</span><span class="o">/</span><span 
class="n">mutate</span><span class="o">/</span><span class="n">edge</span><span 
class="o">/</span><span class="n">delete</span> <span class="o">-</span><span 
class="n">H</span> <span class="s1">&#39;Content-Type: 
Application/json&#39;</span> <span class="o">-</span><span class="n">d</span> 
<span class="s1">&#39;</span>
+<span class="p">[</span>
+  <span class="p">{</span><span class="s2">&quot;timestamp&quot;</span><span 
class="p">:</span> <span class="mi">10</span><span class="p">,</span> <span 
class="s2">&quot;from&quot;</span><span class="p">:</span> <span 
class="mi">101</span><span class="p">,</span> <span 
class="s2">&quot;to&quot;</span><span class="p">:</span> <span 
class="mi">10</span><span class="p">,</span> <span 
class="s2">&quot;label&quot;</span><span class="p">:</span> <span 
class="s2">&quot;s2graph_label_test&quot;</span><span class="p">}</span>
+<span class="p">]</span><span class="s1">&#39;</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="update-post-mutate-edge-update">
+<h3>Update - <code class="docutils literal notranslate"><span 
class="pre">POST</span> <span class="pre">/mutate/edge/update</span></code><a 
class="headerlink" href="#update-post-mutate-edge-update" title="Permalink to 
this headline">¶</a></h3>
+<p>What an update operation does to a strongly consistent label is identical 
to an insert.</p>
+<div class="code bash highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="n">curl</span> <span 
class="o">-</span><span class="n">XPOST</span> <span 
class="n">localhost</span><span class="p">:</span><span 
class="mi">9000</span><span class="o">/</span><span 
class="n">mutate</span><span class="o">/</span><span class="n">edge</span><span 
class="o">/</span><span class="n">update</span> <span class="o">-</span><span 
class="n">H</span> <span class="s1">&#39;Content-Type: 
Application/json&#39;</span> <span class="o">-</span><span class="n">d</span> 
<span class="s1">&#39;</span>
+<span class="p">[</span>
+  <span class="p">{</span><span class="s2">&quot;timestamp&quot;</span><span 
class="p">:</span> <span class="mi">10</span><span class="p">,</span> <span 
class="s2">&quot;from&quot;</span><span class="p">:</span> <span 
class="mi">101</span><span class="p">,</span> <span 
class="s2">&quot;to&quot;</span><span class="p">:</span> <span 
class="mi">10</span><span class="p">,</span> <span 
class="s2">&quot;label&quot;</span><span class="p">:</span> <span 
class="s2">&quot;s2graph_label_test&quot;</span><span class="p">,</span> <span 
class="s2">&quot;props&quot;</span><span class="p">:</span> <span 
class="p">{</span><span class="s2">&quot;time&quot;</span><span 
class="p">:</span> <span class="mi">100</span><span class="p">,</span> <span 
class="s2">&quot;weight&quot;</span><span class="p">:</span> <span 
class="o">-</span><span class="mi">10</span><span class="p">}}</span>
+<span class="p">]</span><span class="s1">&#39;</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="increment-post-mutate-edge-increment">
+<h3>Increment - <code class="docutils literal notranslate"><span 
class="pre">POST</span> <span 
class="pre">/mutate/edge/increment</span></code><a class="headerlink" 
href="#increment-post-mutate-edge-increment" title="Permalink to this 
headline">¶</a></h3>
+<p>Works like update, other than it returns the incremented value and not the 
old value.</p>
+<div class="code bash highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="n">curl</span> <span 
class="o">-</span><span class="n">XPOST</span> <span 
class="n">localhost</span><span class="p">:</span><span 
class="mi">9000</span><span class="o">/</span><span 
class="n">mutate</span><span class="o">/</span><span class="n">edge</span><span 
class="o">/</span><span class="n">increment</span> <span 
class="o">-</span><span class="n">H</span> <span class="s1">&#39;Content-Type: 
Application/json&#39;</span> <span class="o">-</span><span class="n">d</span> 
<span class="s1">&#39;</span>
+<span class="p">[</span>
+  <span class="p">{</span><span class="s2">&quot;timestamp&quot;</span><span 
class="p">:</span> <span class="mi">10</span><span class="p">,</span> <span 
class="s2">&quot;from&quot;</span><span class="p">:</span> <span 
class="mi">101</span><span class="p">,</span> <span 
class="s2">&quot;to&quot;</span><span class="p">:</span> <span 
class="mi">10</span><span class="p">,</span> <span 
class="s2">&quot;label&quot;</span><span class="p">:</span> <span 
class="s2">&quot;s2graph_label_test&quot;</span><span class="p">,</span> <span 
class="s2">&quot;props&quot;</span><span class="p">:</span> <span 
class="p">{</span><span class="s2">&quot;time&quot;</span><span 
class="p">:</span> <span class="mi">100</span><span class="p">,</span> <span 
class="s2">&quot;weight&quot;</span><span class="p">:</span> <span 
class="o">-</span><span class="mi">10</span><span class="p">}}</span>
+<span class="p">]</span><span class="s1">&#39;</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="delete-all-post-mutate-edge-deleteall">
+<h3>Delete All - <code class="docutils literal notranslate"><span 
class="pre">POST</span> <span 
class="pre">/mutate/edge/deleteAll</span></code><a class="headerlink" 
href="#delete-all-post-mutate-edge-deleteall" title="Permalink to this 
headline">¶</a></h3>
+<p>Delete all adjacent edges to the source vertex. <code class="docutils 
literal notranslate"><span class="pre">Please</span> <span 
class="pre">note</span> <span class="pre">that</span> <span 
class="pre">edges</span> <span class="pre">with</span> <span 
class="pre">both</span> <span class="pre">in</span> <span 
class="pre">and</span> <span class="pre">out</span> <span 
class="pre">directions</span> <span class="pre">will</span> <span 
class="pre">be</span> <span class="pre">deleted</span></code></p>
+<div class="code bash highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="n">curl</span> <span 
class="o">-</span><span class="n">XPOST</span> <span 
class="n">localhost</span><span class="p">:</span><span 
class="mi">9000</span><span class="o">/</span><span 
class="n">mutate</span><span class="o">/</span><span class="n">edge</span><span 
class="o">/</span><span class="n">deleteAll</span> <span 
class="o">-</span><span class="n">H</span> <span class="s1">&#39;Content-Type: 
Application/json&#39;</span> <span class="o">-</span><span class="n">d</span> 
<span class="s1">&#39;</span>
+<span class="p">[</span>
+  <span class="p">{</span><span class="s2">&quot;ids&quot;</span> <span 
class="p">:</span> <span class="p">[</span><span class="mi">101</span><span 
class="p">],</span> <span class="s2">&quot;label&quot;</span><span 
class="p">:</span><span class="s2">&quot;s2graph_label_test&quot;</span><span 
class="p">,</span> <span class="s2">&quot;direction&quot;</span><span 
class="p">:</span> <span class="s2">&quot;out&quot;</span><span 
class="p">,</span> <span class="s2">&quot;timestamp&quot;</span><span 
class="p">:</span><span class="mi">1417616441000</span><span class="p">}</span>
+<span class="p">]</span><span class="s1">&#39;</span>
+</pre></div>
+</div>
+</div>
+</div>
+<div class="section" id="weak-consistency">
+<h2>Weak Consistency<a class="headerlink" href="#weak-consistency" 
title="Permalink to this headline">¶</a></h2>
+<div class="section" id="id1">
+<h3>Insert <code class="docutils literal notranslate"><span 
class="pre">POST</span> <span class="pre">/mutate/edge/insert</span></code><a 
class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h3>
+<p>S2Graph <code class="docutils literal notranslate"><span 
class="pre">does</span> <span class="pre">not</span> <span 
class="pre">look</span></code> for a unique edge defined by (from, to, label, 
direction). It simply stores a new edge according to the request. No read, no 
consistency check. Note that this difference allows multiple edges with same 
(from, to, label, direction) id.</p>
+</div>
+<div class="section" id="delete-post-graphs-edges-delete">
+<h3>Delete - <code class="docutils literal notranslate"><span 
class="pre">POST</span> <span class="pre">/graphs/edges/delete</span></code><a 
class="headerlink" href="#delete-post-graphs-edges-delete" title="Permalink to 
this headline">¶</a></h3>
+<p>For deletion on weakly consistent edges, first, S2Graph fetches existing 
edges from storage. Then, on each resulting edges, fires the actual delete 
operations.</p>
+<div class="code bash highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="n">curl</span> <span 
class="o">-</span><span class="n">XPOST</span> <span 
class="n">localhost</span><span class="p">:</span><span 
class="mi">9000</span><span class="o">/</span><span 
class="n">graphs</span><span class="o">/</span><span 
class="n">edges</span><span class="o">/</span><span class="n">delete</span> 
<span class="o">-</span><span class="n">H</span> <span 
class="s1">&#39;Content-Type: Application/json&#39;</span> <span 
class="o">-</span><span class="n">d</span> <span class="s1">&#39;</span>
+<span class="p">[</span>
+  <span class="p">{</span>
+    <span class="s2">&quot;cacheRemain&quot;</span><span class="p">:</span> 
<span class="o">-</span><span class="mi">148</span><span class="p">,</span>
+    <span class="s2">&quot;from&quot;</span><span class="p">:</span> <span 
class="mi">101</span><span class="p">,</span>
+    <span class="s2">&quot;to&quot;</span><span class="p">:</span> <span 
class="s2">&quot;10&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;label&quot;</span><span class="p">:</span> <span 
class="s2">&quot;s2graph_label_test_weak&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;direction&quot;</span><span class="p">:</span> 
<span class="s2">&quot;out&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;_timestamp&quot;</span><span class="p">:</span> 
<span class="mi">3</span><span class="p">,</span>
+    <span class="s2">&quot;timestamp&quot;</span><span class="p">:</span> 
<span class="mi">3</span><span class="p">,</span>
+    <span class="s2">&quot;score&quot;</span><span class="p">:</span> <span 
class="mi">1</span><span class="p">,</span>
+    <span class="s2">&quot;props&quot;</span><span class="p">:</span> <span 
class="p">{</span>
+      <span class="s2">&quot;_timestamp&quot;</span><span class="p">:</span> 
<span class="mi">3</span><span class="p">,</span>
+      <span class="s2">&quot;time&quot;</span><span class="p">:</span> <span 
class="o">-</span><span class="mi">30</span><span class="p">,</span>
+      <span class="s2">&quot;weight&quot;</span><span class="p">:</span> <span 
class="mi">0</span><span class="p">,</span>
+      <span class="s2">&quot;is_hidden&quot;</span><span class="p">:</span> 
<span class="n">false</span><span class="p">,</span>
+      <span class="s2">&quot;is_blocked&quot;</span><span class="p">:</span> 
<span class="n">false</span>
+    <span class="p">}</span>
+  <span class="p">},</span>
+  <span class="p">{</span>
+    <span class="s2">&quot;cacheRemain&quot;</span><span class="p">:</span> 
<span class="o">-</span><span class="mi">148</span><span class="p">,</span>
+    <span class="s2">&quot;from&quot;</span><span class="p">:</span> <span 
class="mi">101</span><span class="p">,</span>
+    <span class="s2">&quot;to&quot;</span><span class="p">:</span> <span 
class="s2">&quot;10&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;label&quot;</span><span class="p">:</span> <span 
class="s2">&quot;s2graph_label_test_weak&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;direction&quot;</span><span class="p">:</span> 
<span class="s2">&quot;out&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;_timestamp&quot;</span><span class="p">:</span> 
<span class="mi">2</span><span class="p">,</span>
+    <span class="s2">&quot;timestamp&quot;</span><span class="p">:</span> 
<span class="mi">2</span><span class="p">,</span>
+    <span class="s2">&quot;score&quot;</span><span class="p">:</span> <span 
class="mi">1</span><span class="p">,</span>
+    <span class="s2">&quot;props&quot;</span><span class="p">:</span> <span 
class="p">{</span>
+      <span class="s2">&quot;_timestamp&quot;</span><span class="p">:</span> 
<span class="mi">2</span><span class="p">,</span>
+      <span class="s2">&quot;time&quot;</span><span class="p">:</span> <span 
class="o">-</span><span class="mi">10</span><span class="p">,</span>
+      <span class="s2">&quot;weight&quot;</span><span class="p">:</span> <span 
class="mi">0</span><span class="p">,</span>
+      <span class="s2">&quot;is_hidden&quot;</span><span class="p">:</span> 
<span class="n">false</span><span class="p">,</span>
+      <span class="s2">&quot;is_blocked&quot;</span><span class="p">:</span> 
<span class="n">false</span>
+    <span class="p">}</span>
+  <span class="p">},</span>
+  <span class="p">{</span>
+    <span class="s2">&quot;cacheRemain&quot;</span><span class="p">:</span> 
<span class="o">-</span><span class="mi">148</span><span class="p">,</span>
+    <span class="s2">&quot;from&quot;</span><span class="p">:</span> <span 
class="mi">101</span><span class="p">,</span>
+    <span class="s2">&quot;to&quot;</span><span class="p">:</span> <span 
class="s2">&quot;10&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;label&quot;</span><span class="p">:</span> <span 
class="s2">&quot;s2graph_label_test_weak&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;direction&quot;</span><span class="p">:</span> 
<span class="s2">&quot;out&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;_timestamp&quot;</span><span class="p">:</span> 
<span class="mi">1</span><span class="p">,</span>
+    <span class="s2">&quot;timestamp&quot;</span><span class="p">:</span> 
<span class="mi">1</span><span class="p">,</span>
+    <span class="s2">&quot;score&quot;</span><span class="p">:</span> <span 
class="mi">1</span><span class="p">,</span>
+    <span class="s2">&quot;props&quot;</span><span class="p">:</span> <span 
class="p">{</span>
+      <span class="s2">&quot;_timestamp&quot;</span><span class="p">:</span> 
<span class="mi">1</span><span class="p">,</span>
+      <span class="s2">&quot;time&quot;</span><span class="p">:</span> <span 
class="mi">0</span><span class="p">,</span>
+      <span class="s2">&quot;weight&quot;</span><span class="p">:</span> <span 
class="mi">0</span><span class="p">,</span>
+      <span class="s2">&quot;is_hidden&quot;</span><span class="p">:</span> 
<span class="n">false</span><span class="p">,</span>
+      <span class="s2">&quot;is_blocked&quot;</span><span class="p">:</span> 
<span class="n">false</span>
+    <span class="p">}</span>
+  <span class="p">}</span>
+<span class="p">]</span><span class="s1">&#39;</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="id2">
+<h3>Update - <code class="docutils literal notranslate"><span 
class="pre">POST</span> <span class="pre">/mutate/edge/update</span></code><a 
class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h3>
+<p>Like insert, S2Graph <code class="docutils literal notranslate"><span 
class="pre">does</span> <span class="pre">not</span> <span 
class="pre">check</span></code> for uniqueness. Update requires a pre-fetch of 
existing edges, similar to delete. Props of the resulting edges will be 
updated.</p>
+</div>
+<div class="section" id="id3">
+<h3>Increment - <code class="docutils literal notranslate"><span 
class="pre">POST</span> <span 
class="pre">/mutate/edge/increment</span></code><a class="headerlink" 
href="#id3" title="Permalink to this headline">¶</a></h3>
+<p>For increment, S2Graph also <code class="docutils literal 
notranslate"><span class="pre">does</span> <span class="pre">not</span> <span 
class="pre">check</span></code> for uniqueness. Update requires a pre-fetch of 
existing edges, similar to delete. Props of the resulting edges will be 
incremented.</p>
+</div>
+<div class="section" id="id4">
+<h3>Delete All - <code class="docutils literal notranslate"><span 
class="pre">POST</span> <span 
class="pre">/mutate/edge/deleteAll</span></code><a class="headerlink" 
href="#id4" title="Permalink to this headline">¶</a></h3>
+<p>Identical to strong consistency.</p>
+<div class="code bash highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="n">curl</span> <span 
class="o">-</span><span class="n">XPOST</span> <span 
class="n">localhost</span><span class="p">:</span><span 
class="mi">9000</span><span class="o">/</span><span 
class="n">mutate</span><span class="o">/</span><span class="n">edge</span><span 
class="o">/</span><span class="n">deleteAll</span> <span 
class="o">-</span><span class="n">H</span> <span class="s1">&#39;Content-Type: 
Application/json&#39;</span> <span class="o">-</span><span class="n">d</span> 
<span class="s1">&#39;</span>
+<span class="p">[</span>
+  <span class="p">{</span><span class="s2">&quot;ids&quot;</span> <span 
class="p">:</span> <span class="p">[</span><span class="mi">101</span><span 
class="p">],</span> <span class="s2">&quot;label&quot;</span><span 
class="p">:</span><span class="s2">&quot;s2graph_label_test&quot;</span><span 
class="p">,</span> <span class="s2">&quot;direction&quot;</span><span 
class="p">:</span> <span class="s2">&quot;out&quot;</span><span 
class="p">,</span> <span class="s2">&quot;timestamp&quot;</span><span 
class="p">:</span><span class="mi">1417616441</span><span class="p">}</span>
+<span class="p">]</span><span class="s1">&#39;</span>
+</pre></div>
+</div>
+</div>
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer 
navigation">
+      
+        <a href="mutate_vertex.html" class="btn btn-neutral float-right" 
title="Manage Vertices (Optional)" accesskey="n" rel="next">Next <span 
class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="index.html" class="btn btn-neutral float-left" title="Mutate 
APIs" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> 
Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2018, s2graph
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/";>Sphinx</a> using a <a 
href="https://github.com/rtfd/sphinx_rtd_theme";>theme</a> provided by <a 
href="https://readthedocs.org";>Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file

Added: incubator/s2graph/site/docs/api/mutate/mutate_vertex.html
URL: 
http://svn.apache.org/viewvc/incubator/s2graph/site/docs/api/mutate/mutate_vertex.html?rev=1856470&view=auto
==============================================================================
--- incubator/s2graph/site/docs/api/mutate/mutate_vertex.html (added)
+++ incubator/s2graph/site/docs/api/mutate/mutate_vertex.html Thu Mar 28 
11:04:32 2019
@@ -0,0 +1,373 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>Manage Vertices (Optional) &mdash; S2Graph 0.0.2 documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" 
src="../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" 
data-url_root="../../" src="../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../_static/jquery.js"></script>
+        <script type="text/javascript" 
src="../../_static/underscore.js"></script>
+        <script type="text/javascript" 
src="../../_static/doctools.js"></script>
+        <script type="text/javascript" 
src="../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../_static/css/s2graph_style.css" 
type="text/css" />
+  <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Query APIs" href="../query/index.html" />
+    <link rel="prev" title="Manage Edges" href="mutate_edge.html" /> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../index.html" class="icon icon-home"> S2Graph
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" 
method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" 
role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <p class="caption"><span class="caption-text">S2Graph 
Documentation</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" 
href="../../getting_started/index.html">Getting Started</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../../getting_started/your_first_graph.html">Your First S2Graph</a></li>
+<li class="toctree-l1 current"><a class="reference internal" 
href="../index.html">HTTP API Glossary</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" 
href="../management/index.html">Management APIs</a></li>
+<li class="toctree-l2 current"><a class="reference internal" 
href="index.html">Mutate APIs</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" 
href="mutate_edge.html">Manage Edges</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" 
href="#">Manage Vertices (Optional)</a><ul>
+<li class="toctree-l4"><a class="reference internal" 
href="#vertex-fields">Vertex Fields</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="#basic-vertex-operations">Basic Vertex Operations</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" 
href="../query/index.html">Query APIs</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">S2Graph</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../index.html">HTTP API Glossary</a> &raquo;</li>
+        
+          <li><a href="index.html">Mutate APIs</a> &raquo;</li>
+        
+      <li>Manage Vertices (Optional)</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../_sources/api/mutate/mutate_vertex.rst.txt" 
rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" 
itemtype="http://schema.org/Article";>
+           <div itemprop="articleBody">
+            
+  <div class="section" id="manage-vertices-optional">
+<h1>Manage Vertices (Optional)<a class="headerlink" 
href="#manage-vertices-optional" title="Permalink to this headline">¶</a></h1>
+<p>Vertices are the two end points of an edge, and logically stored in columns 
of a service. If your use case requires storing metadata corresponding to 
vertices rather than edges, there are operations available on vertices as 
well.</p>
+<div class="section" id="vertex-fields">
+<h2>Vertex Fields<a class="headerlink" href="#vertex-fields" title="Permalink 
to this headline">¶</a></h2>
+<p>Unlike edges and their labels, properties of a vertex are not indexed nor 
require a predefined schema. The following fields are used when operating on 
vertices.</p>
+<table border="1" class="colwidths-given docutils" id="id1">
+<caption><span class="caption-text">Option</span><a class="headerlink" 
href="#id1" title="Permalink to this table">¶</a></caption>
+<colgroup>
+<col width="11%" />
+<col width="22%" />
+<col width="22%" />
+<col width="22%" />
+<col width="22%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Field Name</th>
+<th class="head">Definition</th>
+<th class="head">Data Type</th>
+<th class="head">Example</th>
+<th class="head">Note</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>timestamp</td>
+<td>Issue time of request</td>
+<td>Long</td>
+<td>1430116731156</td>
+<td>Required. Unix Epoch time in <strong>milliseconds</strong></td>
+</tr>
+<tr class="row-odd"><td>operation</td>
+<td>One of insert, delete, update, increment</td>
+<td>String</td>
+<td>i, insert</td>
+<td>Required only for bulk operations. Alias are also available: i (insert), d 
(delete), u (update), in (increment). Default is insert.</td>
+</tr>
+<tr class="row-even"><td><strong>serviceName</strong></td>
+<td>Corresponding service name</td>
+<td>String</td>
+<td>kakaotalk/kakaogroup</td>
+<td>Required</td>
+</tr>
+<tr class="row-odd"><td><strong>columnName</strong></td>
+<td>Corresponding column name</td>
+<td>String</td>
+<td>user_id</td>
+<td>Required</td>
+</tr>
+<tr class="row-even"><td>id</td>
+<td>Unique identifier of vertex</td>
+<td>Long/String</td>
+<td>101</td>
+<td>Required. Use Long if possible</td>
+</tr>
+<tr class="row-odd"><td><strong>props</strong></td>
+<td>Additional properties of vertex</td>
+<td>JSON (dictionary)</td>
+<td>{“is_active_user”: true, “age”:10, “gender”: “F”, 
“country_iso”: “kr”}</td>
+<td>Required</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="basic-vertex-operations">
+<h2>Basic Vertex Operations<a class="headerlink" 
href="#basic-vertex-operations" title="Permalink to this headline">¶</a></h2>
+<div class="section" 
id="insert-post-mutate-vertex-insert-servicename-columnname">
+<h3>Insert - <code class="docutils literal notranslate"><span 
class="pre">POST</span> <span 
class="pre">/mutate/vertex/insert/:serviceName/:columnName</span></code><a 
class="headerlink" 
href="#insert-post-mutate-vertex-insert-servicename-columnname" 
title="Permalink to this headline">¶</a></h3>
+<div class="code bash highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="n">curl</span> <span 
class="o">-</span><span class="n">XPOST</span> <span 
class="n">localhost</span><span class="p">:</span><span 
class="mi">9000</span><span class="o">/</span><span 
class="n">mutate</span><span class="o">/</span><span 
class="n">vertex</span><span class="o">/</span><span 
class="n">insert</span><span class="o">/</span><span 
class="n">s2graph</span><span class="o">/</span><span 
class="n">account_id</span> <span class="o">-</span><span class="n">H</span> 
<span class="s1">&#39;Content-Type: Application/json&#39;</span> <span 
class="o">-</span><span class="n">d</span> <span class="s1">&#39;</span>
+<span class="p">[</span>
+  <span class="p">{</span><span class="s2">&quot;id&quot;</span><span 
class="p">:</span><span class="mi">1</span><span class="p">,</span><span 
class="s2">&quot;props&quot;</span><span class="p">:{</span><span 
class="s2">&quot;is_active&quot;</span><span class="p">:</span><span 
class="n">true</span><span class="p">,</span> <span 
class="s2">&quot;talk_user_id&quot;</span><span class="p">:</span><span 
class="mi">10</span><span class="p">},</span><span 
class="s2">&quot;timestamp&quot;</span><span class="p">:</span><span 
class="mi">1417616431000</span><span class="p">},</span>
+  <span class="p">{</span><span class="s2">&quot;id&quot;</span><span 
class="p">:</span><span class="mi">2</span><span class="p">,</span><span 
class="s2">&quot;props&quot;</span><span class="p">:{</span><span 
class="s2">&quot;is_active&quot;</span><span class="p">:</span><span 
class="n">true</span><span class="p">,</span> <span 
class="s2">&quot;talk_user_id&quot;</span><span class="p">:</span><span 
class="mi">12</span><span class="p">},</span><span 
class="s2">&quot;timestamp&quot;</span><span class="p">:</span><span 
class="mi">1417616431000</span><span class="p">},</span>
+  <span class="p">{</span><span class="s2">&quot;id&quot;</span><span 
class="p">:</span><span class="mi">3</span><span class="p">,</span><span 
class="s2">&quot;props&quot;</span><span class="p">:{</span><span 
class="s2">&quot;is_active&quot;</span><span class="p">:</span><span 
class="n">false</span><span class="p">,</span> <span 
class="s2">&quot;talk_user_id&quot;</span><span class="p">:</span><span 
class="mi">13</span><span class="p">},</span><span 
class="s2">&quot;timestamp&quot;</span><span class="p">:</span><span 
class="mi">1417616431000</span><span class="p">},</span>
+  <span class="p">{</span><span class="s2">&quot;id&quot;</span><span 
class="p">:</span><span class="mi">4</span><span class="p">,</span><span 
class="s2">&quot;props&quot;</span><span class="p">:{</span><span 
class="s2">&quot;is_active&quot;</span><span class="p">:</span><span 
class="n">true</span><span class="p">,</span> <span 
class="s2">&quot;talk_user_id&quot;</span><span class="p">:</span><span 
class="mi">14</span><span class="p">},</span><span 
class="s2">&quot;timestamp&quot;</span><span class="p">:</span><span 
class="mi">1417616431000</span><span class="p">},</span>
+  <span class="p">{</span><span class="s2">&quot;id&quot;</span><span 
class="p">:</span><span class="mi">5</span><span class="p">,</span><span 
class="s2">&quot;props&quot;</span><span class="p">:{</span><span 
class="s2">&quot;is_active&quot;</span><span class="p">:</span><span 
class="n">true</span><span class="p">,</span> <span 
class="s2">&quot;talk_user_id&quot;</span><span class="p">:</span><span 
class="mi">15</span><span class="p">},</span><span 
class="s2">&quot;timestamp&quot;</span><span class="p">:</span><span 
class="mi">1417616431000</span><span class="p">}</span>
+<span class="p">]</span><span class="s1">&#39;</span>
+</pre></div>
+</div>
+</div>
+<div class="section" 
id="delete-post-mutate-vertex-delete-servicename-columnname">
+<h3>Delete - <code class="docutils literal notranslate"><span 
class="pre">POST</span> <span 
class="pre">/mutate/vertex/delete/:serviceName/:columnName</span></code><a 
class="headerlink" 
href="#delete-post-mutate-vertex-delete-servicename-columnname" 
title="Permalink to this headline">¶</a></h3>
+<div class="code bash highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="n">curl</span> <span 
class="o">-</span><span class="n">XPOST</span> <span 
class="n">localhost</span><span class="p">:</span><span 
class="mi">9000</span><span class="o">/</span><span 
class="n">mutate</span><span class="o">/</span><span 
class="n">vertex</span><span class="o">/</span><span 
class="n">delete</span><span class="o">/</span><span 
class="n">s2graph</span><span class="o">/</span><span 
class="n">account_id</span> <span class="o">-</span><span class="n">H</span> 
<span class="s1">&#39;Content-Type: Application/json&#39;</span> <span 
class="o">-</span><span class="n">d</span> <span class="s1">&#39;</span>
+<span class="p">[</span>
+  <span class="p">{</span><span class="s2">&quot;id&quot;</span><span 
class="p">:</span><span class="mi">1</span><span class="p">,</span><span 
class="s2">&quot;timestamp&quot;</span><span class="p">:</span><span 
class="mi">1417616431001</span><span class="p">},</span>
+  <span class="p">{</span><span class="s2">&quot;id&quot;</span><span 
class="p">:</span><span class="mi">2</span><span class="p">,</span><span 
class="s2">&quot;timestamp&quot;</span><span class="p">:</span><span 
class="mi">1417616431002</span><span class="p">}</span>
+<span class="p">]</span><span class="s1">&#39;</span>
+</pre></div>
+</div>
+<p>This operation will delete only the vertex data of a specified column and 
will not delete any edges connected to those vertices.
+Also important thing is timestamp. vertex will be deleted only if delete 
requests <code class="docutils literal notranslate"><span 
class="pre">timestamp</span> <span class="pre">is</span> <span 
class="pre">larger</span> <span class="pre">than</span> <span 
class="pre">all</span> <span class="pre">of</span> <span 
class="pre">vertexs</span></code> property`s timestamp.</p>
+<p>following example shows the difference.</p>
+<div class="code bash highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="n">curl</span> <span 
class="o">-</span><span class="n">XPOST</span> <span 
class="n">localhost</span><span class="p">:</span><span 
class="mi">9000</span><span class="o">/</span><span 
class="n">mutate</span><span class="o">/</span><span 
class="n">vertex</span><span class="o">/</span><span 
class="n">insert</span><span class="o">/</span><span 
class="n">s2graph_test</span><span class="o">/</span><span 
class="n">account_id</span> <span class="o">-</span><span class="n">H</span> 
<span class="s1">&#39;Content-Type: Application/json&#39;</span> <span 
class="o">-</span><span class="n">d</span> <span class="s1">&#39;</span>
+<span class="p">[</span>
+  <span class="p">{</span><span class="s2">&quot;id&quot;</span><span 
class="p">:</span><span class="mi">1</span><span class="p">,</span><span 
class="s2">&quot;props&quot;</span><span class="p">:{</span><span 
class="s2">&quot;is_active&quot;</span><span class="p">:</span><span 
class="n">true</span><span class="p">,</span> <span 
class="s2">&quot;talk_user_id&quot;</span><span class="p">:</span><span 
class="mi">10</span><span class="p">},</span><span 
class="s2">&quot;timestamp&quot;</span><span class="p">:</span><span 
class="mi">1417616431000</span><span class="p">},</span>
+  <span class="p">{</span><span class="s2">&quot;id&quot;</span><span 
class="p">:</span><span class="mi">1</span><span class="p">,</span><span 
class="s2">&quot;props&quot;</span><span class="p">:{</span><span 
class="s2">&quot;talk_user_id&quot;</span><span class="p">:</span><span 
class="mi">20</span><span class="p">},</span><span 
class="s2">&quot;timestamp&quot;</span><span class="p">:</span><span 
class="mi">1417616431002</span><span class="p">}</span>
+<span class="p">]</span><span class="s1">&#39;</span>
+</pre></div>
+</div>
+<p>if user request delete(ts) on vertex like below then vertex would not be 
deleted, but only properties on this vertex that is updated before ts will be 
deleted.</p>
+<div class="code bash highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="n">curl</span> <span 
class="o">-</span><span class="n">XPOST</span> <span 
class="n">localhost</span><span class="p">:</span><span 
class="mi">9000</span><span class="o">/</span><span 
class="n">mutate</span><span class="o">/</span><span 
class="n">vertex</span><span class="o">/</span><span 
class="n">delete</span><span class="o">/</span><span 
class="n">s2graph_test</span><span class="o">/</span><span 
class="n">account_id</span> <span class="o">-</span><span class="n">H</span> 
<span class="s1">&#39;Content-Type: Application/json&#39;</span> <span 
class="o">-</span><span class="n">d</span> <span class="s1">&#39;</span>
+<span class="p">[</span>
+  <span class="p">{</span><span class="s2">&quot;id&quot;</span><span 
class="p">:</span><span class="mi">1</span><span class="p">,</span><span 
class="s2">&quot;timestamp&quot;</span><span class="p">:</span><span 
class="mi">1417616431001</span><span class="p">}</span>
+<span class="p">]</span><span class="s1">&#39;</span>
+</pre></div>
+</div>
+<p>then result still have vertex with property that is updated with larger 
timestamp.</p>
+<div class="code bash highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="n">curl</span> <span 
class="o">-</span><span class="n">XPOST</span> <span 
class="n">localhost</span><span class="p">:</span><span 
class="mi">9000</span><span class="o">/</span><span 
class="n">graphs</span><span class="o">/</span><span 
class="n">getVertices</span> <span class="o">-</span><span class="n">H</span> 
<span class="s1">&#39;Content-Type: Application/json&#39;</span> <span 
class="o">-</span><span class="n">d</span> <span class="s1">&#39;</span>
+<span class="p">[</span>
+   <span class="p">{</span><span 
class="s2">&quot;serviceName&quot;</span><span class="p">:</span> <span 
class="s2">&quot;s2graph_test&quot;</span><span class="p">,</span> <span 
class="s2">&quot;columnName&quot;</span><span class="p">:</span> <span 
class="s2">&quot;account_id&quot;</span><span class="p">,</span> <span 
class="s2">&quot;ids&quot;</span><span class="p">:</span> <span 
class="p">[</span><span class="mi">1</span><span class="p">]}</span>
+<span class="p">]</span><span class="s1">&#39;</span>
+
+
+<span class="c1"># result</span>
+<span class="p">{</span>
+  <span class="s2">&quot;serviceName&quot;</span><span class="p">:</span> 
<span class="s2">&quot;s2graph_test&quot;</span><span class="p">,</span>
+  <span class="s2">&quot;columnName&quot;</span><span class="p">:</span> <span 
class="s2">&quot;account_id&quot;</span><span class="p">,</span>
+  <span class="s2">&quot;id&quot;</span><span class="p">:</span> <span 
class="mi">1</span><span class="p">,</span>
+  <span class="s2">&quot;props&quot;</span><span class="p">:</span> <span 
class="p">{</span>
+    <span class="s2">&quot;talk_user_id&quot;</span><span class="p">:</span> 
<span class="mi">20</span>
+  <span class="p">},</span>
+  <span class="s2">&quot;timestamp&quot;</span><span class="p">:</span> <span 
class="mi">1417616431002</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p><strong>Important notes</strong></p>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">This means that edges returned by a query can contain deleted 
vertices. Clients are responsible for checking validity of the vertices.</p>
+</div>
+</div>
+<div class="section" 
id="delete-all-post-mutate-vertex-deleteall-servicename-columnname">
+<h3>Delete All - <code class="docutils literal notranslate"><span 
class="pre">POST</span> <span 
class="pre">/mutate/vertex/deleteAll/:serviceName/:columnName</span></code><a 
class="headerlink" 
href="#delete-all-post-mutate-vertex-deleteall-servicename-columnname" 
title="Permalink to this headline">¶</a></h3>
+<p>This is a <strong>very expensive</strong> operation. If you’re interested 
in what goes on under the hood, please refer to the following pseudocode:</p>
+<div class="code python highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="n">vertices</span> <span 
class="o">=</span> <span class="n">vertex</span> <span class="nb">list</span> 
<span class="n">to</span> <span class="n">delete</span>
+  <span class="k">for</span> <span class="n">vertex</span> <span 
class="ow">in</span> <span class="n">vertices</span>
+      <span class="n">labels</span> <span class="o">=</span> <span 
class="n">fetch</span> <span class="nb">all</span> <span 
class="n">labels</span> <span class="n">that</span> <span class="n">this</span> 
<span class="n">vertex</span> <span class="ow">is</span> <span 
class="n">included</span><span class="o">.</span>
+      <span class="k">for</span> <span class="n">label</span> <span 
class="ow">in</span> <span class="n">labels</span>
+          <span class="k">for</span> <span class="n">index</span> <span 
class="ow">in</span> <span class="n">label</span><span class="o">.</span><span 
class="n">indices</span>
+              <span class="n">edges</span> <span class="o">=</span> <span 
class="n">G</span><span class="o">.</span><span class="n">read</span> <span 
class="k">with</span> <span class="n">limit</span> <span 
class="mi">50</span><span class="n">K</span>
+              <span class="k">for</span> <span class="n">edge</span> <span 
class="ow">in</span> <span class="n">edges</span>
+                  <span class="n">edge</span><span class="o">.</span><span 
class="n">delete</span>
+</pre></div>
+</div>
+<p>The total complexity is O(L L.I) reads + O(L L.I 50K) writes, worst case. 
<strong>If the vertex you’re trying to delete has more than 50K edges, the 
deletion will not be consistent</strong>.</p>
+</div>
+<div class="section" 
id="update-post-mutate-vertex-insert-servicename-columnname">
+<h3>Update - POST /mutate/vertex/insert/:serviceName/:columnName<a 
class="headerlink" 
href="#update-post-mutate-vertex-insert-servicename-columnname" 
title="Permalink to this headline">¶</a></h3>
+<p>Basically update on Vertex is same with insert overwrite so use insert for 
update.</p>
+</div>
+<div class="section" id="increment">
+<h3>Increment<a class="headerlink" href="#increment" title="Permalink to this 
headline">¶</a></h3>
+<p>Not yet implemented; stay tuned.</p>
+</div>
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer 
navigation">
+      
+        <a href="../query/index.html" class="btn btn-neutral float-right" 
title="Query APIs" accesskey="n" rel="next">Next <span class="fa 
fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="mutate_edge.html" class="btn btn-neutral float-left" 
title="Manage Edges" accesskey="p" rel="prev"><span class="fa 
fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2018, s2graph
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/";>Sphinx</a> using a <a 
href="https://github.com/rtfd/sphinx_rtd_theme";>theme</a> provided by <a 
href="https://readthedocs.org";>Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file

Added: incubator/s2graph/site/docs/api/query/index.html
URL: 
http://svn.apache.org/viewvc/incubator/s2graph/site/docs/api/query/index.html?rev=1856470&view=auto
==============================================================================
--- incubator/s2graph/site/docs/api/query/index.html (added)
+++ incubator/s2graph/site/docs/api/query/index.html Thu Mar 28 11:04:32 2019
@@ -0,0 +1,240 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>Query APIs &mdash; S2Graph 0.0.2 documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" 
src="../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" 
data-url_root="../../" src="../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../_static/jquery.js"></script>
+        <script type="text/javascript" 
src="../../_static/underscore.js"></script>
+        <script type="text/javascript" 
src="../../_static/doctools.js"></script>
+        <script type="text/javascript" 
src="../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../_static/css/s2graph_style.css" 
type="text/css" />
+  <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Query Options" href="query_options.html" />
+    <link rel="prev" title="Manage Vertices (Optional)" 
href="../mutate/mutate_vertex.html" /> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../index.html" class="icon icon-home"> S2Graph
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" 
method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" 
role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <p class="caption"><span class="caption-text">S2Graph 
Documentation</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" 
href="../../getting_started/index.html">Getting Started</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../../getting_started/your_first_graph.html">Your First S2Graph</a></li>
+<li class="toctree-l1 current"><a class="reference internal" 
href="../index.html">HTTP API Glossary</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" 
href="../management/index.html">Management APIs</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../mutate/index.html">Mutate APIs</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" 
href="#">Query APIs</a><ul>
+<li class="toctree-l3"><a class="reference internal" 
href="query_options.html">Query Options</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="query_edge.html">Edge Queries</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="query_vertex.html">Query Vertices</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">S2Graph</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../index.html">HTTP API Glossary</a> &raquo;</li>
+        
+      <li>Query APIs</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../_sources/api/query/index.rst.txt" rel="nofollow"> 
View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" 
itemtype="http://schema.org/Article";>
+           <div itemprop="articleBody">
+            
+  <div class="section" id="query-apis">
+<h1>Query APIs<a class="headerlink" href="#query-apis" title="Permalink to 
this headline">¶</a></h1>
+<p>Once you have your graph data uploaded to S2Graph, you can traverse your 
graph using our query APIs.
+S2Graph query DSL define <code class="docutils literal notranslate"><span 
class="pre">breadth</span> <span class="pre">first</span> <span 
class="pre">search(BFS)</span></code> and various options for <code 
class="docutils literal notranslate"><span class="pre">ranking</span></code> 
subgraph that BFS return.
+Query DSL has many options for ranking and filtering.</p>
+<p>Contents:</p>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" 
href="query_options.html">Query Options</a><ul>
+<li class="toctree-l2"><a class="reference internal" 
href="query_options.html#query-level-options">Query Level Options</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="query_options.html#step-level-option">Step Level Option</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="query_options.html#query-param-level-option">Query Param Level 
Option</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" 
href="query_edge.html">Edge Queries</a><ul>
+<li class="toctree-l2"><a class="reference internal" 
href="query_edge.html#checkedges-post-graphs-checkedges">checkEdges - <code 
class="docutils literal notranslate"><span class="pre">POST</span> <span 
class="pre">/graphs/checkEdges</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="query_edge.html#getedges-post-graphs-getedges">getEdges - <code 
class="docutils literal notranslate"><span class="pre">POST</span> <span 
class="pre">/graphs/getEdges</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" 
href="query_vertex.html">Query Vertices</a><ul>
+<li class="toctree-l2"><a class="reference internal" 
href="query_vertex.html#post-graphs-getvertices">POST - <code class="docutils 
literal notranslate"><span 
class="pre">/graphs/getVertices</span></code></a></li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer 
navigation">
+      
+        <a href="query_options.html" class="btn btn-neutral float-right" 
title="Query Options" accesskey="n" rel="next">Next <span class="fa 
fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="../mutate/mutate_vertex.html" class="btn btn-neutral 
float-left" title="Manage Vertices (Optional)" accesskey="p" rel="prev"><span 
class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2018, s2graph
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/";>Sphinx</a> using a <a 
href="https://github.com/rtfd/sphinx_rtd_theme";>theme</a> provided by <a 
href="https://readthedocs.org";>Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file


Reply via email to