gpt4 book ai didi

prolog - 使用 rdf_load 的 prolog 中的 source_sink 错误

转载 作者:行者123 更新时间:2023-12-01 02:21:43 25 4
gpt4 key购买 nike

我想从这个规则加载 rdf url:

getActorFilms(Actor_Name,Films):-
my_replace(Actor_Name, ' ', '_', Correct_Syntax_Of_Actor_Name),
string_concat('http://dbpedia.org/data/',Correct_Syntax_Of_Actor_Name, URL_TO_LOAD),
string_concat(URL_TO_LOAD,'.rdf',RDF_URL),
rdf_load(RDF_URL),
rdf(Films, 'http://dbpedia.org/ontology/starring', Object)
.

当输入是例如例如“休· jack 曼”
它告诉错误:
ERROR: [Thread pdt_console_client_0_Default Process] source_sink `http://dbpedia.org/data/Hugh_Jackman.rdf' does not exist

我真的很关心 ` http 和 source_sink 之间的字符
我觉得应该是 '尽管 url 是正确的,那么如何处理该错误?

最佳答案

您应该将一个原子传递给 rdf_load ,不是字符串。这种行为(误导性错误消息,不接受字符串)可能是一个错误。

这对我有用:

?- use_module(library('semweb/rdf_db')).
true.

?- use_module(library('semweb/rdf_http_plugin')).
true.

?- rdf_load('http://dbpedia.org/data/Hugh_Jackman.rdf').
% Parsed "http://dbpedia.org/data/Hugh_Jackman.rdf" in 0.02 sec; 371 triples
true.

?- string_to_atom(S, 'http://dbpedia.org/data/Hugh_Jackman.rdf'), rdf_load(S).
ERROR: source_sink `http://dbpedia.org/data/Hugh_Jackman.rdf' does not exist

我希望这能解决你的问题。

关于prolog - 使用 rdf_load 的 prolog 中的 source_sink 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19970544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com