15、Datalog 中的多态性与元模型中的继承

Datalog 中的多态性与元模型中的继承

在数据库领域,Datalog 语言凭借其简单性、声明性,以及能将描述问题的“规则”与实现解决方案的引擎分离的特性,在众多实验和研究项目中得到了广泛应用。然而,随着数据模型的不断发展和复杂化,传统 Datalog 在处理一些问题时显得力不从心。本文将探讨如何通过引入继承和多态性来扩展 Datalog,以提高其在模型管理中的有效性和规则的可重用性。

1. 相关工作

早在 80 年代初,就有人提出将多态性、类型和继承等概念引入逻辑和基于规则的系统。近年来,许多方法借鉴了面向对象编程的理论和方法,提出了多种处理方法、类型、覆盖和多重继承的技术。
- Gulog :一种演绎式面向对象逻辑语言,可将其程序转换为带否定的 Datalog 程序。
- Datalogmeth :扩展了 Datalog,增加了类和方法,其程序也可转换为带否定的 Datalog 程序。
- SelfLog :一种模块化逻辑编程,具有非单调继承特性。在此基础上扩展的 Datalog 增加了继承,有明确的类优先级规则,可重写为带额外谓词的 Datalog 程序。
- Datalog++ :扩展了 Datalog,包含类、对象、签名、is - a 关系、方法和带覆盖的继承,其程序可重写为带否定的 Datalog 程序。
- f - logic :具有多态类型、类和子类,可区分结构继承和行为继承,并提供了三种处理行为继承覆盖的方法。

与上述方法不

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值