title: F# - cypher query with multiple return values
body: <p>Given this query (from <a href="http://geekswithblogs.net/cskardon/archive/2013/11/27/using-neo4j-with-f-ndash-cypher-2.0.aspx" rel="nofollow">here</a>)</p>
  
  
  
  <pre class="lang-ml prettyprint-override"><code>  let pAfollowers =
          client.Cypher
              .Match("n&lt;-[:follows]-e")
              .Where(fun n -&gt; n.Twitter = "tA")
              .Return&lt;Person&gt;("e")
              .Results
              .Select(fun x -&gt; x.Name)
  </code></pre>
  
  <p>I would like to tweak it and have it return multiple values packaged together.
  Not sure about how the type should look:</p>
  
  <pre class="lang-ml prettyprint-override"><code>let pAfollowers =
          client.Cypher
              .Match("n&lt;-[r:follows]-e")
              .Where(fun n -&gt; n.Twitter = "tA")
              .Return&lt;???&gt;("n, r, e")
  </code></pre>
  
  <p>Secondly I was wondering if it is possible to have a return statement after a <code>CreateUnique</code>.
  I am trying to tweak this query:</p>
  
  <pre class="lang-ml prettyprint-override"><code>let knows target (details : Knows) source =
          client.Cypher
              .Match("(s:Person)", "(t:Person)")
              .Where(fun s -&gt; s.Twitter = source.Twitter)
              .AndWhere(fun t -&gt; t.Twitter = target.Twitter)
              .CreateUnique("s-[:knows {knowsData}]-&gt;t")
              .WithParam("knowsData", details)
              .ExecuteWithoutResults()
  </code></pre>
  
  <p>to have it return <code>s</code>, <code>t</code> and the <code>details</code>.</p>