Как использовать Janusgraph (реализация Java в памяти), как зафиксировать ключи свойств перед созданием индекса?JAVA

Программисты JAVA общаются здесь
Anonymous
Как использовать Janusgraph (реализация Java в памяти), как зафиксировать ключи свойств перед созданием индекса?

Сообщение Anonymous »

Я создаю прототип Java-проекта с помощью Janusgraph и столкнулся с проблемой. Если я создаю ключ свойства и фиксирую этот ключ свойства до создания индекса, индекс, похоже, зависает в состоянии INSTALLED. Пример кода здесь:

Код: Выделить всё

    @Test
public void minimalTest() throws InterruptedException {
// build in-memory backend for janusgraph
JanusGraph graph = JanusGraphFactory.build().set("storage.backend", "inmemory").open();
graph.tx().rollback();
JanusGraphManagement mgmt = graph.openManagement();
// create test prop & commit
String testProp = "testprop";
mgmt.getOrCreatePropertyKey(testProp);
mgmt.commit();
// create test index & commit
mgmt = graph.openManagement();
String testIndex = "testIndex";
mgmt.buildIndex(testIndex, Vertex.class).addKey(mgmt.getPropertyKey(testProp)).buildCompositeIndex();
mgmt.commit();
// attempt to wait for enabled
ManagementSystem.awaitGraphIndexStatus(graph, testIndex).status(SchemaStatus.ENABLED).call();
System.out.println("Gets stuck in the await line above and never makes it here");
}
Если я закомментирую фиксацию ключа свойства и повторно открою управление графом, то этот код будет работать нормально. Пример прямо здесь:

Код: Выделить всё

    @Test
public void minimalTest() throws InterruptedException {
// build in-memory backend for janusgraph
JanusGraph graph = JanusGraphFactory.build().set("storage.backend", "inmemory").open();
graph.tx().rollback();
JanusGraphManagement mgmt = graph.openManagement();
// create test prop & commit
String testProp = "testprop";
mgmt.getOrCreatePropertyKey(testProp);
//mgmt.commit();
// create test index & commit
//mgmt = graph.openManagement();
String testIndex = "testIndex";
mgmt.buildIndex(testIndex, Vertex.class).addKey(mgmt.getPropertyKey(testProp)).buildCompositeIndex();
mgmt.commit();
// attempt to wait for enabled
ManagementSystem.awaitGraphIndexStatus(graph, testIndex).status(SchemaStatus.ENABLED).call();
System.out.println("Gets here fine");
}
Что мне нужно сделать, чтобы я мог создать ключ свойства в транзакции, отличной от индекса, как в первом примере выше?
Мои версии janusgraph-core и janusgraph-inmemory — 1.0.0, если это вообще имеет значение. Спасибо!


Подробнее здесь: https://stackoverflow.com/questions/781 ... perty-keys

Вернуться в «JAVA»