AllegroGraph检查现有的三联

时间:2012-02-01 12:41:07

标签: prolog allegrograph

我正在使用AllegroGraph 4.我有一个三重商店,我正在尝试添加新的三元组,只有它们尚不存在。

这是我的Prolog查询:

(select (?news) (alfas ?news) (a-- ?news !tst:has-annotation !tst:Test)))

alfas检查条件(工作正常),a--定义如下:

(<-- (a-- ?s ?p ?o)
;; Fails unless all parts ground.
(lisp (not (triple-exists-p ?s ?p ?o)))
(lisp (add-triple ?s ?p ?o)))

我也尝试过像这样定义:

(<-- (a-- ?s ?p ?o)
;; Fails unless all parts ground.
(lisp (not (get-triple :s ?s :p ?p :o ?o)))
(lisp (add-triple ?s ?p ?o)))

但无论如何,无论是否已经存在,都会添加三联。为什么呢?

0 个答案:

没有答案