【问题标题】:connect neo4j database with java api用java api连接neo4j数据库
【发布时间】:2022-01-19 14:03:56
【问题描述】:

早上好,

我在 neo4j 中执行此查询时出错: 查询不能以 USE GRAPH 结束(必须是 RETURN 或更新子句)(第 1 行,第 5 列(偏移量:4))

"使用 eindb;"

package org.einaudi.impfilesjson;
import org.neo4j.driver.AuthTokens;
import org.neo4j.driver.Driver;
import org.neo4j.driver.GraphDatabase;
import org.neo4j.driver.Result;
import org.neo4j.driver.Session;

public class App implements AutoCloseable {
    
    private final Driver driver;
    
    public App(String uri, String user, String password) {
        driver = GraphDatabase.driver( uri, AuthTokens.basic( user, password ) );
    }
    
    @Override
    public void close() throws Exception
    {
        driver.close();
    }
    
    public void print greeting( final String message )
    {
        try ( Session session = driver.session() )
        {
            Result res = session.run( "USE eindb;" );
            System.out.println(res.toString());
        }
    }
    
    public static void main( String[] args ){
        System.out.println( "Hello World!" );
        
        App app;
        
        try {
            
            app = new App( "bolt://localhost:11003", "neo4j", "Admpa" );
            app.printGreeting( "hello, world" );
        }catch(Exception e) {
            System.out.println(e.getMessage());
        }
        
    }
}

neo4j中如何通过java API选择特定数据库?

【问题讨论】:

    标签: java neo4j


    【解决方案1】:

    文档的这一部分将为您提供帮助。 https://neo4j.com/docs/java-manual/current/cypher-workflow/#java-database-selection

    这会将名为“foo”的数据库设置为会话的默认值。

    try ( Session session = driver.session(SessionConfig.forDatabase( "foo" )) )
    

    您也可以在密码查询中指定数据库,但您需要的不仅仅是 USE 子句。

    Result res = session.run( "USE eindb match (n) return count(n) as nodeCount" );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多