Neo4j部署及简单使用(API调用)

🍑一、下载安装


NEO4J_HOME

在这里插入图片描述
在这里插入图片描述

  • 启动报错
    在这里插入图片描述
警告: ERROR! Neo4j cannot be started using java version 1.8.0_151
警告: * Please use Oracle(R) Java(TM) 11, OpenJDK(TM) 11 to run Neo4j Server.
* Please see https://neo4j.com/docs/ for Neo4j installation instructions.
Invoke-Neo4j : This instance of Java is not supported
所在位置 D:\soft\neo4j-community-4.4.8\bin\neo4j.ps1:21 字符: 7
+ Exit (Invoke-Neo4j -Verbose:$Arguments.Verbose -CommandArgs $Argument ...
+       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Invoke-Neo4j

4.x要求Java11+版本,重新下载3.X版本,重新配置环境变量
在这里插入图片描述
首先执行neo4j install-service命令
在这里插入图片描述
报错,目前配置的是jdk开发环境,需要指定运行环境:

  • 指定jdk
set JAVA_HOME=D:\soft\jdk1.8.151\jre

在这里插入图片描述

  • 再次执行安装、启动命令
    先执行neo4j install-service,否则start、stop命令无法使用
C:\Users\lenovo>neo4j start
Service start failed - service 'neo4j' not found

C:\Users\lenovo>neo4j install-service
Neo4j service installed

C:\Users\lenovo>neo4j start
Neo4j service started

C:\Users\lenovo>

在这里插入图片描述

  • 登录
http://localhost:7474/browser/

用户密码:neo4j/neo4j
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

🍑二、基本CQL命令


相当于SQL
在这里插入图片描述

  • 创建
CREATE (emp:Employee{id:123,name:"Lokesh",sal:35000,deptno:10})
  • 查询
 MATCH (emp:Employee) return emp

在这里插入图片描述
必须搭配return或者update使用:
在这里插入图片描述

  • 删除
MATCH (emp:Employee) delete emp

在这里插入图片描述

🍑三、JAVA API


参照官网资料
demo 源码下载

package com.renxiaozhao.neo4j;

import java.io.File;

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;

public class Neo4jJavaApi {

    public static void main(String[] args) {

        GraphDatabaseService graphDb;
        Node firstNode;
        Node secondNode;
        Relationship relationship;
        graphDb = new GraphDatabaseFactory()
                .newEmbeddedDatabase(new File("D:\\soft\\neo4j-community-3.5.34\\data\\databases\\testdb"));
        try (Transaction tx = graphDb.beginTx()) {
            firstNode = graphDb.createNode();
            firstNode.setProperty("message", "Hello, ");
            secondNode = graphDb.createNode();
            secondNode.setProperty("message", "World!");

            relationship = firstNode.createRelationshipTo(secondNode, RelTypes.KNOWS);
            relationship.setProperty("message", "brave Neo4j ");
            tx.success();
            System.out.print(firstNode.getProperty("message"));
            System.out.print(relationship.getProperty("message"));
            System.out.print(secondNode.getProperty("message"));
        } catch (Exception e) {
            System.out.println(e);
        } finally {
            graphDb.shutdown();
        }
    }

    private enum RelTypes implements RelationshipType {
        KNOWS
    }
    
}
  • 执行demo,确保此时neo4j处于stop状态
    在这里插入图片描述
  • 启动neo4j,可以查看到写入的数据
    在这里插入图片描述

执行程序时,neo4j必须处于关闭状态

在这里插入图片描述

启动neo4j查看数据时,需要指定程序所创建的数据库

在这里插入图片描述

🍑四、Driver API(类似jdbc)


package com.renxiaozhao.neo4j;

import org.neo4j.driver.v1.AuthTokens;
import org.neo4j.driver.v1.Driver;
import org.neo4j.driver.v1.GraphDatabase;
import org.neo4j.driver.v1.Session;
import org.neo4j.driver.v1.Statement;
import org.neo4j.driver.v1.StatementResult;
import org.neo4j.driver.v1.Transaction;
import org.neo4j.driver.v1.Values;

public class Neo4jDriverExample {
    Driver driver;

    public static void main(String[] args) {
        Driver driver = GraphDatabase.driver("bolt://localhost:7687", AuthTokens.basic("neo4j", "neo4j"));
        try (Session session = driver.session();
                Transaction transaction = session.beginTransaction()) {
            Statement query = new Statement(
                    "CREATE (a:Greeting) SET a.message = $message RETURN a.message + ', from node ' + id(a)",
                    Values.parameters("message", "testDriver"));

            StatementResult result = transaction.run(query);
            transaction.success(); // mark success, actually commit will happen in transaction.close()
            String greeting = result.single().get(0).asString();
            System.out.println(greeting);
        }
        driver.close();
    }

}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
官方资料只找到了4.x版本的:
官方资料
driver api
3.5和4.x差异说明

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

🍑五、


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韧小钊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值