Neo4jAPOCJDBC
Posted herosunly
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Neo4jAPOCJDBC相关的知识,希望对你有一定的参考价值。
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 row
create (b:Blacknumber:row.black_id, type:row.type)
Black实体中有两个属性,一个是number,一个是type。
实体可以根据颜色可以得到它是否是新创建的,灰色的是新创建的,而红色的是之前导入的。可以根据自己需要进行修改颜色。
以上是关于Neo4jAPOCJDBC的主要内容,如果未能解决你的问题,请参考以下文章