3

Ubuntu の SWI-Prolog (マルチスレッド、64 ビット、バージョン 5.10.4) を使用して、チュートリアルの 1 つに従って、rdf/3 述語から rdf トリプルを取得しようとしています (実際には、それらのすべてが同じことを教えてくれます。ただし、以下の例はhttp://cliopatria.swi-prolog.org/tutorial/Parsia/の行に沿っています)。ただし、他の述語はうまく機能しているように見えますが、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'.

P と O に定数を入れると、1 回か 2 回、S の結果が得られました (ただし、方法を忘れてしまいました)。私のバージョンの swipl のバグなのか、何か重要なことや些細なことを忘れてしまったのか、よくわかりません。Prolog とライブラリは、標準の Ubuntu 12.10 リポジトリからインストールされました。

(毎日 Prolog でプログラミングするわけではないので、やり方がわからないので、semweb ライブラリのテストは実行していません)

4

2 に答える 2

1

ソースからインストールされた SWI-Prolog を使用しています。例の後にトリプルが表示されます。次に、おそらくバージョンをアップグレードする必要があります。

于 2013-01-13T16:36:37.793 に答える