图数据库Neo4j简介

这篇具有很好参考价值的文章主要介绍了图数据库Neo4j简介。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

图数据库Neo4j简介

什么是图数据库(Graph Database)

随着社交、电商金融、零售、物联网的快速发展,现实社会支起了一张张庞大二复杂的关系网,传统数据库很难处理关系运算,急需一种支持海量复杂数据关系运算的数据库,图数据库应运而生。

图数据库是基于图论实现的一种Nosql数据库,起数据结构和数据查询方式都是以图论为基础,主要用于存储更多的连接数据。如下图:

图数据库Neo4j简介,Neo4j,数据库,neo4j

Neo4j

Neo4j是一个开源的NoSql图数据库,2003年开始开发,使用scala和java语言,2007年开始发布。

  • 世界上最先进的图数据库之一,提供原生的图数据存储,检索和处理
  • 采用属性图模型(Property graph mode),几个的完善和丰富图数据模型
  • 专属查询语言Cypher,直观,高效

官网:https://neo4j.com/

Neo4j的特性:

  • SQL就像简单的查询语言Neo4j CQL
  • 遵循属性图数据模型
  • 通过使用Apache Lucence 支持索引
  • 支持UNIQUE约束
  • 包含一个用于执行的CQL命令UI:Neo4j数据浏览器
  • 支持完整的ACID(原子性,一致性,隔离性和持久性)规则
  • 采用原生图形库与本地GPE(图形处理引擎)
  • 支持查询的数据导出到JSON和XLS格式
  • 提供了REST API,可以被任何编程语言(JAVA,PYTHON,GO.NET等)
  • 提供了可以通过任何UI MVC框架(NODE JS)访问java脚本
  • 支持两种java api:Cypher API和Navicat Java API来开发Java应用程序

Neo4j的优点:

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

Noe4j数据模型

图论基础

图是一组节点和连接这些节点的关系,图形以属性的形式将数据存储在节点和关系中,属性是用于表示数据的键值对。

在图论中,我们可以表示一个带有圆的节点,节点之间的关系用一个箭头标记表示。最简单的图是单个节点:

图数据库Neo4j简介,Neo4j,数据库,neo4j

我们可以使用节点表示社交网络(比如CSDN个人资料),它不包含任何属性,像CSDN个人资料添加一些属性:

图数据库Neo4j简介,Neo4j,数据库,neo4j

在两个节点直接创建关系

图数据库Neo4j简介,Neo4j,数据库,neo4j

此处在两个配置文件之间创建关系名称“跟随”,这意味着profile1遵循profile2

属性图模型

Neo4j图数据库遵循属性图模型来存储和管理数据。

属性图模型规则:

  • 表示节点,关系和属性中的数据
  • 节点和关系都包含属性
  • 关系连接节点
  • 属性是键值对
  • 节点用图圈表示,关系用方向键表示
  • 关系具有方向:单向和双向
  • 每个关系包含"开始节点"或"从节点"和"从节点"或结束节点

在属性图数据模型中,关系应该是定向的,如果我们尝试创建没有方向的关系,那么将抛出一个错误消息,在Neo4j中,关系也是有方向的。

Neo4j图数据库将其所有数据存储在节点和关系中,我们不需要任何额外的RDBMS数据库或NoSQL数据库来存储Neo4j数据库数据,它以图形的形式存储数据。Neo4j使用本机GPE(图形处理引擎)来使用它的本地图存储格式。

图数据库数据模型的主要构建块是:

  • 节点
  • 关系
  • 属性

简单的属性图的例子:

图数据库Neo4j简介,Neo4j,数据库,neo4j

Neo4j的构建元素

Neo4j图数据库主要有以下构建元素:

  • 节点(Node):是图数据库中的一个基本元素,用来表示一个实体记录,就像mysql中的一条记录一样,一个节点(Node)可以有多个属性(properties)和多个标签(label)。
    • 节点是最主要的数据元素
    • 节点可以通过关系连接到其它节点
    • 节点可以具有多个属性(键值对)
    • 节点可以由多个标签,用于描述其在图表中的作用,比如一个人的标签可以是父亲,也可以是儿子,也可以是朋友
  • 属性(Property):是用于描述节点和关系的键值对,key是一个字符串,值可以通过任何Neo4j数据类型来表示。
    • 属性是命名值,其中名称是字符串
    • 属性可以被索引和约束
    • 可以多个属性创建复合索引
  • 关系(Relationship):同样的图数据库的基本元素,当数据库中已经存在节点后,需要将节点连接起来构成图。关系就是用来连接两个节点,关系也称为图论中的"边",关系和节点一样可以由多个属性,但是只能有一个类型(Type)
  • 标签(Lable):是将一个公共名称与一组节点或者关系相连,我们可以为现有的节点或关系中添加标签也可以删除标签
  • 数据浏览器(后面更新部署安装的时候再说)

图数据库Neo4j简介,Neo4j,数据库,neo4j文章来源地址https://www.toymoban.com/news/detail-836656.html

Neo4j的使用场景

  • 欺诈检测,比如你接到某个陌生电话或者陌生短信,就会收到官方的防欺诈提醒通知
  • 实时推荐引擎
  • 知识图谱

到了这里,关于图数据库Neo4j简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 图数据库Neo4j——SpringBoot使用Neo4j & 简单增删改查 & 复杂查询初步

    图形数据库是专门用于存储图形数据的数据库,它使用图形模型来存储数据,并且支持复杂的图形查询。常见的图形数据库有Neo4j、OrientDB等。 Neo4j是用Java实现的开源NoSQL图数据库,本篇博客介绍如何在SpringBoot中使用Neo4j图数据库,如何进行简单的增删改查,以及如何进行复杂

    2024年02月06日
    浏览(57)
  • Neo4j 图形数据库

    目录 Neo4j 基础 什么是Neo4j Neo4j 模块构建 Neo4j的主要应用场景 Neo4j 环境搭建 Docker 安装Neo4j Neo4j数据浏览器  Neo4j CQL CQL简介 Neo4j CQL高级 CQL 函数 CQL多深度关系节点 事务 索引 约束 Neo4j之Admin管理员操作 Neo4j - 数据库备份和恢复 调优思路  Neo4j 程序访问 SpringBoot 整合Neo4j

    2024年02月10日
    浏览(47)
  • neo4j清空数据库

    清空所有Person、 Movie节点及其所有关系 查询任意数据  如果没有, 就说明已经删除成功了 这段代码是用Cypher查询语言编写的,用于清空所有的Person节点、Movie节点以及它们之间的所有关系。让我们逐步解释代码的每个部分: 这部分代码使用MATCH语句来查找图数据库中的所有

    2024年02月14日
    浏览(43)
  • Neo4j数据库删除数据

    我们使用Neo4j图数据库进行写入数据操作之后,免不了要删除数据的。 但是Neo4j的控制台没有提供快捷的删除按钮,所以我们还是需要通过命令来操作。 如果数据库中的数据量并不大,节点数相对较少,我们可以通过命令行直接删除节点。 此类操作起到清空数据库的效果,但

    2023年04月09日
    浏览(89)
  • 图数据库_Neo4j的使用场景_以及Windows版Neo4j Community Server安装_欺诈检测_推荐_知识图谱---Neo4j图数据库工作笔记0003

    可以看到使用场景,比如欺诈检测, 要建立图谱,才能进行,欺诈人员检测   可以看到图谱的各种应用场景 然后推荐引擎也需要,可以看到 在金融,旅行,求职招聘,保健,服务,媒体娱乐,都可以进行推荐   然后还有知识图谱 身份访问管理,这里,可以进行安全管理,可以挖掘出潜在关系

    2024年02月12日
    浏览(40)
  • 图数据库_Neo4j中文版_Centos7.9安装Neo4j社区版3.5.9_基于jdk1.8---Neo4j图数据库工作笔记0012

        由于我们在国内使用啊,具体还是要用中文版滴,找了好久这个neo4j,原来还是有中文版的, 中文版下载地址在这里: 所有版本都在这里了,需要哪个自己去下载就可以了,要注意下载以后,参考:  在这个位置下载,主要是找到对应中文版的安装包,花了写时间啊 然后我们看一下安装

    2024年02月12日
    浏览(42)
  • Neo4j数据库使用相关

    做知识图谱相关项目,初步使用了neo4j数据库,简单记录一下使用过程和踩坑备忘~ 操作系统Win10+Neo4j社区版(community,版本4.4.30) 目录 一、安装 1.1 安装Java和Neo4j 1.2 环境变量设置 二、 Neo4j使用 2.1 安装服务 2.2 数据库使用 2.3 数据库备份  Java下载链接:Java Downloads | Oracle

    2024年04月16日
    浏览(60)
  • 图数据库_Neo4j和SpringBoot整合使用_实战创建明星关系图谱---Neo4j图数据库工作笔记0010

    2023-09-10 10:37:48 补充 注意:下面是旧版本的语法,如果你发现@NodeEntity这样的注解没有的话可以这样: 这里就要用@Node 另外如果@StartNode和@EndNode都没有了,那么说明是用法变了. 关于最新的用法,在官网有明确的说明和案例,很有用: 下面给出官网的案例:

    2024年02月12日
    浏览(45)
  • 图数据库:neo4j学习笔记

    参考 Neo4j - 环境设置_w3cschool 【知识图谱】Neo4j入门教程 - 知乎 neo4j 教程_w3cschool 图数据库Neo4j实战(全网最详细教程)_neo4j使用教程_星川皆无恙的博客-CSDN博客 代码片段_知识图谱Neo4j Cypher查询语言详解  参考 NEO4J指定JDK路径_elasticsearch_K歌、之王-华为云开发者联盟 Window下N

    2024年02月16日
    浏览(45)
  • Neo4j图数据库安装教程

    记录Neo4j图数据库安装过程中踩过的坑和问题解决办法,仅供参考。 Neo4j数据库底层是使用java编写,所有底层基于Java虚拟机运行,所以在安装neo4j之前要安装java环境; 下载jdk1.7版本,自行安装    **这里有坑,建议不要直接跟着做呦,不然你会后悔的** set  JAVA_HOME = D:Pro

    2024年02月11日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包