anchor.diff:  `PartitionStrategy` is a `SubgraphStrategy` which creates logical subgraphs through the use of designated properties.  When each element is written to the `Graph`, it is marked with a property value indicating the current write-partition.  As elements are read from the graph, they are matched against the current set of read-partitions.  The read-partitions thereby define the union of a set of vertices and edges. For example:
   
   [source,groovy]
  -----
   gremlin> g = TinkerGraph.open()
   ==>tinkergraph[vertices:0 edges:0]
  -gremlin> strategy = new PartitionStrategy("com.example.partition", "A")
  -==>PartitionStrategy
  -gremlin> sg = new StrategyGraph(g)
  -==>strategywrappedgraph[tinkergraph[vertices:0 edges:0]]
  -gremlin> sg.setStrategy(strategy)
  -==>null
  -----
  +gremlin> partitionStrategy = new PartitionStrategy("com.example.partition", "A")
  +==>partitionstrategy
  +gremlin> sg = g.strategy(partitionStrategy)
  +==>partitionstrategy[tinkergraph[vertices:0 edges:0]]
   
   Add vertices and edges first in one partition, then another:
   
   [source,groovy]
  -----
   gremlin> v1 = sg.addVertex("name", "one")
   ==>v[0]*
   gremlin> v2 = sg.addVertex("name", "two")
   ==>v[3]*
   gremlin> v1.addEdge("knows", v2)
   ==>e[6][0-knows->3]*
  -gremlin> strategy.setWritePartition("B")
  +gremlin> partitionStrategy.setWritePartition("B")
   ==>null
   gremlin> v3 = sg.addVertex("name", "three")
   ==>v[7]*
   gremlin> v1.addEdge("knows", v3)
   ==>e[10][0-knows->7]*
  -gremlin> 
  -----
   
   Define sets of partitions which provide access to different subgraphs, or slices of the data:
   
   [source,groovy]
  -----
   gremlin> "in A: " + sg.V().count().next() + ", " + sg.E().count().next()
   ==>in A: 2, 1
   gremlin> strategy.addReadPartition("B")
  
positive.code: ==>null
  gremlin> "in B: " + sg.V().count().next() + ", " + sg.E().count().next()
  ==>in B: 1, 0
  ----
  
  Note that there are no edges in the set B, as the only edge added to partition B is incident on a vertex of A.
  
  
negative.code: Predicate<Edge> edgeCriterion = edge -> (int) edge.id() >= 8 && (int) edge.id() <= 10;
  
  GraphStrategy strategy = new SubgraphStrategy(vertexCriterion, edgeCriterion);
  StrategyGraph sg = g.strategy(strategy);
  
  // all vertices are here
  System.out.println("" + sg.V().count().next() + " of " + g.V().count().next() + " vertices");
  