【图数据库实战】图数据库基本概念

1、图数据库的概念

维基百科图书库的概念:
在计算机科学中,图数据库(英语:graph database,GDB)是一个使用图结构进行语义查询的数据库,它使用节点、边和属性来表示和存储数据。该系统的关键概念是图,它直接将存储中的数据项,与数据节点和节点间表示关系的边的集合相关联。这些关系允许直接将存储区中的数据链接在一起,并且在许多情况下,可以通过一个操作进行检索。图数据库将数据之间的关系作为优先级。查询图数据库中的关系很快,因为它们永久存储在数据库本身中。可以使用图数据库直观地显示关系,使其对于高度互连的数据非常有用。
图数据库是一种非关系型数据库,以解决现有关系数据库的局限性。图模型明确地列出了数据节点之间的依赖关系,而关系模型和其他NoSQL数据库模型则通过隐式连接来链接数据。图数据库从设计上,就是可以简单快速地检索难以在关系系统中建模的复杂层次结构的。图数据库与20世纪70年代的网络模型数据库相似,它们都表示一般的图,但是网络模型数据库在较低的抽象层次运行,并且不能轻松遍历一系列边。
图数据库的底层存储机制可能各有不同。有些依赖于关系引擎并将图数据“存储”到表中(虽然表是一个逻辑元素,但是这种方法在图数据库、图数据库管理系统和实际存储数据的物理设备之间施加了另一层抽象)。另一些则使用键值存储或文件导向的数据库进行存储,使它们具有固有的NoSQL结构。大多数基于非关系存储引擎的图数据库还添加了标记或属性的概念,这些标记或属性本质上是具有指向另一个文档的指针的关系。这样就可以对数据元素进行分类,以便于集中检索。
从图数据库中检索数据需要SQL之外的查询语言,SQL是为了处理关系系统中的数据而设计的,因此无法“优雅地”处理遍历图。截至2017年,没有一个像SQL那样通用的图查询语言,通常都是仅限与一个产品的。不过,已经有一些标准化的工作,使得Gremlin、SPARQL和Cypher成为了多供应商查询语言。除了具有查询语言接口外,还可以通过应用程序接口(API)访问一些图数据库。
图数据库与图计算引擎不同。图数据库是转换关系OLTP数据库的技术。而图计算引擎在OLAP中用于批量分析。由于主要技术公司在使用专有图数据库方面的成功以及开源图数据库的引入,图数据库在2000年代引起了相当大的关注。

2、图模型

    图是一组对象的集合,由顶点和边构成,顶点表示实体或实例,如人、账号、组织、业务等。它们可以类比于关系型数据库里的记录(record)或行(row),或文档数据库(document database)里的文档(document)。边是将连接顶点的线,表示顶点之间的关联关系。边是图数据库中的关键概念,在关系型数据库或文档存储数据库中,没有对边的抽象概念进行直接实现。
    常见的图数据表示模型有两种,分别是RDF(Resource Description Framework)模型和属性图(Property Graph)模型。 RDF和Property Graph都是最基础、最有名的图表示模式,都能够表示各种图的实体关系建模。 RDF是W3C标准,而Property Graph是工业标准,受到广大图数据库厂商的广泛支持。

2.1 属性图

        目前neo4j、hugegraph等主流图数据库,都是采用Property Graph。一个属性图是由顶点(Vertex)、边(Edge)、标签(Label)、关系类型和属性(Property)组成的有向图。
        顶点(Vertex):顶点是事物(Object)的抽象,一般指实体。比如:人、账户等。
        边(Edge):边是两个顶点间的关联关系,有向或无向,比如:朋友关系、转账动作等。
        属性(Property):顶点的属性是对事物的具体描述,根据顶点代表的类型不同,每个顶点可以有不同的属性,比如:人的姓名、人的年龄、转账的时间等
        标签(Label): 指顶点、边或者索引的类型
        在图形中,节点和关系是最重要的实体,所有的节点是独立存在的,为顶点设置标签,那么拥有相同标签的顶点属于一个集合;关系通过关系类型来分组,类型相同的关系属于同一个集合。关系是有向的,关系的两端是起始顶点和结束顶点,通过有向的箭头来标识方向,顶点之间的双向关系通过两个方向相反的关系来标识。顶点可有零个、一个或多个标签,但是关系必须设置关系类型,并且只能设置一个关系类型。
        假设构造一个包括一个科研项目中不同合作者的属性图,如下图。顶点属性可能包含用户名和职业。边属性描述合作者之间关系
(图片来自网络)

2.2 RDF图

      RDF是语义网体系的基础技术。目前知识图谱普遍采用了语义网框架中RDF(Resource Description Framework,资源模式框架)模型来表示数据
       RDF是W3C的语义网框架中的数据描述的标准,通常称之为RDF三元组<主体 (subject),谓词 (predicate),宾语(object)>。其中主体一定是一个被描述的资源,由URI来表示。谓词可以表示主体的属性,或者表示主体和宾语之间某种关系;当表示属性时,宾语就是属性值,通常是一个字面值(literal);否则宾语是另外一个由URI表示的资源。
       RDF图主要由以下两种元素组成:
  • 节点(Nodes): 可以是具备唯一性的资源或字面值(如数值、字符串)。
  • 边(Edges): 节点之间的有向连接,也被称为谓语(predicate),一般由主语指向宾语。
       RDF也有标准的查询语言SPARQL,SPARQL既是一种功能齐全的查询语言,也是一种HTTP协议,可以接收通过HTTP发送的查询请求。RDF图的标准化有一个关键点就是序列化。通过序列化可以在不同RDF图数据库之间无缝切换,常用的序列化格式包括Turtle(最常用)、JSON-LD、XML。
      RDF示例如下:
(图片来自网络)

3、图数据库排名

在 https://db-engines.com/en/ranking/graph+dbms上,根据图数据库的受欢迎情况,排名如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/154458.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot 与 Gzip 压缩

响应压缩是 Web 应用一种常见的优化手段&#xff0c;通过压缩算法减小传输数据的体积&#xff0c;提高传输效率、节约带宽。客户端接收到数据后&#xff0c;使用相同的算法对数据进行解压从而获取到原始数据。 客户端和服务器需要通过 Header 来协商双方支持的压缩算法。 Acc…

win10 火绒 每次打开word、excel都会提示,你要如何打开这个文件

一、概述 最近电脑每次打开办公软件&#xff0c;比如word、excel等&#xff0c;都会提示让选择如何打开这个文件&#xff1f;即使是默认程序已经关联的启动文件&#xff0c;也是会提示&#xff0c;不管是设置“始终使用此应用打开.xIsx 文件”几次&#xff0c;还是一样的提示&…

python接口自动化测试之接口数据依赖

一般在做自动化测试时&#xff0c;经常会对一整套业务流程进行一组接口上的测试&#xff0c;这时候接口之间经常会有数据依赖&#xff0c;那又该如何继续呢&#xff1f; 那么有如下思路&#xff1a; 抽取之前接口的返回值存储到全局变量字典中。初始化接口请求时&#xff0c;…

深度了解LinkedBlockingQueue底层实现原理

文章目录 前言一、Queue接口的定义二、AbstractQueue实现Queue的基本操作1.AbstractQueue源码注释解析2.方法add、remove、element、clear、addAll的实现原理 三、BlockingQueue接口定义解析1.入列操作2.出列操作3.其他操作 四、LinkedBlockingQueue源码解析1.LinkedBlockingQu…

【SEO学习】其他技术

还有其他各种与搜索引擎优化有关的技巧。我们没有将它们归入任何特殊类别&#xff0c;因此将它们归入杂项类别。请逐一阅读这些技巧。 禁忌列表 不要在网页上保留隐藏文字。不要使用错误的关键字来制作垃圾图片。不要使用元标签。不要在网站上使用框架和 Flash。不要与黑名单…

Keithley2420吉时利2420数字源表

Keithley2420吉时利2420数字源表系列&#xff0c;专用于要求紧密结合源和测量的测试应用。全部数字源表型号都提供精密电压源和电 流源以及测量功能。每款数字源表既是高度稳定的直流 电源也是真仪器级的6位半万用表。此电源的特性包括 低噪声、精密和回读。此万用表的功能包括…

容斥 C. Strange Function改编题

补题&#xff1a; 题目详情 - 9.段坤爱取模%%% - SUSTOJ 本题或许是参考 Problem - C - Codeforces 根据题意&#xff0c;f(i)就是不能被整除的最小的一个质因子。 打表发现&#xff0c;当15个质因子相乘后&#xff0c;长度就大于18。 因此可以知道小于等于1e16内的正整数x…

rviz是如何获取图像里选择的点云的3D坐标的

以前以为rviz是用OpenGL渲染绘图&#xff0c;那么获取图像里像素点对应的真实3D坐标是采用的OpenGL里提供的API实现的&#xff0c;结果一看代码还真不是这样&#xff0c;rviz也就渲染用了OpenGL&#xff0c;其他都是自己实现的&#xff0c;图像界面的实现完全是遵循MVC设计模式…

LeetCode100122. Separate Black and White Balls

文章目录 一、题目二、题解 一、题目 There are n balls on a table, each ball has a color black or white. You are given a 0-indexed binary string s of length n, where 1 and 0 represent black and white balls, respectively. In each step, you can choose two a…

C++ 输入输出优化

对比广大博客之后总结如下。 有些题目强制要求在线&#xff0c;输出需要flush&#xff0c;那么这里输出只用cout&#xff0c;cout<<endl。 只开ios优化&#xff0c;不开cin.tie和cout.tie。 read()快读 输入整数。 inline int read(){int x0;char cgetchar();while(c…

4本期刊被踢!11月SCI/SSCI目录已更新

​2023年11月20日&#xff0c;科睿唯安更新了Web of Science核心期刊目录。 此次更新后SCIE期刊目录共包含9481本期刊&#xff0c;SSCI期刊目录共包含3551本期刊。此次SCIE & SSCI期刊目录更新&#xff0c;与上次更新&#xff08;2023年10月&#xff09;相比&#xff0c;共…

git进阶使用《多账号管理》

git 多账号管理 解决问题&#xff1a;同一台电脑&#xff0c;N 个 github 账号同时存在&#xff0c;需要对应 N 个 github 账号的 SSH key 1、运行 git Bash 客户端&#xff0c;输入如下代码&#xff1a; $ cd ~/.ssh $ ls2、创建一个 SSH key $ ssh-keygen -t rsa -C "…

模拟shell小程序

接下来利用我们当前的知识&#xff0c;撰写一个简单的shell外壳程序。 1.shell原理 shell的原理是实际上就是运行了一个父进程&#xff0c;然后创建出子进程&#xff0c;最后使用进程替换调用&#xff0c;替换成其他程序。 2.shell实现 2.1.死循环 首先一个shell一旦运行起…

解决Spring Cloud整合Nacos与Gateway的探险之旅

&#x1f38f;&#xff1a;你只管努力&#xff0c;剩下的交给时间 &#x1f3e0; &#xff1a;小破站 解决Spring Cloud整合Nacos与Gateway的探险之旅&#xff08;报错汇总&#xff09; 前言Caused by: com.alibaba.nacos.shaded.io.grpc.netty.shaded.io.netty.channel.Abstra…

PixCake:让你的照片焕发新生的AI人像处理技术修图软件

大家好&#xff01;今天我要向大家推荐一款令人惊艳的AI人像处理技术修图软件——PixCake像素蛋糕。无论你是摄影爱好者还是普通用户&#xff0c;PixCake都能帮助你将照片修饰得更加出色、生动。 PixCake拥有强大的AI人像处理技术&#xff0c;可以自动识别照片中的人物&#x…

建筑可视化中的 3D 纹理

在线工具推荐&#xff1a; 三维数字孪生场景工具 - GLTF/GLB在线编辑器 - Three.js AI自动纹理化开发 - YOLO 虚幻合成数据生成器 - 3D模型在线转换 - 3D模型预览图生成服务 1、什么是 3D 纹理&#xff1f; 纹理是将二维图像添加到三维模型的技术艺术。虽然对物体进行纹…

Linux安装Mysql详细教程(两种安装方法)

Linux之Mysql安装配置 第一种&#xff1a;Linux离线安装Mysql&#xff08;提前手动下载好tar.gz包&#xff09;第二种&#xff1a;通过yum安装配置Mysql&#xff08;服务器有网络&#xff09; 第一种&#xff1a;tar.gz包安装 1、 查看是否已经安装 Mysql rpm -qa | grep m…

计算机网络的标准化工作及相关组织

一、国际化组织 计算机网络的标准化工作由一些主要的组织来进行管理和推动。以下是几个主要的计算机网络标准化的国际组织及其相关的标准&#xff1a; 1. 国际标准化组织&#xff08;ISO&#xff09;&#xff1a;国际标准化组织负责制定各种行业的标准&#xff0c;包括计算机…

为什么游戏公司选择物理服务器

为什么游戏公司选择物理服务器 1、选择的自由 选择游戏物理服务器可让我们根据需要自由选择和配置硬件。在完成设置和配置新获得的游戏服务器的所有艰苦工作后&#xff0c;请始终查看我们获得的价格&#xff0c;以确保自己拥有足够的带宽资源、端口容量和CPU核心&#xff0c;以…

JVM线程的几种状态

1.New 新建的线程&#xff0c;线程还没启动。 2.Runnable 线程正在运行或者等待操作系统中的其他资源&#xff0c;例如线程运行过程中&#xff0c;系统分配资源给其他操作&#xff0c;此时这个线程还是Runnable状态&#xff0c;可以理解为可运行的线程。 3.Blocked 阻塞状…