是否存在用于回答一般 Prolog 查询的 JSON-RPC 服务器?

Posted

技术标签:

【中文标题】是否存在用于回答一般 Prolog 查询的 JSON-RPC 服务器?【英文标题】:Does a JSON-RPC server exist for answering general Prolog queries? 【发布时间】:2012-08-16 21:01:46 【问题描述】:

我看到tutorial 为 SWI-Prolog 编写 JSON-RPC 服务器。不幸的是,它所做的只是添加两个数字。我想知道是否存在用于 SWI-Prolog 的 RPC 服务器,它可以定义新规则并回答一般 Prolog 查询、返回 JSON 列表等?

【问题讨论】:

【参考方案1】:

当您自豪地在 SWI-Prolog website 上进行游览时,您可以在工作中看到 http package 提供的一些功能。

这是一个相当大范围的工具,要掌握系统的基本知识,最简单的方法是按照特定的How to部分,一步一步来。 LOD Crawler 中有一个你应该注意的小错误:在 lod.pl 的第 42 行添加一个选项:

...
    ;   rdf_load(URI2, [format(xml)]),
....

否则你可能会得到

内部服务器错误

域错误:content_type' expected, found text/xml;charset=UTF-8'

运行示例时。

IDE 的一个重要特性是能够调试 HTTP 请求。

完成 HowTo 后,您可以查看 Cliopatria,它专门用于将 RDF 连接到 html。它带有pirates demo,我必须说我觉得它对我的口味来说有点太“粗鲁”了,而且我不知道 YUI,用于获奖的MultimediaN 项目。然后我使用Bootstrap 获得了前端的现代外观,并取得了可观的效果(很抱歉我还不能发布它,需要更多时间来设计系统)。

HTH

【讨论】:

我试用了 Cliopatria,但我发现用户界面只允许 SPARQL 和 SeRQL 查询。我不知道如何发出 Prolog 查询和定义新规则。 在响应 http 请求时隐式使用 Prolog 查询:参见 library(http/http_parameter) 和 http_handler。 How To 'demo' 很好地涵盖了基本用法

以上是关于是否存在用于回答一般 Prolog 查询的 JSON-RPC 服务器?的主要内容,如果未能解决你的问题,请参考以下文章

在 Prolog 中进行量化的 ZDD

Prolog 箭头运算符

使用Prolog规则在查询中显示给定列表的第一个元素?

谓词用于返回prolog中给定列表的元素顺序的排列

如何在PHP中使用Prolog?

Prolog 程序的复杂性?