关于neo4j初入门(5)

时间:2022-01-24 22:37:04

neo4j和Java

Neo4j提供JAVA API以编程方式执行所有数据库操作。

 

它支持两种类型的API:

  • Neo4j的原生的Java API
  • Neo4j Cypher Java API

Neo4j原生Java API是一种低级别的纯JAVA API,用于执行数据库操作。 Neo4j Cypher Java API是简单而强大的JAVA API,用于执行所有CQL命令以执行数据库操作。

https://www.w3cschool.cn/neo4j/neo4j_java_environment_setup.html

原生Java API

https://www.w3cschool.cn/neo4j/neo4j_native_java_api_example.html

Cypher - API示例

https://www.w3cschool.cn/neo4j/neo4j_cypher_api_example.html

目前还没有涉及Java这一块,有待于后续的复习笔记补充

 

 

 

 

Spring DATA Neo4J - 简介

Spring是开源框架,很容易开发基于企业Java的应用程序。 它用Java语言编写。

Spring Framework提供了以下模块来处理基于Java的应用程序的DAO层

  • Spring JDBC

  • Spring ORM

  • Spring DATA

    Spring数据模块的优点:

    • 消除DAO层中的boiler plate代码

    • DAO层中的工件少

    • 易于开发和维护

    • 改进开发过程

    Spring数据模块功能:

    • 支持基于XML的实体映射

    • 支持基于注释的实体映射

    • 支持分页

    • 支持事务

    • 更少的DAO层工件 - 实现存储库

    Spring DATA Neo4j模块具有与上述相同的优点和特点。

    Spring DATA Neo4j模块

关系数据库(Oracle,MySQL等等)

没有SQL数据库(MongoDB,Redis,Apache Cassandra等)

无SQL图形数据库(Neo4j等)

Spring DATA Neo4j存储库

 

它提供了不同的API来支持不同的场景

 

  • GraphRepository
  • GraphTemplate
  • CrudRepository
  • PaginationAndSortingRepository

    Neo4j驱动程序

    当我们使用Spring DATA Neo4j模块API来执行一些数据库操作时,Spring DATA Neo4j Jars在内部使用这些驱动程序Jars来交互和执行Neo4j数据库操作。

     

    Neo4j图数据库

     

    它是存储我们的图形数据的实际Neo4j DB服务器。

    如何在Eclipse IDE中设置Maven Java项目,以使用Spring DATA Neo4j模块开发Spring Framework应用程序。

     

    第1步 - 在Eclipse IDE中创建Maven项目第2步-在Eclipse IDE中打开pom.xml文件,并添加以下主要依赖关系

     

    Spring DATA Neo4j模块Jar文件

    <dependency>
       <groupId> org.springframework.data </groupId>
       <artifactId> spring-data-neo4j </artifactId>
       <version> 3.1.2.RELEASE </version>
    </dependency>
    

     

    Neo4j Jar文件,由Spring DATA Neo4j模块Jar文件内部使用

    <dependency>
       <groupId> org.neo4j </groupId>
       <artifactId> neo4j-kernel </artifactId>
       <version> 2.1.3 </version>
    </dependency>
    

     

    Java事务API jar文件,由Spring DATA Neo4j模块Jar文件内部使用

    <dependency>
       <groupId> javax.transaction </groupId>
       <artifactId> jta </artifactId>
       <version> 1.1 </version>
    </dependency>
    

     

    Java验证API jar文件,由Spring DATA Neo4j模块Jar文件内部使用

    <dependency>
       <groupId> javax.validation </groupId>
       <artifactId> validation-api </artifactId>
       <version> 1.0.0.GA </version>
    </dependency>
    

     

    第3步-完成pom.xml文件

    <project xmlns="http://maven.apache.org/POM/4.0.0" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
       http://maven.apache.org/xsd/maven-4.0.0.xsd">
       
       <modelVersion> 4.0.0 </modelVersion>
       <groupId> com.tp.neo4j </groupId>
       <artifactId> springdata-neo4j </artifactId>
       <version> 1.0 </version>  
       
       <dependencies>
          <dependency>   
             <groupId> org.springframework.data </groupId>
             <artifactId> spring-data-neo4j </artifactId>
             <version> 3.1.2.RELEASE </version>
          </dependency>
          
          <dependency>
             <groupId> org.neo4j </groupId>
             <artifactId> neo4j-kernel </artifactId>
             <version> 2.1.3 </version>
          </dependency>  
          
          <dependency>
             <groupId> javax.transaction </groupId>
             <artifactId> jta </artifactId>
             <version> 1.1 </version>
          </dependency>
          
          <dependency>
             <groupId>javax.validation</groupId>
             <artifactId>validation-api</artifactId>
             <version>1.0.0.GA</version>
          </dependency>
          
       </dependencies>   
    </project>

 

 

最后是一个援引的实例

https://www.w3cschool.cn/neo4j/neo4j_spring_data_example.html

内容很多很复杂,需要慢慢研究

package com.tp.springdata.neo4j.domain;

import org.springframework.data.neo4j.annotation.GraphId;
import org.springframework.data.neo4j.annotation.NodeEntity;

@NodeEntity
public class GoogleProfile {

   @GraphId 
   private Long id;

   private String name;
   private String address;
   private String sex;
   private String dob;

   // Getter for id
   // Setters and Getters for rest of properties
   // implement equals() and hashCode() methods
}

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
所有的受害者和嫌疑人的关系导出来,是不是也在一方面有力地节省了在调查取证上的困难,甚至说我也许能找到和某一个大人物的关系呢科科。