neo4j 知识图谱_你知道Neo4j这是什么数据库吗?有什么用呢?

欢迎关注文章系列 ,关注我
《提升能力,涨薪可待》
《面试知识,工作可待》
《实战演练,拒绝996》
如果此文对你有帮助、喜欢的话,那就点个赞呗,点个关注呗!

前言

0cbbcd83f891b3384d4a74f2a2d3ac87.png
你和任何一个陌生人之间所间隔的人不会超过六个
即最多通过6个中间人你就能够认识任何一个陌生人

对于一个社交网络APP,一定会存在着错综复杂的用户关系以及用户属性,在数据库表的设计中除了要存储每个用户的姓名、性别、喜好这些基本信息外,还需要存储一个用户和哪些用户是朋友 ,和哪些用户是亲人等这些关系数据的用户关系,那Neo4j图数据库就该出场了。

那Neo4j图数据库是什么呢?

Neo4j是一个高性能的,NOSQL数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事物特性的java持久化引擎。Neo4j也可以看作是一个高性能的图引擎,该引擎具有成熟数据库所有特性。

Neo4j图数据库适用的场景

  • 社交媒体和社交网络图: 以Neo4j图形数据库为基础,社交网络APP可以轻松处理社交关系或根据活动推断关系。
  • 知识图谱: 基于Neo4j数据类型以及图形的强大搜索功能, 由知识点之间的关系建立知识图,帮助用户搜索到关联的知识 。
  • 反欺诈多维关联分析: 通过图分析可以清楚的知道洗钱网络及相关嫌疑,例如对用户所使用的账号、发生交易时的IP地址、MAC地址、手机IMEI号等进行关联分析
  • 企业关系图谱: 企业在日常经营中,与客户、合作伙伴、渠道方、投资者都会打交道,这也决定了企业对社会各个领域都广有涉猎,呈现面错综复杂,因此可以通过Neo4j的企业数据图谱来查询,层层挖掘信息。
  • 推荐:基于Neo4j的优势进行个性化推荐, 通过分析用户有哪些朋友、用户朋友喜好的产品、用户的浏览记录等关系信息推测用户的喜好进而为用户推荐商品
  • ...

那为什么需要Neo4j图数据?

  • 它很容易表示连接的数据
  • 检索/遍历/导航更多的连接数据是非常容易和快速的
  • 它非常容易地表示半结构化数据
  • Neo4j CQL查询语言命令是人性化的可读格式,非常容易学习
  • 使用简单而强大的数据模型
  • 它不需要复杂的连接来检索连接的/相关的数据,因为它很容易检索它的相邻节点或关系细节没有连接或索引

那Neo4j怎么存储错综复杂的用户关系?

Neo4j图数据库遵循属性图模型来存储和管理其数据 ,其中属性图模型规则

  • 表示节点,关系和属性中的数据
  • 节点和关系都包含属性
  • 关系连接节点
  • 属性是键值对
  • 节点用圆圈表示,关系用方向键表示。
  • 关系具有方向:单向和双向。
  • 每个关系包含“开始节点”或“从节点”和“到节点”或“结束节点”
在属性图数据模型中,关系应该是定向的, 关系也应该是有方向性的
Neo4j使用本机GPE(图形处理引擎)引擎来使用它的本机图存储格式

属性图模型 主要构建块

  • 节点:图表的基本单位。 它包含具有键值对的属性
  • 关系: 连接两个节点 , 每个关系包含一个起始节点和一个结束节点 , 关系也可以包含属性作为键值对
  • 属性:用于描述图节点和关系的键值对
  • 标签 : Label将一个公共名称与一组节点或关系相关联。 节点或关系可以包含一个或多个标签
  • 数据浏览器 :一旦我们安装Neo4j,我们可以访问Neo4j数据浏览器使用以下URLhttp:// localhost:7474 / browser /
使用圆圈表示节点。 使用箭头的关系。 关系是有方向性的。 我们可以用Properties(键值对)来表示Node的数据。

在上图中,社交网络图包含为“人”的数据节点,分别代表五个用户。每个数据节点还包含人的基本属性信息等等,用于表示两个用户的基本信息,就如同常规数据库中的两行数据。

每两个数据节点之间关系数据,如Ccww与Ccww1的用户是父子关系。 利用这些关系数据,你就可以方便的作出基于关系的查询,这就是图数据库的优势。

标签man和woman,可以为现有节点或关系创建新标签,也可以从现有节点或关系中删除现有标签, 两个节点之间的关系,也有一个标签 。

那么Neo4j操作命令呢?

Neo4j - CQL代表Cypher查询语言。 像Oracle数据库具有查询语言SQL,Neo4j具有CQL作为查询语言:

  • 它是Neo4j图形数据库的查询语言。
  • 它是一种声明性模式匹配语言
  • 它遵循SQL语法。
  • 它的语法是非常简单且人性化、可读的格式。

常用的Neo4j CQL命令

096c53c95d36cb1d513b038b2ce299f9.png

Neo4j CQL 函数

d4790fab22390c746d50fc0ff59bf44d.png

Neo4j CQL数据类型

5e40e127caefd76958ceaaa7670378ad.png
如果此文对你有帮助、喜欢的话,那就点个赞呗,点个关注呗!
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值