SWI Prolog semweb数据库';s rdf谓词不提供任何内容

SWI Prolog semweb数据库';s rdf谓词不提供任何内容,rdf,swi-prolog,Rdf,Swi Prolog,在Ubuntu中使用SWI Prolog(多线程,64位,5.10.4版),我试图 rdf是rdf/3谓词的三倍,遵循其中一个教程(实际上是所有教程) 告诉我同样的道理,但下面的例子是按照(的思路)。然而,尽管其他谓词似乎工作得很好,rdf/3却什么也没有给出: ?- [library(semweb/rdf_db)]. ... true ?- [library(semweb/rdf_http_plugin)]. ... true ?- rdf_load('http://dbpedia.org/r

在Ubuntu中使用SWI Prolog(多线程,64位,5.10.4版),我试图 rdf是rdf/3谓词的三倍,遵循其中一个教程(实际上是所有教程) 告诉我同样的道理,但下面的例子是按照(的思路)。然而,尽管其他谓词似乎工作得很好,rdf/3却什么也没有给出:

?- [library(semweb/rdf_db)].
...
true
?- [library(semweb/rdf_http_plugin)].
...
true
?- rdf_load('http://dbpedia.org/resource/Amsterdam').
% Parsed "http://dbpedia.org/resource/Amsterdam" in 0.32 sec; 4,194 triples
true.

?- rdf(S, P, O).
false.
?- rdf_graph(G).
G = 'http://dbpedia.org/resource/Amsterdam'.
有一两次我得到了S的结果,如果我给p和O加上常数(但我忘了怎么做)。我不确定,这是我的swipl版本中的一个bug,还是我忘记了一些重要或琐碎的东西。Prolog和库是从标准的Ubuntu12.10Repo安装的


(我没有为semweb库运行任何测试,因为我不知道如何运行,因为我不是每天都用Prolog编程)

我使用的是从源代码安装的SWI Prolog,我可以在您的示例后看到三元组。
然后您可能需要升级您的版本。

我总是尝试命名正在加载三元组的图形,然后在
rdf/4
函数中使用该名称。这对我来说很有效,并明确了您要查询的图形。例如:

?- rdf_load('http://dbpedia.org/resource/Amsterdam', [graph('amsterdam')]).
% Parsed "http://dbpedia.org/resource/Amsterdam" in 0.19 sec; 5,120 triples
true.

?- rdf_statistics(triples_by_graph(Graph, Triples)).
Graph = amsterdam,
Triples = 5120.

?- rdf(S, P, O, 'amsterdam').
S = 'http://dbpedia.org/resource/Cornelis_Pronk',
P = 'http://dbpedia.org/property/placeOfBirth',
O = 'http://dbpedia.org/resource/Amsterdam' .

也许你需要升级你的版本,我在你的例子后看到了三元组…请写一个答案,这样我就可以正确地确认你的输入了。L:我已经升级了(使用gdebi和deb作为SWI Prolog(多线程,64位,版本6.2.5)),现在我也看到了这些三元组。谢谢