java 连接 neo4j

以往都是使用关系型数据库,实体类和表一一对应,但现在的知识图谱项目要使用到图数据库,不太知道怎么设置实体类,然后就去查java怎么连接neo4j

连接关系型数据库

对于关系型数据库,表与实体类一一对应

连接图数据库

对于图数据库,有两种方法

1、使用框架,可以使用不同的节点类型代表不同的实体类,就是一个本体代表一个实体类,这样可以用到一些注解,可以直接调用一些curd的方法,但是本体确定了实体类就确定了

2、也可以使用HashMap代替实体类实现存取,这样的话就要自己写一下cypher,就是原生写法

1、使用框架,本体对应实体类,Spring-Data-Neo4j

可以使用Spring-Data-Neo4j连接数据库,类似于mybaits的数据库连接工具,下面是它的定义

Spring Data Neo4j 简称SDN,是一个对象-图形映射(OGM)框架,是为了简化开发者的工作而创建的,它的目的是通过处理所有底层工作和从Neo4j读域实体并写回去所必须的映射逻辑来提高效率

OGM类似于关系型数据库的ORM(Object Relation Mapping,对象关系映射),OGM即对象图映射(Object Graph Mapper ,简称OGM ),基于OGM可以将neo4j中的图模型快速转换成java中的对象。

2、不使用框架,用HashMap代替实体类

看到的一个项目,他里面可以自建不同的图谱,但是这里面的每一个图谱代表不同的节点类型,图谱中的本体类型只能用一个property这类的属性代表,可以有以下两种方式,但是都要自己手写cypher语句实现CURD

1、neo4j-java-driver
2、GraphDatabase

3、其他

这里面还分服务器开发嵌入式开发

上面说的是服务器开发,需要连接一个外部neo4j数据库

还有嵌入式开发,在程序里面下载一个neo4j

 

 
<dependency>
    <groupId>org.neo4j.drivergroupId>
    <artifactId>neo4j-java-driverartifactId>
    <version>1.5.0version>
dependency>
 
<dependency> 
    <groupId>org.springframework.bootgroupId> 
    <artifactId>spring-boot-starter-data-neo4jartifactId> 
dependency> 


<dependency>
    <groupId>org.neo4jgroupId>
    <artifactId>neo4jartifactId>
    <version>3.3.4version>
dependency>

参考博客

上面的内容写的不全,基本按照下面的汇总一下,详细的可以看下面的博客

java连接neo4j(使用spring data neo4j)_DOITHu的博客-CSDN博客 ——这个是spring-data-neo4j

爆肝十小时—我终于用Java连上Neo4j数据库 - 知乎 (zhihu.com) ——这个主要是嵌入式开发

Java 操作 Neo4J 就是这么简单!-java neo4j (51cto.com) —— 这个是spring-data-neo4j和GraphDatabase.driver

Java调用Neo4j常用方式_java neo4j_后端平凡的博客-CSDN博客 ——这个是neo4j-java-driver和spring-data-neo4j

Java连接Neo4j的两种方式_学海一乌鸦的博客-CSDN博客 ——这个说明了服务器开发和嵌入式开发

Java连接Neo4j_neo4j-jdbc-driver_孑然一身踽踽而行的博客-CSDN博客 ——这个是neo4j-java-driver和GraphDatabase

KGBuilder ——项目地址

你可能感兴趣的:(项目开发,neo4j,java,知识图谱)