neo4j的安装配置及用途

  
  我第一次建立关联图谱用的是R语言,通过写代码帮公安挖掘团伙犯罪,并用图形展示团伙之间的关联关系。如有需要请关注公众号的后续文章,会手把手教大家用R搭建关联图谱,做成app,让没有安装R的电脑通过你分享的网址链接看到罪犯的关联关系。
  
  公司最近又有挖掘团伙犯罪的项目,这次想在关联关系的基础上利用模型算法寻找犯罪团伙。这一次选用的是基于java实现的开源图数据库neo4jPython,搭建关联图谱。
  
  本文向大家介绍neo4j的安装配置及用途,并教大家如何向neo4j导入数据,避免深坑。
  


  

一、什么是neo4j?

  
  neo4j是由java实现的开源非关系型图数据库,不同于Mysql关系型数据库。neo4j除了能像普通数据库存储一行一行的数据外,还可以很方便地存储数据之间的关系信息。例如,对于社交网络的用户数据库,除了要存储每个用户的姓名、性别、喜好等基本信息外,还需存储每个用户和哪个用户是情侣,和哪些用户是朋友等关系数据,这时neo4j这样的图数据库就可以派上用场啦!
  
  通过下图,大家可以了解什么是图数据库以及什么是关系数据。
在这里插入图片描述
  为了更加直观,本文选用了家有儿女中男女主人公夏东海和刘梅做为示例。在上图中,包含两个标签为“人”的数据节点,分别代表夏东海和刘梅两个人。这两个数据节点还包含姓名、住址、职业等属性信息,用于表示用户的基本信息,这类似于常规数据库中的两行。除此之外,两个数据节点之间还包含了两条关系数据。即夏东海娶了刘梅,刘梅和夏东海生活在一起。把这些数据存储在neo4j图数据库中,利用这些关系数据,可以方便地作出基于关系的查询。比如,刘梅的丈夫是谁?刘梅和谁生活在一起?
  

二、neo4j有哪些用途?

  

1 社交网络

  
  根据用户的好友关系网给用户推荐新朋友。例如,QQ中推荐新朋友。如果两个人在QQ中不是朋友,但共同好友超过10个,系统发送消息给这两个人推荐对方。
  

2 智能推荐引擎

  
  通过分析用户的历史数据为用户推荐产品。例如,淘宝中根据用户的购买记录、收藏记录、浏览记录给用户推荐喜好的产品。
  

3 知识图谱

  
  根据知识点之间的关系建立知识图。例如,百度搜索关键词Python会展示相关词条,Python官网、python百度百科、Python入门教程等。
  

4 反欺诈

  
  根据犯罪团伙之间的资金往来、通讯交往构建反欺诈网络。例如,罪犯A给罪犯B转账10万元,罪犯B给罪犯C转账50万元。现在警方通过线索已经确定了罪犯A的犯罪事实,通过构建账务往来关系网,可以找到犯罪团伙的其他犯罪分子。
  

5 网络、数据中心管理

  
  用neo4j建立设备之间的关系,方便对整个系统进行管理。

  

三、安装neo4j

  

1 安装Java JDK

  
  neo4j是基于Java的图形数据库,运行neo4j需要启动JVM进程,因此必须安装JAVA SE的JDK。可以从Oracle官方网站下载 Java SE JDK,也可以在“阿黎逸阳的代码”公众号中回复“JDK安装”直接获取。
  

2 下载neo4j安装文件

  
  从neo4j官网下载最新版本的社区版,可免费使用neo4j。但是从官网下载neo4j,速度比蜗牛还慢,着急要用的我当时急得不行,只好到网上去找别人下载好的网盘链接。如需要,可以在公众号中回复“neo4j安装”直接获取。
  

3 解压neo4j安装文件

  我想把neo4j安装到D盘,所以在D盘中建了一个neo4j文件夹。把下载好的neo4j压缩包放到该文件夹中,并解压到该文件夹,就安装好了neo4j(无需常见软件的安装步骤)。
  

在这里插入图片描述
  

4 创建系统环境变量

  
电脑右击—>属性—>高级系统设置—>环境变量—>新建系统变量—>在path中添加路径。

在这里插入图片描述  

5 启动neo4j

  
在解压neo4j的文件夹按shift+右键—>打开cmd—>输入neo4j.bat console—>回车,即可启动neo4j。
  

6 使用neo4j

  
在浏览器中输入:http://localhost:7474/browser/,即可看到neo4j的启动界面。

在这里插入图片描述  
  

四、导入数据

  
之前在向neo4j中导入数据时碰到了很多坑,折腾了很久。为了避免大家再次踩坑,现总结如下。
  

1 删除所有节点和关系

  
这一步不是必须的,只是为了数据清晰不混淆,一般在导入数据之前删除原来存的节点和关系。

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r

  

2 把数据放入指定文件夹中

  
把数据放入D:\neo4j\neo4j-community-3.5.5\import文件夹中
  

3 从本地导入不带表头的数据
using periodic commit 10000 load csv from"file:/artist.csv"as line create (:test {id:line[0], name:line[1]})

  

4 从本地导入带表头的数据
using periodic commit 10000 load csv WITH HEADERS from"file:/artists_head.csv"as line CREATE (:Artist { name: line.Name, year: toInteger(line.Year)})

  
如需本文中的artist.csv文件实现上述语句,请在公众号中回复“neo4j中的artist”即可免费获取。
  
这一次想一起推送关于neo4j的几篇文章,大家久等啦,以后我会争取更快的更新频率。大家有好的想法可以写成文章,欢迎联系我发表,可以署上你的名字,并提供相应报酬。
  
你可能感兴趣:
用Python绘制皮卡丘
用Python绘制词云图
Python画好看的星空图(唯美的背景)
用Python中的py2neo库操作neo4j,搭建关联图谱
手把手教你用neo4j搭建简单关联图谱—基于家有儿女中的人物关
Python浪漫表白源码合集(爱心、玫瑰花、照片墙、星空下的告白)

长按(扫一扫)识别上方二维码学习更多Python和建模知识,让你的学习和工作更出彩。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿黎逸阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值