【问题标题】:Can SWI Prolog program get its facts from the external database?SWI Prolog 程序可以从外部数据库中获取其事实吗?
【发布时间】:2017-12-27 18:41:28
【问题描述】:

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

【问题讨论】:

  • 您没有查看手册?有Berkeley DBODBC 和其他一些选项的绑定。但我同意其他发帖者的观点,即 30k lex 条目听起来并不多。

标签: database prolog swi-prolog tinkerpop


【解决方案1】:

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

直接的方法是使用 sockets管道 与外部数据库进行通信。

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

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

除此之外,包含 30,000 个条目的数据库什么都没有,因此您很可能只需使用 Prolog 事实 并完全保留在 Prolog 中,而无需任何外部依赖。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-01
    • 2017-02-14
    • 1970-01-01
    • 2016-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多