Я думаю, что создание индексов в Neo4j с Gremlin может быть нарушено.Доказательства включают проблемы, поднятые против neo4j , чертежей и плагина REST .Даже если это не так, у Gremlin на самом деле нет первоклассного доступа к индексам в Neo4j - например, он не может создавать полнотекстовые индексы в прошлый раз, когда я проверял.Не уверен, что это может даже создать индексы отношений в Neo.
Я использую фрагмент Gremlin / Groovy , найденный в документах Neo4j
neo4j = g.getRawGraph()
idxManager = neo4j.index()
personIndex = idxManager.forNodes('vertices')
Я понимаю, что это нарушаетхороший уровень абстракции, который называется Gremlin, но после этого вы можете продолжать свой день, используя методы Gremlin, такие как g.idx('vertices')
.
EDIT:
Чтобы перейти к индексу до того, как изменение индекса станет "видимым"для Гремлин, попробуйте это:
import com.tinkerpop.blueprints.pgm.impls.neo4j.Neo4jIndex;
ind = new Neo4jIndex('vertices', Vertex.class, g)
Преимущество, которое это имеет по сравнению с сущностью, которую я связал в комментариях, состоит в том, что ind
- это индекс Гремлина, и он может вдвое меньше, чем обычная обработка Гремлин.OTOH, суть в комментариях имеет полный доступ к необработанному индексу.