我想编写一个使用 Prolog 查询 RDF 三元组的 Python Web 应用程序。我发现pyswip用于将 Python 与 SWI-Prolog 连接起来,我目前正在研究 SWI-Prolog 的 RDF 功能。我想知道是否有人以前尝试过这个——如果有人尝试过:你的设置是什么样的?你如何让 pyswip 与 SWI-Prolog 语义网络库一起工作?或者是否有另一个 Python-Prolog 接口可以让这更容易?
编辑:
我实际上找到了一个非常好的解决方案。我之前使用 AllegroGraph 3.3 Python API 对 RDF 数据进行 Prolog 查询,但我认为他们对 Allegro Common Lisp 的 Prolog 扩展有点缺乏,因为它缺少诸如数字比较运算符之类的东西。从那以后,我尝试了 AllegroGraph 4.6,我发现他们的 Prolog 扩展中缺少的任何东西都可以通过以下事实来弥补:您可以使用lisp
转义函子编写 Allegro Common Lisp 表达式来处理您需要做的任何事情由 Prolog 扩展提供。由于某种原因,当我使用 AllegroGraph 3.3 Python API 时没有定义这个函子,但显然 Allegro 的开发人员从那时起已经走了很长一段路。
我建议任何想要构建一个使用 Prolog 查询 RDF 数据的 Python Web 应用程序的人。它超级快速且超级强大。