图数据库(neo4j)在工业控制中的应用

图模型

        事物的模型中,除了它自身的某些特征之外,还包括它与其它事物的关系特征,例如一个学生的属性包括姓名,性别,年龄等属性,同时,他还有许多关系属性,比如他属于哪一个院系,那个班级,他的同学等等。

正是由于此,我们通常称的工程被定义为:

   系统是由一组实体和这些实体之间的关系所构成的集合。其功能要大于这些实体各自的功能之和。

   构建模型中强调关系的重要性,需要有一种更有效的方法来表达事物之间的关系。这就是图模型。

    图模型忽略每个事物的形状,将它们抽象成为一个“点”,点与点之间的连线描述事物之间的关系。

定义

在图模型中,模型由节点和节点之间的关系构成的。每个节点表示了一个物体的模型。它的内部包括了属性和特征。而关系表示了物件之间的相互关系。

        数学有一个分支叫做《图论》。数学家使用图可以构建事物的模型,并且提出了各种数学方法来研究图模型的规律。 

    工业领域中的OPC UA 信息模型也是基于图模型构建的。基本的节点包括对象,属性和方法,关系被称为reference。

    由此可见,OPCUA 信息模型可以转换成为通用的图模型。

在工程设计中,我们经常使用图模型来描述组件,子系统等事物的关系,例如技术讨论中的白板上绘制各种图:

转换成图模型

所以,也有人称为,图模型是“白板”友好的模型 

图模型的文本表达

结构描述语言都能够描述图模型,常见的有:

  • XML
  • JSON

图模型描述的结构包括了:

  •  节点属性-关系,例如:OPCUA 
  • RDF ,例如:知识图谱的描述

图形数据库

图形数据库是以图形模型特点存储数据的数据库,也被称为“图原生”数据库。

        图形数据库是将数据存储为网络图的 NoSQL 数据库。图形数据库与其他选项的区别在于,它们记录了数据之间的关系并对其进行了优先级排序。

        图形数据库由节点和边组成,其中节点表示特定实体,而边表示两个节点之间的连接。它们被设计为可扩展的,并提供在其他数据库中难以找到的灵活性。

图形数据库与关系数据库

        两者之间最显着的区别是,图形数据库将数据之间的关系存储为数据。关系数据库以不同的方式推断出对数据之间关系的关注点。关系焦点在数据表的列之间,而不是数据点之间。

        这两个数据库都使添加新数据变得容易。图形数据库的灵活性使得能够添加新节点和节点之间的关系,从而使其能够可靠地处理实时数据。关系数据库使在数据库运行时可以添加新的表和列。

        复杂查询在图形数据库中的运行速度通常比在关系数据库中更快。关系数据库需要对数据表进行复杂的联接才能执行复杂的查询,因此该过程没有那么快。


Neo4j 图形数据库 

 Neo4j是著名的图形数据库。

 Neo4j 以原生图形数据库为核心,以自然的连接状态存储和管理数据。 图形数据库采用属性图方法。

Neo4j 最初是一个图形数据库,现已发展成为一个拥有众多工具、应用程序和库的丰富生态系统。 该生态系统允许您将图形技术与您的工作环境无缝集成。

graphQL语言

        GraphQL是由 Facebook 在 2012 年创立的一门开源查询语言

        GraphQL 是一种用于 API 的查询语言,也是用于使用现有数据完成这些查询的运行时。GraphQL 为您的 API 中的数据提供了完整且易于理解的描述,使客户能够准确询问他们需要什么,仅此而已,使 API 随着时间的推移而更容易发展,并启用强大的开发人员工具。

GraphQL 查询不仅可以访问一个资源的属性,还可以顺利地跟踪它们之间的引用。虽然典型的 REST API 需要从多个 URL 加载,但 GraphQL API 可以在单个请求中获取应用所需的所有数据。即使在较慢的移动网络连接上,使用 GraphQL 的应用程序也可以快速运行。

Neo4j GraphQL 库是一个高度灵活、低代码的开源 JavaScript 库,通过利用连接数据的力量,为跨平台和移动应用程序实现快速 API 开发。

使用 Neo4j 作为图形数据库,GraphQL 库使应用程序可以轻松地将数据视为从前端一直到存储的原生图形。 这避免了重复的架构工作,并确保了前端和后端开发人员之间的完美集成。

图形数据库(neo4j)在工业中的应用 

         在工业自动化领域主张采用基于模型的设计。 OPCUA 就是基于信息模型的通信协议。目前大多数PLC 都具备了OPC UA 服务器,OPCUA 客户端软件能够访问OPC UA 服务器中的数据。OPCUA 信息模型同样是基于节点-关系的图模型。因此,OPCUA 信息模型与图模型具有天然的相似性。

工业网关

    可以设计一个网关,将一个或多个 OPC UA 服务器的数据更新到图形数据库中。

      在网关启动时,将 OPC UA 节点结构写入图数据库,从而将 OPC UA 服务器的基本模型镜像到图数据库中。    将 OPC UA 系统的哪些根节点(以及所有子节点)镜像到图形数据库。

        在图数据库中拥有(简化的)OPC UA信息模型后,您可以在此基础上添加自己的知识图谱数据,并创建与机器的OPC UA节点的关系,以丰富OPC UA模型的数据。

工业网关的基本架构 

实现细节

通过OPCUA Client 读取所有OPC UA服务器的信息模型,将它们转换成为neo4j图模型。 

如果在OPCUA 模型中带有Tag 那么就可以将历史数据存储在InfluxDB 时间序列数据库中。         

GraphQL 的优点是只需要一个查询就可以访问多个资源的数据。

构建模型数据库

        在工业控制系统中,需要构建各种模型数据库,它们包括OPCUA 信息模型,工业4.0 管理壳(AAS),MTP 等等,将大量的模型放置在数据库中,作为一种服务供工程设计时引用。与此同时还需要构建各种所谓的本体数据,知识库,字典。这些模型都可以在图形数据库中存储。

结束语

        有时候我在想,在工业数字化的道路上,我们一定要跟着欧洲人的各种标准兜圈子么?相比之下,我国是一个新兴的独立经济体,技术的包袱不多,IT 技术发展迅速。能否采取更加扁平化的开放自动化技术与标准体系呢?比如,选择OPCUA 作为开放自动系统的技术底座,将所有其它的技术标准和模型全部导入到OPCUA 信息模型中来,真正实现统一的模型。而不是先构建各种模型,标准,最终又转换到OPCUA 模型,一步到位难道不香么?

        标准,协议,模型的扁平化是一个有趣的话题。

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

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

相关文章

修改照片尺寸好用的工具,分享4款!

在数字时代,照片已成为我们生活的一部分,而如何调整照片尺寸以满足不同的需求,则显得至关重要。今天,我们就来探讨那些可以修改照片尺寸的工具,让你轻松应对各种尺寸需求。 茄子水印相机 这是一款功能强大、操作简单的…

MacBook有必要装清理软件吗?CleanMyMac X v4.14.6 直装特别版 附安装教程

MacBook是苹果公司的一款高端笔记本电脑,但是,随着使用时间的增长,MacBook也会出现一些问题,比如运行缓慢、卡顿、垃圾文件堆积、磁盘空间不足等。这些问题不仅影响了用户的使用体验,也可能对MacBook的寿命和安全性造成…

已经购买了阿里云服务器ECS,如何在上面部署幻兽帕鲁服务器?(一键安装非常简单)

很多人都知道阿里云可以支持一键购买并部署幻兽帕鲁服务器,不需要你进行任何配置,也不用你登录服务器,通过查看和管理计算巢面板就可以了,直接就可以开玩了。但是如果你已经有了一台阿里云服务器ECS那么该怎么去搭建幻兽帕鲁服务器…

Centos 内存和硬盘占用情况以及top作用

目录 只查看内存使用情况: 内存使用排序取前5个: 硬盘占用情况 定位占用空间最大目录 top查看cpu及内存使用信息 前言-与正文无关 生活远不止眼前的苦劳与奔波,它还充满了无数值得我们去体验和珍惜的美好事物。在这个快节奏的世界中&…

c++类继承

一、继承的规则 (1)基类成员在派生类中的访问权限不得高于继承方式中指定的权限。例如,当继承方式为protected时,那么基类成员在派生类中的访问权限最高也为protected,高于protected会降级为protected,但低…

通讯基本概念

通信的方式有多种,按数据传输方式可分为串行通讯和并行通信;按通信数据同步方式可分为同步通信和异步通信;按数据通信的方向可分为 一、串行通信和并行通信 串行通信:设备之间通过少量的数据信号线(一般是8根以下&am…

STM32 自学笔记 学习笔记 一

起源,A7,A9,M3,原来弄了A9的TQ2440,结果还得来重新熟悉下32函数JLINK使用SW方式,本来可以下载,但是一根线掉了重新上去,就出各种跟线无关问题,干脆把32断了重新接,结果就成功了&…

Linux权限【超详细】

📙 作者简介 :RO-BERRY 📗 学习方向:致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 📒 日后方向 : 偏向于CPP开发以及大数据方向,欢迎各位关注,谢谢各位的支持 目录 扩展知识&#xff1a…

初识webpack(一)概念、入口配置、输出配置、loader等

目录 (一)概念 webpack的依赖图 (二)webpack的基本使用 (三)webpack的配置文件 1.入口(entry)配置 2.输出(output)配置 (三)loader 1.css文件处理 (1)安装css-loader和style-loader (2)在webpack.config.js中配置loader 2.less文件处理 3.postcss的使用 (1)安装…

深入理解K均值算法:Python中的应用与实践

目录 写在开头1. K均值算法基础1.1 什么是K均值算法?1.2 K均值算法的工作原理1.3 算法的优势与局限性 2. K均值算法的实现步骤2.1 初始聚类中心的选择方法2.1.1 随机选择初始中心点2.1.2 K均值算法 2.2 数据点与聚类中心的距离计算2.2.1 欧氏距离计算2.2.2 曼哈顿距…

MySQL-----约束

目录​​​​​ 约束 一 主键约束 1-1 操作-添加单列主键 1-2 操作-添加多列主键 1-3 修改表结构添加主键 1-4 删除主键约束 二 自增长约束 2-1 指定自增长字段的初始值 2-2 删除自增列 三 非空约束 3-1 创建非空约束 3-2 删除非空约束 四 唯一约束…

寒假作业2月4号

第三章 类与构造函数 一.选择题 1、下列不能作为类的成员的是(B) A. 自身类对象的指针 B. 自身类对象 C. 自身类对象的引用 D. 另一个类的对象 2、假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象&am…

SpringCloud + Nacos环境下抽取Feign独立模块并支持MultipartFile

文章目录 一、前提条件和背景1. 前提2. 背景 二、Feign模块1. 依赖引入2. application.yaml配置3. 扩展支持MultipartFile4. 将media-api注册到feign 三、Media模块四、Content模块1. 引入依赖2. 启用FeignClient3. 测试 五、需要澄清的几点 一、前提条件和背景 1. 前提 已经…

Axure RP9原型设计工具使用记录:实际应用及问题记录

Axure RP9使用记录二 📚第三章 实际应用📗快速归位00坐标📗动态菜单📗填充图片📗下拉框联动📗单选框📗全局变量 ⁉️问题记录❓问题一:菜单不显示❗解决方式:调整菜单元件…

深入Spring MVC的工作流程

深入Spring MVC的工作流程 在Spring MVC的面试问题中,常常被询问到的一个问题。Spring MVC的程序中,HTTP请求是如何从开始到结束被处理的。为了研究这个问题,我们将需要深入学习一下Spring MVC框架的核心过程和工作流程。 1. 启动请求生命周…

【UE5 C++】超详细虚幻C++零基础学习教程

B站免费教程,虚幻C零基础教学入门级视频,帮助大家学习虚幻C。 视频地址:【虚幻5】UE5C零基础全网全流程开发从入门到进阶教程合集(持续跟新中)_哔哩哔哩_bilibili 课程介绍视频如下 【虚幻5】UE5C零基础全网全流程开…

[python]基于LSTR车道线实时检测onnx部署

【框架地址】 https://github.com/liuruijin17/LSTR 【LSTR算法介绍】 LSTR车道线检测算法是一种用于识别和定位车道线的计算机视觉算法。它基于图像处理和机器学习的技术,通过对道路图像进行分析和处理,提取出车道线的位置和方向等信息。 LSTR车道线…

Qt之使用Qt内置图标

一效果 二.原理 Qt内置图标封装在QStyle中,共七十多个图标,可以直接拿来用,能应付不少简单程序需求,不用自己去找图标并添加到资源文件了。 下面是内置图标的枚举定义: enum StandardPixmap {SP_TitleBarMenuButton,SP_TitleBarMinButton,SP_TitleBarMaxButton,SP_T…

PHP框架详解 - symfony框架

首先说一下为什么要写symfony框架,这个框架也属于PHP的一个框架,小编接触也是3年前,原因是小编接触Golang,发现symfony框架有PHP框架的东西也有Golang的东西,所以决定总结一下,有需要的同学可以参看小编的G…

【数据结构】链表OJ面试题(题库+解析)

前言 还不清楚链表的码喵们可以看看前篇关于链表的详解 http://t.csdnimg.cn/X6t6P 1.链表面试题 既然已经懂得了链表该如何实现,那么现在就趁热打铁开始练习!这里给码喵们整理了相对不错的一些OJ题来练习 1. 删除链表中等于给定值 val 的所有结点。 力…