1

次のコードが与えられます:

public class Foo
{

     public void go(String relationship)
     {
             RestGraphDatabase rest = new RestGraphDatabase(
            prop.getProperty("address"), prop.getProperty("username"),
            prop.getProperty("password"));
             ExecutionEngine engine = new ExecutionEngine(rest,
            StringLogger.SYSTEM);
             ExecutionResult result = engine
                .execute("start n=node(7,8,9)  match(n)-[" + relationship
                        + "]->(x) return n,x,caution");    
                    scala.collection.Iterator<Node> nodes = result.columnAs("n");                
     }
}

上記は機能し、列を反復処理できます。

public class Foo
{

     public void go(String relationship)
     {
             RestGraphDatabase rest = new RestGraphDatabase(
            prop.getProperty("address"), prop.getProperty("username"),
            prop.getProperty("password"));
             ExecutionEngine engine = new ExecutionEngine(rest,
            StringLogger.SYSTEM);
             ExecutionResult result = engine
                .execute("start n=node(*)  match(n)-[" + relationship
                        + "]->(x) return n,x,caution");    
                    scala.collection.Iterator<Node> nodes = result.columnAs("n");                
     }
}

イテレータがサポートされていない例外をスローする結果になります。node(*)値をリストするための構文糖衣ではありませんか?そうでない場合は、どうすればそれnode(*)を繰り返すことができますか?

スタック:

2013-02-18 03:13:22.227 + 0000 INFO [org.neo4j]:start n = node(*)match(n)-[caution]->(x)return n、x、caution List(n、x 、 注意)

スレッド「main」の例外java.lang.UnsupportedOperationExceptionatorg.neo4j.rest.graphdb.AbstractRemoteDatabase.getNodeManager(AbstractRemoteDatabase.java:136)at org.neo4j.rest.graphdb.RestGraphDatabase.getNodeManager(RestGraphDatabase.java:33)at org.neo4j.tooling.GlobalGraphOperations。(GlobalGraphOperations.java:39)at org.neo4j.tooling.GlobalGraphOperations.at(GlobalGraphOperations.java:51)at org.neo4j.cypher.internal.executionplan.builders.GraphGlobalStartBuilder $$ anonfun $ createStartPipe $ 1.apply(GraphGlobalStartBuilder.scala:51)at org.neo4j.cypher.internal.executionplan.builders.GraphGlobalStartBuilder $$ anonfun $ createStartPipe $ 1.apply(GraphGlobalStartBuilder.scala:51)at org.neo4j.cypher.internal.pipes org.neo4jの.StartPipe$$anonfun $ createResults $ 1.apply(StartPipe.scala:36)。cypher.internal.pipes.StartPipe $$ anonfun $ createResults $ 1.apply(StartPipe.scala:35)at scala.collection.Iterator $$ anon $ 13.hasNext(Iterator.scala:371)at scala.collection.Iterator $$ anon $ 13.hasNext(Iterator.scala:371)at scala.collection.Iterator $$ anon $ 11.hasNext(Iterator.scala:327)at scala.collection.Iterator $$ anon $ 11.hasNext(Iterator.scala:327)at org .neo4j.cypher.internal.ClosingIterator $$ anonfun $ hasNext $ 1.apply $ mcZ $ sp(ClosingIterator.scala:36)at org.neo4j.cypher.internal.ClosingIterator $$ anonfun $ hasNext $ 1.apply(ClosingIterator.scala: 35)org.neo4j.cypher.internal.ClosingIterator $$ anonfun $ hasNext $ 1.apply(ClosingIterator.scala:35)at org.neo4j.cypher.internal.ClosingIterator.failIfThrows(ClosingIterator.scala:87)at org.neo4 .cypher.internal.ClosingIterator.hasNext(ClosingIterator.scala:35)org.neo4j.cypher.PipeExecutionResult.hasNext(PipeExecutionResult.scala:139)at scala.collection.Iterator $$ anon $ 11.hasNext(Iterator.scala:327)at scala.collection.Iterator $ class.isEmpty(Iterator .scala:256)at scala.collection.AbstractIterator.isEmpty(Iterator.scala:1156)

4

2 に答える 2

0

RestCypherQueryEngine を使用します。このスタックオーバーフローの投稿を参照してください。ソースを見ると、サポートされていないものがたくさんあるようです: AbstractRemoteDatabase。;-)

于 2013-02-18T19:28:05.247 に答える
0

このクエリの実際の目標は何ですか? これはグラフ全体を返しますか?

データを使って何かをしたい場合はネットワーク経由でデータをプルするのではなく、サーバー側のクエリで実行してください。

クエリには、注意という名前の識別子もありません。

start n=node(*)  
match(n)-[" + relationship + "]->(x) 
return n,x,caution
于 2013-02-20T07:16:28.687 に答える