图形数据库neo4j与maven整合

neo4j

Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。

Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。

目前最新版本4.1(jdk最低11),可以从官网上下载,同时需要下载对应的driver。

本文的使用的3.5.14 社区版。

安装:

将下载包解压后,需要修改配置文件…/conf/neo4j.conf:

# Bolt connector
dbms.connector.bolt.enabled=true
#dbms.connector.bolt.tls_level=OPTIONAL
dbms.connector.bolt.listen_address=0.0.0.0:7687

# HTTP Connector. There can be zero or one HTTP connectors.
dbms.connector.http.enabled=true
dbms.connector.http.listen_address=0.0.0.0:7474

# HTTPS Connector. There can be zero or one HTTPS connectors.
dbms.connector.https.enabled=true
#dbms.connector.https.listen_address=:7473

bolt和http,添加0.0.0.0以允许在外网可以访问。

1、创建maven工程,引入:

<dependency>
		<groupId>org.neo4j.driver</groupId>
		<artifactId>neo4j-java-driver</artifactId>
		<version>1.7.0</version>
</dependency>
<dependency>
		<groupId>org.neo4j</groupId>
		<artifactId>neo4j</artifactId>
		<version>3.5.14</version>
</dependency>

2、

public class App 
{
    public static void main( String[] args )
    {
        String uri = "bolt://192.168.61.95:7687";
        Driver driver = GraphDatabase.driver(uri,AuthTokens.basic("neo4j", "neo4j123"));;
//        driver.session().
        try (Session session =  driver.session()){
            try(Transaction transaction=session.beginTransaction()){
                transaction.run("create(n:A2{NAME:{NAME},TITLE:{TITLE}})", Values.parameters("NAME","wd1","TITLE","qu1"));
                transaction.success();
                //创建relationship,有两个节点,一个name为wd,另一个name为wd2,其中name区分大小写(创建的时候是大写,这个地方也需要是大写)
                // a、b、r,类似别名,rel此处可以任意
                //MATCH (a:A2),(b:A2) WHERE a.NAME = 'wd' AND b.NAME = 'wd1' CREATE (a)-[r:rel] -> (b) RETURN r
            }
        }catch(Exception ex) {
            
        }finally {
            driver.close();
        }
    }
    

采用bolt方式联系neo4j数据库,首先创建driver。

创建关系:MATCH (a:A2),(b:A2) WHERE a.NAME = ‘wd’ AND b.NAME = ‘wd1’ CREATE (a)-[r:rel] -> (b) RETURN r。

3、创建关系后,可以从管理页面看到:

在这里插入图片描述


版权声明:本文为sanshizhang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。