2012-03-08 16 views
0

私はNeo4jをWindowsで評価しています。 .NETアプリケーションからNeo4jにアクセスする必要があるため、.NETクライアントライブラリ(http://hg.readify.net/neo4jclient/)からNeo4j Cypher REST APIを使用しています。Neo4j - メモリ不足 - Cypher REST API

適度なサイズのグラフ(約100,000ノード)をトラバースすると、Neo4j Javaサーバーの「メモリ不足」問題に直面しています。以下は、REST応答で報告される例外です。また、実行されたサイファークエリが以下に記載されています。 Neo4jサーバーの-Xmx1024mオプションを使用してJVMヒープスペースを増やそうとしましたが、それは役に立ちませんでした。他の提案を感謝します。

未処理の例外:System.ApplicationException:要求を実行するときに予期しないHTTP st atusを受信しました。

クエリは次の通りであった:
START X =ノード(1213997)
MATCH X - 〔:BOM * 1..5] - RelationshipType、n.Number AS> N RETURN 'BOM'? AS番号、n.Id? IDとして

応答ステータスは:あなたは結果に関係することを計画しているどのような深さ5トラバーサルが潜在的にあなたのグラフの大部分を触れることができる

The raw response body was: <html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> 
<title>Error 500 Java heap space</title> 
</head> 
<body><h2>HTTP ERROR 500</h2> 
<p>Problem accessing /db/data/cypher. Reason: 
<pre> Java heap space</pre></p><h3>Caused by:</h3><pre>java.lang.OutOfMemoryE 
rror: Java heap space 
     at java.lang.AbstractStringBuilder.&lt;init&gt;(Unknown Source) 
     at java.lang.StringBuilder.&lt;init&gt;(Unknown Source) 
     at org.neo4j.server.rest.repr.RepresentationType.&lt;init&gt;(Representa 
tionType.java:108) 
     at org.neo4j.server.rest.repr.Representation.&lt;init&gt;(Representation 
.java:73) 
     at org.neo4j.server.rest.repr.ListRepresentation.&lt;init&gt;(ListRepres 
entation.java:36) 
     at org.neo4j.server.rest.repr.CypherResultRepresentation.data(CypherResu 
ltRepresentation.java:64) 
+0

このクエリであなたの目的が何であるかもう少し説明してください。多量のデータを多くの目的なしにリストしているようです。 –

+0

ルートノードから始まる製品全体またはドキュメント構造を取得する必要があります。だから、ほとんどの場合、データサイズはこれほど大きくはありませんが、私はそのようなクエリの境界条件を見つけようとしています。 –

+0

結果が改ページされたら役立つかどうか確認しましたか? –

答えて

0

500 Javaヒープスペース...?結果全体を返す必要がありますか?おそらくその一部を使用しているだけの場合は、結果を制限するためにCypherクエリで直接指定することができます。

+0

ルートノードからグラフ全体を取得する必要があります。 '5'は私のテストグラフの深みだったので、私はcypher APIで(埋め込みJava APIで行うことができるように)グラフ全体を取得する方法を見つけられませんでした。結果は、返されたノードを処理するために使用されます - レポートなどのためにテーブルに表示します。このタイプのクエリでサポートされている最大のノードを確認しようとしています。実際のシナリオは、 –