SWI Prolog程序可以从外部数据库获取其事实吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SWI Prolog程序可以从外部数据库获取其事实吗?相关的知识,希望对你有一定的参考价值。

我正在计划SWI Prolog程序(语义自然语言解析器),它具有庞大而动态的事实集(具有大约30.000个条目的词典)。是否可以将这些事实存储在外部数据库中。由于其他要求,我正在考虑Apache TinkerPop / JanusGraph / Cassandra作为我的数据库,但我也对SQL / JDBC / ODBC数据库支持感到满意。

答案

是的,这当然是可能的,甚至可以通过几种不同的方法:

一种直接的方法是使用套接字或管道与外部数据库进行通信。

另一种方法是使用SWI-Prolog的C接口和外部数据库的API。

另一种方法是使用CQL,一种高级约束接口,自然地与Prolog代码混合。

除此之外,一个有30 000个条目的数据库什么都不是,所以你很可能只是简单地使用Prolog事实并完全保留在Prolog中,没有任何外部依赖。

以上是关于SWI Prolog程序可以从外部数据库获取其事实吗?的主要内容,如果未能解决你的问题,请参考以下文章

使用 SWI 序言

Prolog 事实中的存在量化

从 PHP 调用 swi-prolog 时出现编码问题

在 SWI-Prolog 中,在 OWL 本体上执行 SPARQL 查询

无法使用 GNU-Emacs 在 SWI-Prolog 上编辑“Prolog 程序名称”(尝试设置劣质 Prolog 进程)

SWI-Prolog 写入文件