title: The cypher PROFILE keyword asks for a transaction even if there is already one
body: <p>I am trying to profile the following query on the neo4j server console (community edition, version 1.9.2):</p>
  
  <pre><code>PROFILE START ungrouped=node(1) 
  CREATE (grouped{__type__:'my.package.Grouped'})&lt;-[:HAS_NEXT]-(ungrouped) 
  MATCH (ungrouped)-[:LEAF]-&gt;(leaf) 
  WITH leaf.`custom-GROUP` as groupValue, grouped, leaf
  CREATE UNIQUE (grouped)-[:GROUP]-&gt;({__type__:'my.package.Group',groupKey:'GROUP',groupValue:groupValue,groupOrigin:ID(ungrouped)})-[:LEAF]-&gt;(leaf) 
  RETURN DISTINCT grouped;
  </code></pre>
  
  <p>When I run the above query, I get the message</p>
  
  <pre><code>==&gt; I need a transaction!
  </code></pre>
  
  <p>Ok, so I created one with</p>
  
  <pre><code>BEGIN TRANSACTION
  ==&gt; Transaction started
  </code></pre>
  
  <p>Afterwards I run the same query again. But unfortunately I get the same message again:</p>
  
  <pre><code>==&gt; I need a transaction!
  </code></pre>
  
  <p>But there definitely is a transaction. When I type</p>
  
  <pre><code>ROLLBACK
  </code></pre>
  
  <p>the transaction is successfully rolled back:</p>
  
  <pre><code>==&gt; Transaction rolled back
  </code></pre>
  
  <p>Am I doing something wrong? Does profiling not work for such kind of a query by design? Or is this simply a bug in neo4j?</p>