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 图数据库存储的特点

  1. 它包括节点和关系。
  2. 节点可以有属性(键值对形式存储,可以为多个)。
  3. 节点可以有一个或者多个标签。
  4. 关系有名字和方向,并总是有一个开始节点和结束节点。
  5. 关系也可以有属性。

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的主要内容,如果未能解决你的问题,请参考以下文章

在圆圈中移动按钮[重复]

Chart.js - 样式图例:小圆圈

尺寸一致的圆形堆积矩阵

echarts 设置折线图单个数据小圆圈样式

Android 谷歌地图标记圆圈(多次叠加无累积不透明度)

[loj2586]选圆圈