System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 图形和关系数据的统一查询引擎制造技术_技高网

图形和关系数据的统一查询引擎制造技术

技术编号:41745819 阅读:2 留言:0更新日期:2024-06-21 21:32
本公开尤其涉及一种由查询引擎对包括关系数据和图形数据的数据库进行查询的计算机实现方法。所述方法包括由查询引擎接收查询,所述查询采用与一阶逻辑范例兼容的语言。所述方法还包括生成中间表示,所述中间表示与一阶逻辑范例兼容。所述方法还包括使用所述查询的中间表示来对所述数据库的关系数据和图形数据执行查询。

【技术实现步骤摘要】

本公开涉及计算机程序和系统领域,并且更具体地,涉及一种由查询引擎对包括关系数据和图形数据的数据库进行查询的方法、系统和程序。


技术介绍

1、市场上提供了许多用于对象的设计、工程和制造的系统和程序。cad是计算机辅助设计(computer-aided design)的首字母缩写,例如,cad涉及设计对象的软件解决方案。cae是计算机辅助工程(computer-aided engineering)的首字母缩写,例如,cae涉及模拟未来产品物理行为的软件解决方案。cam是计算机辅助制造(computer-aidedmanufacturing)的首字母缩写,例如,cam涉及定义制造过程和操作的软件解决方案。在这样的计算机辅助设计系统中,图形用户界面在技术效率方面起着重要的作用。这些技术可以嵌入产品生命周期管理(product lifecycle management,plm)系统中。plm指的是一种商业战略,其帮助公司共享产品数据,应用通用流程,并利用公司知识来开发产品,从概念到生命周期结束,跨越扩展企业的概念。达索系统公司(dassault systèmes)提供的plm解决方案(商标为catia、enovia和delmia)提供了一个组织产品工程知识的工程中心、一个管理制造工程知识的制造中心和一个使企业能够集成和连接到工程和制造中心的企业中心。以上系统共同提供了一个开放的对象模型,将产品、流程和资源联系起来,以实现动态的、基于知识的产品创建和决策支持,从而驱动优化的产品定义、制造准备、生产和服务。

2、此外,提供了许多用于数据库管理的系统,用于将上述设计系统和程序应用于存储器内数据库,即,与将数据存储在磁盘或ssd上的数据库相比,存储器内数据库主要依赖于存储器进行数据存储的专用数据库。这种数据库管理系统(database managementsystem,dbms)包括两个主要类别,关系数据库管理系统(relational databasemanagement system,rdbms)和那些被称为图形数据库管理系统(graph databasemanagement system,gdbmss)的系统,这两种系统分别使用图形和关系作为核心数据结构来建模应用数据。

3、rdbms和gdbms具有可能吸引用户的互补能力。例如,与图形不同,关系模型并不局限于二元关系,并且很容易对实体之间的n元关系进行建模。同时,关系模型要求数据的严格模式化,而图形模型通常是半结构化的,并提供更灵活的数据建模和数据存储(例如,存储稀疏数据)。另一方面,虽然sql非常适合于表达标准的数据分析任务,但是gdbms的语言包含用于表达具有递归连接的查询的专用语法。此外,图形模型在包含许多递归和多对多连接的图形工作负载上具有更好的性能。

4、由于gdbms和rsbms各自的优缺点,已经有一些统一查询方法的解决方案和方法被提出。

5、dewitt等人在文档“多数据库中的拆分查询处理”(2013年,acm sigmod数据管理国际会议论文集,2013.第1255-1266页)中介绍了多数据库(polybase),这是sql serverpdw v2的一项功能,允许用户使用标准的sql查询操作符对存储在hadoop集群中的数据进行管理和查询——hdfs驻留的数据由pdw查询优化器转换为mapreduce作业,然后在hadoop集群上执行。

6、grulich等人在文档“babelfish:多语言查询的高效执行”(vldb基金会会议录,2021年,第15卷,第2号,第196-210页)中介绍了babelfish,它是一个为多语言查询设计的数据处理引擎。babelfish引入了一种中间表示,统一了来自不同实现语言的查询。

7、金等在“graindb:一个关系-核心图-关系数据库管理系统”(第12届创新数据系统研究年会(cidr'22)的会议录202)中演示了graindb,这是一个扩展duckdb rdbms以提供图形建模、查询和可视化功能的系统。此外,graindb修改了duckdb的内部,以提供一组快速连接功能,例如使用系统级记录id(rid)和类似邻接表的rid索引的预定义的基于指针的连接,从而使duckdb在图形工作负载上更高效。

8、rdfox(https://www.oxfordsemantic.tech/)公开了一种主存、可伸缩的集中式数据存储,允许用户管理根据rdf数据模型表示的图形结构数据,并使用sparql 1.1查询语言查询该数据。rdfox可以连接外部源,如postgresql或odbc(https://en.wikipedia.org/wiki/open_database_connectivity)。

9、在这种情况下,仍然需要一种用于由查询引擎对包括关系数据和图形数据的数据库进行查询的改进方法。


技术实现思路

1、因此,提供了一种计算机实现方法,用于由查询引擎对包括关系数据和图形数据的数据库进行查询。所述方法包括由查询引擎接收查询,所述查询采用与一阶逻辑范例兼容的语言。所述方法还包括生成中间表示ir,所述中间表示与一阶逻辑范例兼容。所述方法还包括使用所述查询的中间表示来对所述数据库的关系数据和图形数据执行查询。

2、所述方法可以包括以下一项或多项:

3、-若所述查询是sparql查询,则生成的所述中间表示被翻译成所述sparql查询的一阶逻辑的谓词演算;

4、-若所述查询是sql查询,则生成的所述中间表示被翻译成所述sql查询的一阶逻辑的谓词演算;

5、-所述数据库的关系数据包括一个或多个表格,所述数据库的图形数据包括一个或多个邻接矩阵。

6、-所述查询是第一sql查询,且使用所述查询的中间表示来对所述数据库的图形数据执行查询包括:对所述数据库的图形数据执行sparql选择查询,从而输出元组,-创建已执行查询的物化视图;以及对创建的所述物化视图执行所述第一sql查询。

7、-所述方法还包括:接收第二sql查询,其中,所述第二sql查询的执行基于针对所述第一sql查询所创建的所述物化视图;

8、-创建所述物化视图包括创建表格,其中所述表格的行与所述元组相关联;以及所述表格的列与所述查询的各个变量相关联;和/或

9、-生成的所述中间表示包括具有至少一个输入的至少一个第一查找操作符,所述方法还包括:通过用第二查找操作符替换所述第一查找操作符来更新生成的所述中间表示,所述第二查找操作符被配置为当所述输入为空时返回未定义的值。

10、接收的所述查询可以具有至少一个sparql或sql的join子句,生成的所述中间表示用以下类型的巴克斯-诺尔形式bnf语法来描述:

11、

12、接收的所述查询可以具有sparql或sql的from子句,生成的所述中间表示用以下类型的巴克斯-诺尔形式bnf语法来描述:

13本文档来自技高网...

【技术保护点】

1.一种由查询引擎对包括关系数据和图形数据的数据库进行查询的计算机实现方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其中,

3.根据权利要求1至2中任一项所述的方法,其中,所述查询是第一SQL查询,所述使用所述查询的中间表示来对所述数据库的图形数据执行所述查询包括:

4.根据权利要求3所述的方法,其中,所述方法还包括:

5.根据权利要求3或4所述的方法,其中,所述创建所述物化视图包括:创建表格,其中,

6.根据权利要求1至5中任一项所述的方法,其中,接收的所述查询具有至少一个SPARQL或SQL的JOIN子句,生成的所述中间表示用以下类型的巴克斯-诺尔形式BNF语法来描述:

7.根据权利要求1至6中任一项所述的方法,其中,接收的所述查询具有SPARQL或SQL的FROM子句,生成的所述中间表示用以下类型的BNF语法来描述:

8.根据权利要求7所述的方法,其中,所述FROM子句包括AS子句,生成的所述中间表示用以下类型的BNF语法来描述:

9.根据权利要求1至8中任一项所述的方法,其中,接收的所述查询在SPARQL或SQL中具有WHERE子句,生成的所述中间表示用以下类型的BNF语法来描述:

10.根据权利要求1至9中任一项所述的方法,其中,生成的所述中间表示包括具有至少一个输入的至少一个第一查找操作符,所述方法还包括:

11.一种计算机程序,其特征在于,包括用于执行根据权利要求1至10中任一项所述的方法的指令。

12.一种计算机可读存储介质,其特征在于,其上记录有根据权利要求11所述的计算机程序。

13.一种系统,其特征在于,包括耦合到存储器的处理器,所述存储器上记录有根据权利要求11所述的计算机程序。

...

【技术特征摘要】

1.一种由查询引擎对包括关系数据和图形数据的数据库进行查询的计算机实现方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其中,

3.根据权利要求1至2中任一项所述的方法,其中,所述查询是第一sql查询,所述使用所述查询的中间表示来对所述数据库的图形数据执行所述查询包括:

4.根据权利要求3所述的方法,其中,所述方法还包括:

5.根据权利要求3或4所述的方法,其中,所述创建所述物化视图包括:创建表格,其中,

6.根据权利要求1至5中任一项所述的方法,其中,接收的所述查询具有至少一个sparql或sql的join子句,生成的所述中间表示用以下类型的巴克斯-诺尔形式bnf语法来描述:

7.根据权利要求1至6中任一项所述的方法,其中,接收的所述查询具有sparql或sql的from子句,生成的所述中间表示用...

【专利技术属性】
技术研发人员:JP·萨胡特迪扎恩F·拉巴特A·鲁奥利尔E·瓦莱格莱尼斯
申请(专利权)人:达索系统公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1