Как использовать Tinkerpops IndexableGraph - Особенности в графике Neo4j? - PullRequest
0 голосов
/ 26 января 2012

Я пытаюсь получить вершину, используя функции индексации, но получаю только NullPointerException.

Вот соответствующие части из моего кода:

Map<String, String> config = new HashMap<String, String>();
config.put( Config.NODE_KEYS_INDEXABLE, "type, categoryName" );
config.put( Config.NODE_AUTO_INDEXING, "true" );

GraphDatabaseService neoGraphDbService = new EmbeddedGraphDatabase(dblocation,config);
Graph tiGraphDb = new Neo4jGraph(neoGraphDbService, false);

...
//This category is saved correctly
ICategory mashineCategory = manager.frame(tiGraphDb.addVertex(null),
            ICategory.class);

//this Property should be indexable...
mashineCategory.setCategoryName("mashineCategory");
mashineCategory.setType(NodeTypes.CATEGORY.toString());
...

//Here I´m getting a NullPointerException
String catName = "mashineCategory";
Vertex foundMashineCategory = ((IndexableGraph)tiGraphDb).getIndex(Index.VERTICES, Vertex.class).get("categoryName", catName).iterator().next();

при отладке могуобратите внимание, что autoIndex из rawGraph (Neo4j Graph) имеет включенный autoindex с правильными значениями.Глядя на Tinkerpop - график, индекс кажется пустым ...

1 Ответ

1 голос
/ 01 февраля 2012

Кажется, есть некоторые проблемы с кэшированием существующих индексов из существующего neo4j-графа. Я использовал актуальную стабильную версию 1.1 (core и neo4jgraph). Так что я думаю, это будет исправлено в следующей версии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...