图数据库Neo4j概念、应用场景、安装及CQL的使用

一、图数据库概念

引用Seth Godin的说法,企业需要摒弃仅仅收集数据点的做法,开始着手建立数据之间的关联关系。数据点之间的关系甚至比单个点本身更为重要。

传统的**关系数据库管理系统(RDBMS)**并不擅长处理数据之间的关系,那些表状数据模式和呆板的结构难以添加新连接或不同类型连接。为了利用这些数据关系,需要一种能将关系信息存储为一等实体的新型数据库技术,这种技术就是图数据库。

图数据库不仅能有效存储数据点之间的关系,而且非常灵活,适合添加新的关系类型,并使数据模型适应新的业务需求。

除了数据库本身,图技术还涵盖了图数据科学的新兴领域,适合预测分析和机器学习,而所有的图数据可视化适合针对特定目的的数据发现和探索。

二、图数据应用场景

1、欺诈检测
2、实时推荐引擎
3、知识图谱
4、反洗钱
5、主数据管理
6、供应链管理
7、增强网络和IT运营管理能力
8、数据谱系
9、身份和访问管理
10、材料清单

三、安装Neo4j

有三种安装方式,一种是社区版,在官网上下载社区版本;第二种是基于docker进行安装的;第三种是neo4j desktop安装,本文介绍第一种安装社区版本。
官网 https://neo4j.com/deployment-center/#community
如果是4.x的版本,jdk要是符合11的,因为我们的jdk版本是8的,安装的版本是3.5x。

* bin目录:用于存储Neo4j的可执行程序;
* conf目录:用于控制Neo4j启动的配置文件;
* data目录:用于存储核心数据库文件;
* plugins目录:用于存储Neo4j的插件;

在bin目录下使用neo4j console启动
图数据库Neo4j概念、应用场景、安装及CQL的使用_第1张图片
默认账号密码neo4j/neo4j, 可以修改密码。
图数据库Neo4j概念、应用场景、安装及CQL的使用_第2张图片
图数据库Neo4j概念、应用场景、安装及CQL的使用_第3张图片

Neo4j-CQL使用

neo4j-CQL简介
Neo4j的Cypher语言是为了处理图形数据而构建的,CQL代表Cypher查询语言,像Oracle数据库具有查询语言SQL,Neo4j具有CQL作为查询语言。
CQL命令 用法

CQL命令 用法
CREATE 创建节点,关系和属性
MATCH 检索有关节点,关系和属性数据
RETURN 返回查询结果
WHERE 提供条件过滤检索数据
DELETE 删除节点和关系
REMOVE 删除节点和关系的属性
ORDER BY 排序检索数据
SET 添加或更新标签
节点、关系的方向、关系的标签

常用的CQL命令
match (n:person {name: ‘孙悟空’}) return n.name, id(n)
match (n:person) where n.name=‘孙悟空’ return n.name, id(n)
match (n:person {name:‘孙悟空’}),(m:xiyouRelation) where m.from =‘孙悟空’
return n.name, m.relation, m.to

创建节点

创建节点
create (n)
创建多个节点
create(n),(m)
创建带标签和属性的节点并返回节点
create (n: person {name: '孙悟空'}) return n

创建关系
先创建节点
create(:student{name:"xiaohong"}), (:student{name:"zhangsan"})

查询节点
match (n:student {name: "小明"}),(m:student {name: "小红"})
create (n)-[r:同学]-> (m) return n.name, type(r), m.name

创建关系
match (n:person {name: '孙悟空'}), (m:xiyouRelation),(s: person) where
m.from = '孙悟空' and m.to = s.name
create (n)-[: 西游人物关系{relation:m.relation}]->(s)
return n.name, m.relation, s.name
就是把 n 指向 s

你可能感兴趣的:(知识图谱,数据库,neo4j)