anchor.diff:  RETURN count(*)
   ----
   
  -.. Use a wrapping space around operators.
  +. Use a wrapping space around operators.
   +
   .Bad
   [source, cypher]
  
positive.code: [source, cypher]
  ----
  RETURN split('original', 'i')
  ----
  
  . When patterns wrap lines, break after arrows, not before.
  +
  .Bad
  [source, cypher]
  ----
  MATCH (:Person)-->(vehicle:Car)-->(:Company)
        <--(:Country)
  RETURN count(vehicle)
  ----
  +
  .Good
  [source, cypher]
  ----
  MATCH (:Person)-->(vehicle:Car)-->(:Company)<--
        (:Country)
  RETURN count(vehicle)
  ----
  
  . Surround node patterns with parentheses.
  .. This only concerns old Cypher code, as omitting parentheses is no longer legal in Cypher.
  +
  .Bad
  [source, cypher]
  ----
  MATCH person-->vehicle
  RETURN person, vehicle
  ----
  +
  .Good
  [source, cypher]
  ----
  MATCH (person)-->(vehicle)
  RETURN person, vehicle
  ----
  
  . Avoid having to use back-ticks to escape characters and keywords.
  +
  .Bad
  [source, cypher]
  ----
  MATCH (`odd-ch@racter$`:`Spaced Label` {`&property`: 42})
  RETURN labels(`odd-ch@racter$`)
  ----
  +
  .Good
  [source, cypher]
  ----
  MATCH (node:NonSpacedLabel {property: 42})
  RETURN labels(node)
  ----
  
  . *Patterns*:
  .. Use anonymous nodes and relationships when the variable would not be used.
  +
  .Bad
  [source, cypher]
  ----
  CREATE (a:End {prop: 42}),
         (b:End {prop: 3}),
         (c:Begin {prop: id(a)})
  ----
  +
  .Good
  [source, cypher]
  ----
  CREATE (a:End {prop: 42}),
         (:End {prop: 3}),
         (:Begin {prop: id(a)})
  ----
  
  .. Chain patterns together to avoid repeating variables.
  +
  .Bad
  [source, cypher]
  ----
  MATCH (:Person)-->(vehicle:Car), (vehicle:Car)-->(:Company)
  RETURN count(vehicle)
  ----
  +
  .Good
  [source, cypher]
  ----
  MATCH (:Person)-->(vehicle:Car)-->(:Company)
  RETURN count(vehicle)
  ----
  
  .. Put named nodes before anonymous nodes.
  +
  .Bad
  [source, cypher]
  ----
  MATCH ()-->(vehicle:Car)-->(manufacturer:Company)
  WHERE manufacturer.founded_year < 2000
  RETURN vehicle.mileage
  ----
  +
  .Good
  [source, cypher]
  ----
  MATCH (manufacturer:Company)<--(vehicle:Car)<--()
  WHERE manufacturer.founded_year < 2000
  RETURN vehicle.mileage
  ----
  
  .. Keep anchor nodes at the beginning of the `MATCH` clause.
  +
  .Bad
  [source, cypher]
  ----
  MATCH (:Person)-->(vehicle:Car)-->(manufacturer:Company)
  WHERE manufacturer.founded_year < 2000
  RETURN vehicle.mileage
  ----
  +
  .Good
  [source, cypher]
  ----
  MATCH (manufacturer:Company)<--(vehicle:Car)<--(:Person)
  WHERE manufacturer.founded_year < 2000
  RETURN vehicle.mileage
  ----
  
  .. Prefer outgoing (left to right) pattern relationships to incoming pattern relationships.
  +
  .Bad
  [source, cypher]
  ----
  MATCH (:Country)-->(:Company)<--(vehicle:Car)<--(:Person)
  RETURN vehicle.mileage
  ----
  +
  .Good
  [source, cypher]
  ----
  MATCH (:Person)-->(vehicle:Car)-->(:Company)<--(:Country)
  RETURN vehicle.mileage
  ----
  
  . Do not use a semicolon at the end of the statement.
  +
  .Bad
  [source, cypher]
  ----
  RETURN 1;
  ----
  +
  .Good
  [source, cypher]
  ----
  RETURN 1
  ----
  
  == Recommendations
  
negative.code: RETURN map
  ----
  
  . No padding space for parameters.
  +
  .Bad
  [source, cypher]
  