尝试使用swi-prolog中的semweb软件包将rdf三元组保存到文件中,但是不断出现错误,并且三元组没有正确保存。
以下小代码显示了Ubuntu Bionic上swi-prolog版本7.6.4的问题。
PS:请忽略“ rdf:xyz”谓词,因为我倾向于使用它而不需要添加新的前缀
:- use_module(library(semweb/rdf_db)).
assert_test :-
rdf_bnode(Node),
rdf_assert(Node, rdf:xyz, literal(type(xsd:string, "foobar"))),
rdf_save('foo.xml').
我收到以下错误(仅显示顶行):
ERROR: Unknown error term: save_attribute_value("foobar")
ERROR: In:
ERROR: [25] throw(error(save_attribute_value("foobar"),_980))
.
.
.
文件已创建,但没有完整的三元组。
一个有趣的旁注,如果我使用rdf_save_turtle
而不是,它会起作用rdf_save
。任何帮助表示赞赏。
基于我对文档的第一眼,我认为您应该尝试传递一个原子而不是Prolog字符串,即
rdf_assert(Node, rdf:xyz, literal(type(xsd:string, foobar)))
或者使用justliteral(foobar)
或literal(lang(en, foobar))
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句