在logicblox的新版本(4.2.1之后的任何版本)中,如果有谓词"Person(p),hasPNr(p:n) -> int(N)“。我插入一个数据"+Person(p),+hasPNrp=1。“如果我想通过“-Person(1)”删除数据。将有一条警告消息“警告:表达式'1‘有类型'int',但需要一个'Person’类型的值。编译器插入了谓词'hasPNr‘的用法,以允许代码编译。”在没有此消息的情况下,如何删除数据?
发布于 2015-07-20 20:12:40
你可以通过以下方式删除:
-Person(n) <- Person:hasPNr@prev(n, 1).您可能也应该修改插入的方式。编译器中将"1“转换为"Person”的特性称为“”。这个特性实际上被删除了,因为它经常造成混乱(在您的例子中已经是:),所以插入时不需要转换模式:
+Person(n), +Person:hasPnr(n, 1).https://stackoverflow.com/questions/31524817
复制相似问题