首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Datalog和LogiQL有什么区别?

Datalog和LogiQL有什么区别?
EN

Stack Overflow用户
提问于 2013-10-17 09:01:31
回答 3查看 1.7K关注 0票数 5

LogicBlox数据库是使用LogiQL语言编写的,该语言是根据其站点的某种形式的Datalog:

应用程序是使用LogiQL语言编写的,该语言是Datalog的扩展版本。

Datalog和LogiQL到底有什么区别?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-17 09:19:03

LogiQL确实是一组超级的Datalog,它添加了各种特性,包括:

  • 事务支持
  • 可以动态插入和删除事实的扩展数据库(即事实集不是“静态”的)。
  • 实体
  • 集合体
  • 更新扩展数据库的Delta逻辑
  • 脉冲谓词,其事实仅在事务的生存期内保存。
  • 模块,用于大规模应用程序开发。
  • 支持机器学习和优化

可能还有更多的我忘了。

票数 7
EN

Stack Overflow用户

发布于 2013-10-17 16:19:06

实际上,用于研究数据库理论的“学术”版的Datalog是有目的的。Datalog的每个“工业”变体都添加了自己的扩展,以支持实际应用程序的编程。除了Zef列出的内容外,其他一些LogiQL支持的特性还有

  • 有用的基元类型,如datetime、int、string --具有无穷多个值的类型
  • 对原语类型的操作,例如,获取时间的日期时间函数、解析时间、数值比较、数值函数(如加法或生成随机数)等等。所有您真正需要构建实际应用程序的东西,但是如果您从学术角度研究它,可能会使这个理论变得相当糟糕,从而被排除在Datalog的学术版本之外。
  • 构建新实体的能力
  • 否定。目前,LogiQL支持全局分层否定,这意味着如果谓词A是通过对谓词B的否定来定义的,那么谓词B的定义也不能在谓词A上临时否定。
票数 4
EN

Stack Overflow用户

发布于 2013-10-17 14:21:46

LogiQL在很大程度上是一个超级数据集。最初,它只是在LogicBlox内部被简单地称为"Datalog“。就像其他Datalog实现一样,LogicBlox风格也增加了一些独特的功能。在某种程度上,该语言变得更加广泛,并增加了许多新特性,因此决定将其重命名为"LogiQL“。但是LogiQL仍然是LogicBlox独特的风格和Datalog的超级集。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19422291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档