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

关于neo4j初入门(5)的更多相关文章

  1. 关于neo4j初入门(4)

    关于admin管理员 数据库备份和恢复 Neo4j数据库备份 步骤1 -点击“Neo4j Community”,如下图所示 Windows“开始”按钮>> "All Progra ...

  2. 关于neo4j初入门(3)

    这一章主要是函数的部分 UPPER 它需要一个字符串作为输入并转换为大写字母. UPPER (<input-string>)<input-string>可以是来自Neo4J数据 ...

  3. 关于neo4j初入门(2)

    DELETE删除 删除节点及相关节点和关系. DELETE <node-name-list> DELETE <node1-name>,<node2-name>,&l ...

  4. 关于neo4j初入门(1)

    图形数据库也称为图形数据库管理系统或GDBMS. Neo4j的官方网站:http://www.neo4j.org Neo4j的优点 它很容易表示连接的数据 检索/遍历/导航更多的连接数据是非常容易和快 ...

  5. SpringBoot 初入门

    SpringBoot 初入门 关于介绍什么之类的就不讲了,主要做一下学习记录. 1. 启动方式 IDEA 启动 命令行启动: mvn spring-boot:run 部署到服务器启动: 先进行打包, ...

  6. Neo4j安装&入门&一些优缺点

    本篇将介绍Neo4j的安装,入门,和自己使用了一段时间后发现的优点缺点,争取简洁和实用. 如果你是第一次接触Neo4j,并且之前也都没接触过类似的Graph Database的话,建议先浏览一下我之前 ...

  7. Neo4j安装&入门&一些优缺点(转)

    本篇将介绍Neo4j的安装,入门,和自己使用了一段时间后发现的优点缺点,争取简洁和实用. 如果你是第一次接触Neo4j,并且之前也都没接触过类似的Graph Database的话,建议先浏览一下我之前 ...

  8. Nginx - Windows下Nginx初入门

    公司刚使用nginx,预先学习下.鉴于机器没有Linux环境,在Windows熟悉下. 下载 目前(2015-07-11),nginx的稳定版本是1.8.0,在官网下载先,windows版的nginx ...

  9. 坚持自学的第二天,bootstrap初入门

    前言 昨天,初步学完了jekyll目录结构与Liquid语法的应用与认识. 日志 今天刚入门,做了一个bootstrap导航栏,但是选中状态不行,找了JS中写好的API,写法与视频中讲的有点不一样,但 ...

随机推荐

  1. js基础——流程控制语句

    1.if语句 if(条件表达式){    若条件成立只执行我,下面的分支不执行   }else if(条件表达式){   语句;  }else if(条件表达式){   语句;  }else{     ...

  2. P1011 圆柱体的表面积

    题目描述 输入底面半径 \(r\) 和高 \(h\) ,输出圆柱体的表面积,保留 \(3\) 位小数. 输入格式 输入包含两个实数 \(r,h(1 \le r,h \le 1000)\) 且保证输入的 ...

  3. JPA查询之Specification以及HQL、SQL查询

    1.Specification //查询条件List List<Predicate> predicateList = new ArrayList<Predicate>(); S ...

  4. FatJar技术

    概念 将一个jar及其依赖的三方jar全部打到一个包中,这个包即为FatJar. 作用 作用: Jar包隔离,避免Jar冲突. 打包方式 maven-shade-plugin插件: spring-bo ...

  5. linux自旋锁函数

    我们已经看到 2 个函数, spin_lock 和 spin_unlock, 可以操作自旋锁. 有其他几个函 数, 然而, 有类似的名子和用途. 我们现在会展示全套. 这个讨论将带我们到一个我们无 法 ...

  6. js操作改变原数组的解决方法

    最近在开发的时候发现js中的循环操作会改变原数组,var一个变量承接也不行 甚至连map方法都会改变原数组,下面是解决方法 let a = ['a','b','c'] let b = [[2, 0, ...

  7. H3C在设备上使用TFTP服务

  8. Apache工具集

    commons-collections-3.2.jar 转自:http://www.open-open.com/lib/view/open1384437456993.html

  9. vue-learning:26 - component - 组件三大API之一:prop

    组件三大API之一: prop prop的大小写 prop接收类型 字符串数组形式 对象形式: type / required / default / validator prop传递类型: 静态传递 ...

  10. javax.el.PropertyNotFoundException: Property 'XXX' not found on type java.lang.String

    遇到的问题: 在使用idea开发Java Web时,调用SSM框架出现了如下错误: 但是我的类中已经定义了geter和seter方法,如下: 而Jsp中的调用代码是通过EL实现,也导入了相应的包.如下 ...