Neo4j、APOC、JDBC
1. Neo4j介绍
1.1 数据库划分
金融企业使用Oracle和DB2比较多。
1.2 图数据库的数据存储形式
实体(Node,用圆圈表示)、实体分类(Node Label,为实体括号中的结果)、关系(Relationship,用箭头表示)、关系类型(Relationship type )、属性。
在这个例子中,我们在Node的Circle中的整数表示了每个Node的id属性。
1.3 图数据库存储的特点
- 它包括节点和关系。
- 节点可以有属性(键值对形式存储,可以为多个)。
- 节点可以有一个或者多个标签。
- 关系有名字和方向,并总是有一个开始节点和结束节点。
- 关系也可以有属性。
2. 安装和使用Neo4j
2.1 安装和启动Neo4j
Neo4j的官网是neo4j.com。点击DOWNLOAD NEO4J。
进入之后,点击Download Neo4j Server。
下载社区版本,根据操作系统进行选择(建议使用Linux):
在Linux安装和配置可参考博客:https://blog.csdn.net/u013946356/article/details/81736232。Windows安装和配置可参考博客:https://www.cnblogs.com/ljhdo/p/5521577.html。
输入bin/neo4j start进行启动服务。
在浏览器中输入http://服务器ip地址:7474/进行访问。第一次需要修改默认密码(账户为neo4j,默认密码为neo4j)。
2.2 初始化数据集
数据集下载地址为:https://download.csdn.net/download/herosunly/12054896。
初始化数据集命令为:bin/neo4j-admin import --mode csv --database person_phone_application.db --nodes Person.csv --nodes Phone.csv --nodes Application.csv --relationships Person_Phone.csv --relationships Phone_Phone.csv --relationships Person_Application.csv --relationships Person_Relation.csv
重命名person_phone_application.db文件夹为graph.db,先关闭服务./bin/neo4j stop,再打开服务./bin/neo4j start。
导入成功的界面如下所示:
3. APOC
APOC was also the first bundled A Package Of Component for Neo4j in 2009.APOC是Neo4j中的一堆组件。
3.1 安装APOC
将mysql-connector-java-5.1.21.jar和apoc-3.4.0.3-all.jar放到plugins目录下即可。其中mysql-connector是用来进行数据初始化的,即把MySQL数据库中的数据导入到Neo4j中。
3.2 APOC功能
虚拟图类似于MySQL中的中间表。
4. APOC数据集成-JDBC
apoc.load.jdbc:可以访问提供JDBC(Java Database Connectivity)驱动程序的数据库,并执行查询。将结果变成以一行数据为单位的数据流。然后可以使用这些行来更新或创建图形数据结构。
4.1 APOC JDBC语法
需要提前安装MySQL,可参考:https://www.runoob.com/mysql/mysql-install.html
在Centos环境下启动MySQL过程中(systemctl start mysqld),可能会出错,可以通过cat /var/log/mysqld.log进行查看。如果出现must be writable的错误,就是权限问题,可以通过chmod -R 777 /var/lib/mysql进行修改。
call apoc.load.jdbc('jdbc:mysql://{IP}:{PORT}/{DBNAME}? user={USERNAME}&password={PASSWORD} ","{TABLENAME}") yield row
创建节点的语句,使用row.调用每一行中的具体字段。
结合之前的数据:
call apoc.load.jdbc('jdbc:mysql://{IP}:{PORT}/{DBNAME}? user={USERNAME}&password={PASSWORD} ","{TABLENAME}") yield rowcreate (b:Black{number:row.black_id, type:row.type})
Black实体中有两个属性,一个是number,一个是type。
实体可以根据颜色可以得到它是否是新创建的,灰色的是新创建的,而红色的是之前导入的。可以根据自己需要进行修改颜色。
Neo4j、APOC、JDBC相关推荐
- neo4j安装APOC、aglo插件
安装方法 只要下载.jar这一个插件包就好了,将下载好的.jar文件直接放到neo4j安装目录下的plugins文件夹目录下,再修改一下配置文件就可以了. 1.插件下载: APOC 国内地址:http ...
- 用JDBC写一个学生管理系统(添加、删除、修改、查询学生信息)(二)
本文上接用JDBC写一个学生管理系统(添加.删除.修改.查询学生信息) 这次主要是对上一文中的查询方法做一下调整,用创建内部类的方法来实现学生信息的查询. 我们先要定义一个接口IRowMapper: ...
- 用JDBC写一个学生管理系统(添加、删除、修改、查询学生信息)
首先需要用Navicat Premium创建一个student表 用Java连接好MySQL数据库(需要copy一个mysql-connector-java-5.1.44-bin.jar包,该包可在网 ...
- Java EE---通过Spring JDBC实现数据库的增、删、改、查
Spring JDBC之update.query方法 1.项目清单 2.全部代码 2.1.student 2.2.stuDao 2.3.applicationContext.xml 2.4.test ...
- Spring配置JDBC连接Orcale、MySql、sqlserver
阅读指南:本文章主要讲述如何在Spring框架中配置JDBC连接方式连接Oracle.Mysql.SqlServer. 原理如下: 一.导包 连接oracle11g所需的jar包:ojdbc6.jar ...
- springboot 引入jdbc驱动_SpringBoot整合jdbc、durid、mybatis详解,数据库的连接就是这么简单...
SpringBoot底层统一采用SpringData处理数据库,这一章主要来讲一下SpringBoot整合jdbc.durid.mybatis的方式. (一)整合jdbc 整合jdbc主要有三步: 1 ...
- Hive Serde、Beeline、JDBC
一.Hive Serde 用于做序列化和反序列化,构建在数据存储和执行引擎之间,对二者实现解耦. 创建表的2种规则row format:delimited和serde,正则匹配 创建表: CREATE ...
- JDBC常用连接写法(包括MySQL、Oracle、Sybase、SQLServer、DB2)
本文引用自CKJ-CLARK<JDBC常用连接写法(包括MySQL.Oracle.Sybase.SQLServer.DB2)> http://apps.hi.baidu.com/share ...
- Hibernate与JDBC、EJB、JDO的比较
常用的数据库操作包括:JDBC.EJB.JDO以及Hibernate.它的各有优缺点: (1) JDBC:多数Java开发人员是用JDBC来和数据库进行通信,它可以通过DAO模式进行改善和提高.但这种 ...
最新文章
- 每日算法练习之最大公约数最小公倍数
- 如何知道自己的研究课题是不是领域热点?
- Openssl-MD5
- 基于jsp+mysql+mybatis+Spring boot简单学生成绩信息管理系统
- QString 字符编码
- CodeForces 173B Chamber of Secrets spfa
- HTTPS的七个误解
- ES6_对象简洁语法_note
- [Java] 蓝桥杯ALGO-115 算法训练 和为T
- java项目打成war包,使用ide打包部署在tomcat中
- python为什么无法保存然后弹跳出来_python-从字典中弹出键,值对的整洁方法?
- 关于内存地址和内存空间的理解。
- liunx Swap 分区的作用
- PHP读dwg,dwg文件阅读器
- 关于Dve C++——[Warning] pointer to a function used inarithmetic
- Ac-RADADADARADADADA-NH2
- (一)基于知识图谱的医疗问答系统(实例+代码理解)保姆级教程
- HTML5 body设置全屏背景图片 如何让body的背景图片自适应整个屏----实战经验 1
- 判断MySQL安装是否成功的两种验证方法
- 如何将Blender模型导入Panda3d