anchor.diff:  graph.tx().commit()
   graph.io(graphml()).readGraph('data/grateful-dead.xml')
   g = graph.traversal(standard())
  -clock(1000) {g.V().hasLabel('artist').has('name','Garcia').next()}  <2>
  -clock(1000) {g.V().has('name','Garcia').next()} <3>
  +clock(1000) {g.V().hasLabel('artist').has('name','Garcia').iterate()}  <2>
  +clock(1000) {g.V().has('name','Garcia').iterate()} <3>
   graph.cypher("DROP INDEX ON :artist(name)") <4>
   g.tx().commit()
  -clock(1000) {g.V().hasLabel('artist').has('name','Garcia').next()} <5>
  -clock(1000) {g.V().has('name','Garcia').next()} <6>
  +clock(1000) {g.V().hasLabel('artist').has('name','Garcia').iterate()} <5>
  +clock(1000) {g.V().has('name','Garcia').iterate()} <6>
   graph.close()
   ----
   
  
positive.code: graph.tx().commit()  <1>
  graph.addVertex(label,'person','name','marko')
  graph.addVertex(label,'dog','name','puppy')
  g = graph.traversal(standard())
  g.V().hasLabel('person').has('name','marko').values('name')
  graph.close()
  ----
  
  <1> schema mutations must happen in a different tx than graph mutations
  
  Below demonstrates the runtime benefits of indices and demonstrates how if there is no defined index (only vertex labels), a linear scan of the vertex-label partition is still faster than a linear scan of all vertices.
  
  
negative.code: 
  [source,java]
  public Set<String> labels() // get all the labels of the vertex
  public void addLabel(String label) // add a label to the vertex
  public void removeLabel(String label) // remove a label from the vertex
  
  An example use case is presented below.
  
  [gremlin-groovy]
  ----
  graph = Neo4jGraph.open('/tmp/neo4j')
  vertex = (Neo4jVertex) graph.addVertex('human::animal') // typecasting only required in Java
  vertex.label() // standard Vertex.label() method (note that labels are alphabetically sorted)
  vertex.labels() // specific Neo4jVertex.labels() method
  vertex.addLabel('organism') // specific Neo4jVertex.addLabel() method
  vertex.label()
  vertex.removeLabel('human') // specific Neo4jVertex.removeLabel() method
  vertex.labels()
  vertex.addLabel('organism') // add a repeat
  vertex.labels()
  vertex.removeLabel('human') // remove a label that doesn't exist
  vertex.label()
  g = graph.traversal()
  g.V().has(label,'organism') // does not match as P.eq() does a full string match
  g.V().has(label,of('organism')) // N.of() is specific to neo4j-gremlin and used for multi-label matching
  g.V().has(label,of('organism')).has(label,of('animal'))
  g.V().has(label,of('organism').and(of('animal')))
  ----
  
  `N.of()` is only required if multi-labels are leveraged. `N.of()` is used when filtering/looking-up vertices by their label(s) as the standard `P.eq()` does a direct match on the `::`-representation of `vertex.label()`
  
  [[hadoop-gremlin]]
  Hadoop-Gremlin
  