我正在使用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)))
但无论如何,无论是否已经存在,都会添加三联。为什么呢?