Google在GitHub发布了演绎数据库(Deductive Database)程序开发语言Mangle,官方提到,Mangle是Datalog的扩展,具有聚合、函数调用和可选类别检查等各种额外功能。Datalog本身是一种查询语言,专门设计来操作大型关系型数据库,由于Datalog和SQL一样,就仅是一个规范,因此像是bddbddb、DES和OverLog都是Datalog语法实例。
演绎数据库是一种数据库系统,能够根据存储在数据库中的规则和事实进行演绎,也就是经过计算之后获得额外的事实,并且可对领域知识建模。通常用于演绎数据库的语言是Datalog,以指定事实、规则和查询,是一种类似关系演算(Relational Calculus)的表达性声明语言,但与关系演算不同,Datalog还直接支持递归规则和程序结构。
Mangle包含Datalog,但同时添加实用的聚合、函数调用和可选类别检查等扩展功能,来增加Mangle可以适用的场景。官方提到,开源Mangle可供开发人员方便取用,并且有助于简单地进行实验。目前这个存储库包含实例Mangle的Go函数库,能够被简单地嵌入到应用程序中,另外,虽然这个GitHub Mangle存储库在Google组织之下,但并没有受到正式支持。
领取专属 10元无门槛券
私享最新 技术干货