1

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

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

错误:atom_number/2:类型错误:atom' 预期,找到 [literal(500000)]'

任何线索将不胜感激。谢谢。

4

1 回答 1

2

只需使用统一来获取数字。例如

?- [literal(500000)] = [literal(N)].
N = 500000.
于 2013-05-02T22:04:18.553 回答