java - 执行引擎不打印结果

标签 java neo4j

我有一个简单的查询方法,它运行如下所述的密码查询。如果我在 Web 控制台中运行完全相同的查询(是的,相同的数据库实例,正确的路径),我会在控制台中得到一个 non-empty iterator。难道我不应该 1) 不收到该消息和 2) 获得我在数据库中看到的结果吗?

这个类还有其他方法可以将数据添加到数据库中,并且该功能运行良好。该查询方法无效...

类:

import org.neo4j.cypher.javacompat.ExecutionEngine;
import org.neo4j.cypher.javacompat.ExecutionResult;
import org.neo4j.graphdb.Direction;
import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.graphdb.Node;
import org.neo4j.graphdb.Relationship;
import org.neo4j.graphdb.RelationshipType;
import org.neo4j.graphdb.Transaction;
import org.neo4j.graphdb.factory.GraphDatabaseFactory;
import org.neo4j.helpers.collection.IteratorUtil;

import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.sql.*;

public class NeoProcessor {

    //private GraphDatabaseService handle;
    private static final String DB_PATH = "/usr/local/Cellar/neo4j/2.0.1/libexec/data/new_graph.db";
    static GraphDatabaseService graphDb = new GraphDatabaseFactory().newEmbeddedDatabase( DB_PATH );


    public NeoProcessor()
    {
    }


    public void myQuery(String cypherText) 
    {
        //System.out.println("executing the above query");
        cypherText = "MATCH (n:Phone{id:'you'}) MATCH n-[r:calling]->m WHERE n<>m RETURN n, r, m";

        ExecutionEngine engine = new ExecutionEngine( this.graphDb );

        ExecutionResult result;
        try ( Transaction ignored = graphDb.beginTx() )
        {
            result = engine.execute( cypherText + ";");
            System.out.println(result);

            ignored.success();
        }

    }
}

下图展示了查询如何从数据库返回结果:

enter image description here

最佳答案

result = engine.execute(cypherText + ";");
System.out.println(result.dumpToString());

Specified by: http://api.neo4j.org/2.0.3/org/neo4j/cypher/javacompat/ExecutionResult.html#dumpToString()

关于java - 执行引擎不打印结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23404203/

相关文章:

neo4j - 密码查询 - 检查关系如果不存在检查另一个

neo4j - 这个查询在 neo4j/gremlin 中可行吗?

Docker 和 Neo4J

Neo4j - Cypher 中未知的 'toFloat' 函数

java - 如何将短数组转换为字节数组

java - 剖析规范 Play Framework webapp 最佳实践

java - java中如何删除链表中的唯一节点?

Neo4j 超时不起作用

java - JLabel 可以有多小?

java - 当我没有捕获预期的异常类型时,为什么 IntelliJ 会显示编译错误?