private void setupChainGraph(int numV, String[] strings, boolean sameNameMapping) {
clopen(option(INDEX_NAME_MAPPING, INDEX), sameNameMapping);
final JanusGraphIndex vindex = getExternalIndex(Vertex.class, INDEX);
final JanusGraphIndex eindex = getExternalIndex(Edge.class, INDEX);
final JanusGraphIndex pindex = getExternalIndex(JanusGraphVertexProperty.class, INDEX);
final PropertyKey name = makeKey("name", String.class);
mgmt.addIndexKey(vindex, name, getStringMapping());
mgmt.addIndexKey(eindex, name, getStringMapping());
mgmt.addIndexKey(pindex, name, getStringMapping(), Parameter.of("mapped-name", "xstr"));
final PropertyKey text = makeKey("text", String.class);
mgmt.addIndexKey(vindex, text, getTextMapping(), Parameter.of("mapped-name", "xtext"));
mgmt.addIndexKey(eindex, text, getTextMapping());
mgmt.addIndexKey(pindex, text, getTextMapping());
mgmt.makeEdgeLabel("knows").signature(name).make();
mgmt.makePropertyKey("uid").dataType(String.class).signature(text).make();
finishSchema();
JanusGraphVertex previous = null;
for (int i = 0; i < numV; i++) {
final JanusGraphVertex v = graph.addVertex("name", strings[i % strings.length], "text", strings[i % strings.length]);
v.addEdge("knows", previous == null ? v : previous,
"name", strings[i % strings.length], "text", strings[i % strings.length]);
v.property("uid", "v" + i,
"name", strings[i % strings.length], "text", strings[i % strings.length]);
previous = v;
}
}