1. 什么是Neo4j
Neo4j
是一个开源的无 Shcema
的,基于 java
开发的图形数据库,它将结构化数据存储在图中而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的 Java
持久化引擎。程序数据是在一个面向对象的、灵活的网络结构下,而不是严格、静态的表中,但可以享受到具备完全的事务特性、企业级的数据库的所有好处。
图形数据库排行榜:https://db-engines.com/en/ranking/graph+dbms
2. Neo4j 模块构建
2.1 Neo4j 主要构建块
- 节点
- 属性
- 关系
- 标签
- 数据浏览器
2.1.1 节点
节点是图表的基本单位。 它包含具有键值对的属性
2.1.2 属性
属性是用于描述图节点和关系的键值对 :Key = 值
, 其中 Key
是一个字符串,值可以通过使用任何 Neo4j
数据类型来表示
2.1.3 关系
关系是图形数据库的另一个主要构建块。 它连接两个节点,如下所示。
这里 Emp
和 Dept
是两个不同的节点。 “WORKS_FOR”
是 Emp
和 Dept
节点之间的关系。它表示从 Emp
到 Dept
的箭头标记
每个关系包含一个起始节点和一个结束节点。
这里 “Emp”
是一个起始节点。“Dept”
是端节点。
由于该关系箭头标记表示从 “Emp”
节点到 “Dept”
节点的关系,该关系被称为 “进入关系”
到 “Dept”
节点。并且 “外向关系”
到 “Emp”
节点。
像节点一样,关系也可以包含属性作为键值对。
2.1.4 标签
Label
将一个公共名称与一组节点或关系相关联。 节点或关系可以包含一个或多个标签。 我们可以为现有节点或关系创建新标签。 我们可以从现有节点或关系中删除现有标签。
从前面的图中,我们可以观察到有两个节点。
左侧节点都有一个标签:“EMP”
,而右侧节点都有一个标签:“Dept”
。
这两个节点之间的关系,也有一个标签:“WORKS_FOR”
注: Neo4j
将数据存储在节点或关系的属性中。
3. Neo4j的主要应用场景
3.1 社交媒体和社交网络
当使用图形数据库为社交网络应用程序提供动力时,可以轻松利用社交关系或根据活动推断关系。查询社区聚类分析,朋友的朋友推荐,影响者分析,共享和协作关系分析等
3.2 推荐引擎和产品推荐系统
图形驱动的推荐引擎通过实时利用多种连接,帮助公司个性化产品,内容和服务。内容和媒体推荐,图形辅助搜索引擎,产品推荐,专业网络,社会推荐。
3.3 身份和访问管理
使用图形数据库进行身份和访问管理时,可以快速有效地跟踪用户,资产,关系和授权。查询访问管理,资产来源,数据所有权,身份管理,互连组织,主数据,资源授权
3.4 金融反欺诈多维关联分析场景
通过图分析可以清楚地知道洗钱网络及相关嫌疑,例如对用户所使用的帐号、发生交易时的IP
地址、MAC
地址、手机IMEI
号等进行关联分析。
4. Neo4j 环境搭建
4.1 Linux 下搭建 Neo4j 环境
-
切换到
Linux
下 到安装目录neo4j
, 上传安装包 或者 下载安装包
使用ftp
工具上传neo4j-community-4.3.2.tar
到liunx
下,或者wget https://neo4j.com/artifact.php?name=neo4j-community-4.3.2-unix.tar.gz
-
解压
tar -xvf neo4j-community-4.3.2.tar
-
修改配置文件
neo4j.conf
vi conf/neo4j.conf
主要是修改允许远程访问的地址
把对应的注释打开即可
dbms.connectors.default_listen_address=0.0.0.0
-
开放对应的访问端口 默认要开放 7474 和 7687
firewall-cmd --zone=public --add-port=7474/tcp --permanent
firewall-cmd --zone=public --add-port=7687/tcp --permanent
systemctl reload firewalld
-
启动
./bin/neo4j start
-
使用浏览器 访问服务器上的 neo4j
http://192.168.211.133:7474
默认的账号是neo4j
密码neo4j
这里第一次登录的话会要求修改密码
4.2 Windows 下搭建 Neo4j 环境
-
从
https://neo4j.com/download-center/#community
下载最新的Neo4j Server
安装文件
可以看到neo4j
软件exe
或zip
格式的所有版本 -
下载
neo4j-community-4.3.2-windows.zip
-
解压
-
修改配置文件
dbms.connectors.default_listen_address=0.0.0.0
-
通过
neo4j.bat install-service
安装neo4j
服务 -
neo4j.bat
启动
neo4j.bat start
-
使用浏览器 访问服务器上的
neo4j
http://127.0.0.1:7474
默认的账号是neo4j
密码neo4j
这里第一次登录的话会要求修改密码
注意: 如果是 4.0
以及以上版本需要 jdk11
5. Neo4j 数据浏览器
5.1 数据浏览器访问
一旦我们安装 Neo4j
,我们可以访问 Neo4j
数据浏览器使用以下URL
: http:// localhost:7474
Neo4j
数据浏览器用于执行 CQL
命令并查看输出。
这里我们需要在美元提示符处执行所有 CQL
命令:“$”
如 CREATE(cc:CreditCard)
在美元符号后键入命令,然后单击“执行”按钮运行命令。
它与 Neo4j
数据库服务器交互,检索和显示下面的结果到那个美元提示。
使用 “UI视图”
按钮以图形格式查看结果。 下图以 “UI视图”
格式显示结果。
5.2 导出 CSV 或者 JSON
单击 “导出CSV”
按钮以 csv
文件格式导出结果