2013-05-02 138 views
1

这将是一个相当奇迹,如果有人可以用下面的帮助......获取SWI-Prolog的字面转换为数字

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

ERROR:atom_number/2:类型错误:原子“预计,找到[字面(500000)”

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

回答

2

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

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

你是最棒的!非常感谢。 – user2035965 2013-05-03 03:22:27