获取SWI-Prolog将Literal转换为数字

时间:2013-05-02 21:41:47

标签: prolog rdf protege

如果有人可以提供以下帮助,那将是一个奇迹......

我正在使用SWI-Prolog在三元组RDF文件中执行查询。可以查询这些值,但不是仅仅是一个数字,Wordral字样显示在它们前面(例如[literal(500000)]显示值500000)。现在,当我有一个我要添加的数字列表时,问题就出现了。我尝试将这些文字转换为原子,以便Prolog可以将它们识别为数字,但会得到以下错误

错误:atom_number / 2:输入错误:原子'期望,找到[literal(500000)]'

任何线索都会受到赞赏。感谢。

1 个答案:

答案 0 :(得分:2)

只需使用统一来获取号码。例如

?- [literal(500000)] = [literal(N)].
N = 500000.