2017-12-27 1725 views
3

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

+3

您没有检查手册?有[Berkeley DB](http://www.swi-prolog.org/pldoc/doc_for?object=section(%27packages/bdb4pl.html%27)),[ODBC](http:// www。 swi-prolog.org/pldoc/doc_for?object=section(%27packages/odbc.html%27))和其他一些选项。但我同意其他海报30k lex条目听起来不太像。 –

回答

5

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

甲直接方法是使用插座与外部数据库进行通信。

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

另一种方法是使用CQL,高层次约束界面,融合了自然中与Prolog的 代码。

除此之外,有30   000个条目的数据库是什么,所以你可以很容易简单地使用Prolog的 事实和 序言中完全入住,无需任何外部的依赖。