首页 > 系统相关 >【快速上手】linux环境下Neo4j的安装与使用

【快速上手】linux环境下Neo4j的安装与使用

时间:2024-09-24 12:50:39浏览次数:3  
标签:dbms p1 name linux 端口 Person neo4j Neo4j 安装

一、neo4j简介 

neo4j是一个非关系型图形数据库,非常适合处理具有复杂关系的数据集

存储方式:图形化存储

特点:将结构化数据存储在图上而不是表(比如:MySQL数据库存储在表中)中

neo4j也可以看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。

数据库排名链接:https://db-engines.com/en/ranking

二、安装与配置

1.下载安装包

安装包链接:2.Index of /doc/neo4j/icon-default.png?t=O83Ahttps://we-yun.com/doc/neo4j/

注意:neo4j与jdk版本的对应关系:neo4j的版本需要与jdk版本相适配,否则容易出现安装失败

 

 2.解压安装

①将安装包拉到  /opt/modules 目录下

②解压

tar -xvf neo4j-community-3.5.8-unix.tar.gz -C /opt/installs/

③重命名

cd /opt/installs
mv neo4j-community-3.5.8/ neo4j

3.修改配置

①在安装目录下找到conf目录下的neo4j.conf文件

vi /opt/installs/neo4j/conf/neo4j.conf

 ②修改相应配置如下:

修改第22行load csv时l路径,在前面加个#,可从任意路径读取文件
#dbms.directories.import=import

修改35行和36行,设置JVM初始堆内存和JVM最大堆内存
生产环境给的JVM最大堆内存越大越好,但是要小于机器的物理内存
dbms.memory.heap.initial_size=5g
dbms.memory.heap.max_size=10g

修改46行,可以认为这个是缓存,如果机器配置高,这个越大越好
dbms.memory.pagecache.size=10g

修改54行,去掉改行的#,可以远程通过ip访问neo4j数据库
dbms.connectors.default_listen_address=bigdate01

默认 bolt端口是7687,http端口是7474,https关口是7473,不修改下面3项也可以
修改71行,去掉#,设置http端口为7687,端口可以自定义,只要不和其他端口冲突就行
#dbms.connector.bolt.listen_address=:7687

修改75行,去掉#,设置http端口为7474,端口可以自定义,只要不和其他端口冲突就行
dbms.connector.http.listen_address=:7474

修改79行,去掉#,设置http端口为7473,端口可以自定义,只要不和其他端口冲突就行
dbms.connector.https.listen_address=:7473

修改227行,去掉#,允许从远程url来load csv
dbms.security.allow_csv_import_from_file_urls=true

修改246行,允许使用neo4j-shell,类似于mysql 命令行之类的
dbms.shell.enabled=true

修改235行,去掉#,设置连接neo4j-shell的端口,一般都是localhost或者127.0.0.1,这样安全,其他地址的话,一般使用https就行
dbms.shell.host=127.0.0.1

修改250行,去掉#,设置neo4j-shell端口,端口可以自定义,只要不和其他端口冲突就行
dbms.shell.port=1337

修改254行,设置neo4j可读可写
dbms.read_only=false

4.启动/停止

进入bin目录执行./neo4j start

cd /opt/installs/neo4j/bin
./neo4j start
cd /opt/installs/neo4j/bin
./neo4j stop

5.客户端访问

http://bigdata01:7474

(http://服务器IP地址:7474)

在浏览器访问图数据库所在的机器上的7474端口

(第一次访问账号neo4j,密码neo4j,会提示修改初始密码)

三、基本CQL使用(增删改查)

neo4j有自己的语言---Cypher (借鉴了SQL的结构)

和mysql数据库使用相似,最基本的使用---增删改查

Cypher是一种图数据库查询语言,专门用于Neo4j图形数据库。它是一种声明式的查询语言,借鉴了SQL的结构,旨在以简洁的语法和强大的表现力,高效地查询和更新图数据。

上一个简单的案例演示一下:以《夏洛特烦恼》这个电影为例

1.创建节点

create(:Person{name:"沈腾",gender:'男',born:1979})

注意:

用 create 即便是重复的数据也会再插入一条,会有两个沈腾,用 merge 创建则不会新增节点
后续操作可能更多使用到 merge

create(:Person{name:"马丽",gender:'女',born:1982}),
(:Person{name:"王智",gender:'女',born:1983}),
(:Person{name:"尹正",gender:'男',born:1986}), 
(:Person{name:"闫飞",gender:'男',born:1983}),
(:Movie{title:'夏洛特烦恼',mins:104,rating:7.9,releasedate:'2015-09-30'})

查询出生在1983年之前的人:

match(p:Person) where p.born<1983 return *

 

2.创建关系

导演关系:

match (p:Person{name:"闫飞"}),(m:Movie{title:"夏洛特烦恼"})   
create (p)-[r:导演]->(m) return *

演员关系: 

match (p1:Person{name:"沈腾"}),(m:Movie{title:"夏洛特烦恼"}),
(p2:Person{name:"马丽"}), (p3:Person{name:"王智"}),(p4:Person{name:"尹正"}) 
create (p1)-[r1:出演{roles:['夏洛']}]->(m),(m)-[r11:演员]->(p1),
(p2)-[r2:出演{roles:['马冬梅']}]->(m),(m)-[r22:演员]->(p2) ,
(p3)-[r3:出演{roles:['秋雅']}]->(m),(m)-[r33:演员]->(p3) ,
(p4)-[r4:出演{roles:['袁华']}]->(m),(m)-[r44:演员]->(p4) return *

朋友关系: 

match (p1:Person{name:"沈腾"}),(p3:Person{name:"马丽"}),(p4:Person{name:"尹正"}) 
create (p1)-[:朋友]->(p2:Person{name:"贾玲"}),(p2)-[:朋友]->(p1),
(p3)-[:朋友]->(p2),(p2)-[:朋友]->(p3),
(p1)-[:朋友]->(p4),(p4)-[:朋友]->(p1),
(p1)-[:出演]->(m:Movie{title:"你好,李焕英"}),(m)-[:演员]->(p1),
(p2)-[:导演]->(m) return *

 查询关系为朋友的人

match(p1)-[r:朋友]->(p2) return *

查询出演电影的数量:

match (p:Person)-[:出演]->(m:Movie)
with p.name as name,count(distinct m) as movie_num
return name,movie_num order by movie_num desc

查询所有关系:

match(p1)-[r]->(p2) return *

 表格可以下载下来,关系图也可以下载

3.删除

①删除关系:

match(n)<-[r]->() where n.name="沈腾" delete r

② 删除节点:

match(n) where n.name="沈腾" delete n

③全部删除:

match(n) detach delete n

简单说明:

①这只是一个简单的关系图,假如上万的数据节点,查询职业是演员的人并计算演员有多少人。  

②(六人定律:你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过六个人你就能够认识任何一个陌生人。)

neo4j可以创建1亿多个节点、关系和属性  这样就可以形成一个巨大的关系网  

 

应用场景:

个性化推荐:根据你喜欢的内容推荐

在个性化推荐系统中,用户、产品和交互等实体可以表示为节点,而用户与产品之间的购买、交互和评论等关系可以表示为关系。通过分析这些关系,可以了解用户的兴趣和偏好,从而提供与用户当前上下文相关的个性化建议

金融行业应用

反欺诈多维关联分析场景:
通过图分析可以清楚地知道洗钱网络及相关嫌疑,例如对用户所使用的帐号、发生交易时的IP地址、MAC地址、手机IMEI号等进行关联分析。

社交网络图谱

在社交网络中,公司、员工、技能的信息,这些都是节点,它们之间的关系和朋友之间的关系都是边,在这里面图数据库可以做一些非常复杂的公司之间关系的查询。比如说公司到员工、员工到其他公司,从中找类似的公司、相似的公司,都可以在这个系统内完成。

企业关系图谱

图数据库可以对各种企业进行信息图谱的建立,包括最基本的工商信息,包括何时注册、谁注册、注册资本、在何处办公、经营范围、高管架构。围绕企业的经营范围,继续细化去查询企业究竟有哪些产品或服务,例如通过企业名称查询到企业的自媒体,从而给予其更多关注和了解。另外也包括对企业的产品和服务的数据关联,查看该企业有没有令人信服的自主知识产权和相关资质来支撑业务的开展。

企业在日常经营中,与客户、合作伙伴、渠道方、投资者都会打交道,这也决定了企业对社会各个领域都广有涉猎,呈现面错综复杂,因此可以通过企业数据图谱来查询,层层挖掘信息。基于图数据的企业信息查询可以真正了解企业的方方面面,而不再是传统单一的工商信息查询。

        

标签:dbms,p1,name,linux,端口,Person,neo4j,Neo4j,安装
From: https://blog.csdn.net/m0_57764570/article/details/142416685

相关文章

  • 云服务器(华为云)安装java环境。
    这篇文章主要是介绍如何搭建华为云服务器中的java环境,也就是jdk的安装。这里华为云服务器使用的是liunx系统。uname-aLinux操作系统的版本信息。具体来说,它表明使用的是Ubuntu系统,内核版本是5.15.0,构建于2023年1月20日,运行在x86_64架构的硬件上。不过这里要介绍一下jdk......
  • Nacos 2.4.2.1安装
    1.装JDK(1)下载JDK17wget-P/usr/local/https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz(2)解压tar-zxf/usr/local/jdk-17_linux-x64_bin.tar.gz-C/usr/local/(3)配置变量cp/etc/profile/etc/profile.bak#使用EOF来追加内容到/etc/......
  • MySQL8.4.0安装
    1.官网下载压缩包官网地址:https://downloads.mysql.com/archives/community/2.选取需要的包上传Linux下载完成:解压完成:从中选取下列rpm包:上传至linux:这里上传到路径:/usr/local/mysql(cd/usr/local/;sudomkdirmysql#没有就创建 )3.按顺序下载(rpm)  ......
  • CENTOS操作系统的安装
    目录1文档概要1.1目的1.2准备说明1.3基本配置标准(必须)2系统安装(以centos为例)2.1从引导介质引导后,选择InstallCentOS72.2设置时区为中国上海,添加中文支持2.3设置安装磁盘2.4开始安装2.5设置root密码3系统基本配置3.1开启SSH3.2关闭防火墙3.3关闭selin......
  • OpenHarmony Linux内核的config配置
    鸿蒙系统对Linux内核的使用方式对于传统的Linux内核和驱动开发者来说已经发生了很大的变化,首先就是内核config选项的配置方式。传统上,我们直接进入到linux内核目录进行makemenuconfig就可以了,最终会生成1个.config文件,但是鸿蒙不是这样子的。为了解决传统的一平台或一领域产品......
  • Linux C++ 开发8 - 性能分析工具汇总
    1.LinuxC++性能分析工具汇总1.1.gprof1.2.Valgrind1.3.Perf1.4.SystemTap1.5.NsightComputing1.6.GooglePerformanceTools1.7.IntelVTuneProfiler1.8.OProfile1.9.IntelVTune1.10.SystemTap1.11.FlameGraph2.总结1.LinuxC++性能分析工......
  • 渗透神器Kali Linux系统官方版的安装教程(超详细,保姆级教程)
    镜像下载镜像链接:【操作系统】KaliLinuxv2023.4官方版-极核GetShell(get-shell.com)其他镜像链接:(按需下载):在这里我选择的清华源,点击直链下载后面的链接进行下载。需要其他镜像文件的可以前往官网地址或者其他源镜站进行下载。安装kali1.打开Vmware首页,创建新的虚......
  • Windows MAVEN 安装使用整合idea
     官网下载地址Maven–DownloadApacheMaven安装        1.下载好的文件放在盘符本地        2.配置环境变量    3.编辑Path    4.查看cmd是否安装成功cmd输入mvn看是否有内容配置镜像源    1.找到目录下......
  • kafka安装
    新版本支持kraft,并且在后面会彻底抛弃zookeeper二进制包地址https://downloads.apache.org/kafka/解压之后,编辑config/kraft/server.properties文件,改成自己的ip在Kafka安装目录的bin文件夹下执行以下命令生成一个新的集群ID,如果只有1个机器也没关系,windows的命令在windows......
  • 排查Linux中free -h 显示的 available 小于 free 值
    一、服务器上使用free-h命令显示如下 正常情况下:total=free+used+buff/cacheavailable=free+可回收的buff/cache理论上 available至少应该等于free,free尚未使用内存,available:可用内存,可用内存=尚未使用内存+可回收的buff/cache但是上面显示的available大大小于free值。......