Neo4j
Neo4j 是一个 高性能的 NoSQL 图数据库,它被用于 图数据库 等场景。Neo4j 是一个关系信息存储为一等实体的数据库技术,广泛用于知识图谱,社交关系链,商品推荐,IT架构,商品主数据等领域。
准备
在参阅本文档使用 Neo4j 时,需要确保如下几点:
-
登录 Websoft9 控制台,然后找到(或安装)Neo4j:
- 我的应用 菜单找到应用
- 应用商店 菜单部署应用
-
应用是基于 Websoft9 安装的
-
应用的用途符合 GPL-3.0 开源许可协议
-
为应用准备配置访问方式:配置域名 或 服务器安全组开启网外端口
入门指南
访问 Neo4j Browser
-
Websoft9 控制台安装 Neo4j 后,通过 "我的应用" 查看应用详情,在 "访问" 标签页中获取登录信息。
-
本地浏览器访问 Neo4j Browser,填写准确的 Connection URL、账号和密码,即可登录成功
-
左侧 Neo4j Browser Sync 菜单,点击 Clear local data 退出登录
命令行 Cypher Shell
-
进入 Neo4j 容器的命令模式,输入
cypher-shell
命令$cypher-shell
username: neo4j
password: *****
Connected to Neo4j 4.1.0 at neo4j://localhost:7687 as user neo4j.
Type :help for a list of available commands or :exit to exit the shell.
Note that Cypher queries must end with a semicolon.
neo4j@neo4j> -
输入命令
CALL dbms.showCurrentUser();
查看当前用户neo4j@neo4j> CALL dbms.showCurrentUser();
+--------------------------+
| username | roles | flags |
+--------------------------+
| "neo4j" | admin | [] |
+--------------------------+
1 row available after 22 ms, consumed after another 1 ms -
用户管理命令(仅企业版)
# 显示所有用户
SHOW USERS;
CALL dbms.security.listUsers();
# 创建新用户,第三个参数表示 requridchangepassword
CALL dbms.security.createUser('username','password',false);
# 删除用户
CALL dbms.security.deleteUser('username'); -
修改密码
cypher-shell -u neo4j -p neo4j -d system
ALTER CURRENT USER SET PASSWORD FROM 'neo4j' TO 'neo4j123';
企业版
托管服务
Websoft9 可以为 Neo4j 企业版提供全面的采购与托管支持服务。
应用场景
- 社交领域:Facebook, Linkedin 分析每个用户的好友信息,进一步管理社交关系,实现好友推荐
- 零售领域:零售商和电商平台构建商品之间的关系模型链(读读《啤酒与尿布》),便于做商品推荐
- 金融领域:从用户手机通讯录或爬取社交关系,为用户构建一个关系网画像,便于风控和催收
- 汽车制造领域:汽车制造商零部件供应商的关系图谱,有效降低单台汽车2万个零部件的供应链风险
- 电信领域:电信运营商公司管理分布全球的复杂网络设施拓扑图,便于更有效的运维。
- 知识图谱领域:企查查、天眼查等对于公司和人的关系的知识图谱,可以理解为关系搜索引擎。
- 公共领域:类似新冠疫情患者出行轨迹的关系图谱,可以更好做出精准排查。
可见,图数据库就用来存储:人-人, 物-物, 人-物 之间的关系,用于推荐、知识图谱、效率等目的。
配置选项
-
多用户: User and role management 仅企业版支持
-
开启远程访问:配置文件中增加配置段
dbms.default_listen_address=0.0.0.0
-
配置文件(已挂载):/var/lib/neo4j/neo4j.conf
-
工具:Neo4j Tools
-
命令行:Cypher Shell
-
Clustering:企业版功能
管理维护
- 找回密码:配置文件增加
dbms.security.auth_enabled=false
,禁用密码验证,然后重置密码后复原。
故障
连接数据库报错?
问题描述:Neo4j Browser 连接数据库报错。 原因分析:您的服务器对应的安全组端口没有开启(入规则),导致无法连接数据库
Roles 显示为空?
Neo4j 社区版不支持 Roles,故显示为空