2012-01-26 6 views
0

インデックス機能を使用して頂点を取得しようとしていますが、NullPointerExceptionを取得するだけです。デバッグ時に、私はその正しい値で、rawGraph(のNeo4jグラフ)からAUTOINDEXはそののautoindexが有効になっていることがわかりますTinkerpops IndexableGraphの使い方 - Neo4jのグラフの特徴?

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(); 

:ここ

は私のコードから関連する部分です。 Tinkerpop - Graphを見ると、インデックスは空であるようです...

+0

Mmh、Neo4jGraph(gdb、false)をインスタンス化すると、現在の実装でのBlueprintは、あなたが何をしているのかを知っているので、すべてのインデックスだけを残しますので、デフォルトの自動インデックスは作成されませんその後。 –

+0

私が見たいのは、インデクシングのためのtinkerpopフレームワーク、いくつかのクエリのためのgremlin java api、オブジェクトマッピングのための "frames" - framewokを使用することです。しかし、私はまだグラフをブラウズするためにNeoclipseを使用したいと思っています...新しいNeo4jGraph(gdb、[true])のようなグラフをインスタンス化すると、参照ノードが台無しになり、Neoclipseはグラフ://stackoverflow.com/questions/8938890/how-to-deal-with-the-neo4j-referencecenode-when-using-tinkerpop)...これを実行する方法はありますか?いくつかの選択肢がありますか? – Gerd

+0

さて、あなたはあなたのデータベース上でneo4jサーバーをプルアップし、https://github.com/neo4j/neoclipse/issuesで問題を提起することで、私たち(またはあなた)がこの機能を修正できるようになりました:) –

答えて

1

既存のネオ4jグラフから既存のインデックスをキャッシュすることにはいくつかの問題があるようです。私は1.1の実際の安定版(coreとneo4jgraph)を使っていました。だから私はそれが更なるバージョンで修正されると思う。

関連する問題