Hasty Briefsbeta

双语

Mangle – a language for deductive database programming

9 months ago
  • #database
  • #datalog
  • #programming-language
  • Mangle是一种用于演绎数据库编程的语言,它扩展了Datalog的功能,增加了聚合、函数调用和可选类型检查等特性。
  • 演绎数据库编程允许统一表示和查询来自多个数据源的信息,并能不受二元谓词限制地建模领域知识。
  • Datalog是一种类似SQL的声明式语言,支持递归规则和程序结构化,这些特性都被Mangle继承并扩展。
  • Mangle的扩展增强了实用性,但可能牺牲某些特性(如执行终止的保证)。
  • 这个开源项目旨在让开发者更容易理解相关概念并促进实验,其实现基于Go语言库。
  • 示例规则展示了如何查询存在漏洞的log4j版本及递归依赖检查。
  • Mangle支持n元关系和结构化数据,这对需求工程和领域建模特别有用。
  • 构建测试Mangle库需使用标准Go命令,若需重新生成解析器则要安装ANTLR工具。
  • 项目欢迎外部贡献,代码审查流程参照TensorFlow的PR审核机制。