我在Jess
中使用Protege
,并在def template Person
中创建了slots (name, age and adress),
,并创建了另一个def template
第一个带有附加插槽(性别)的插槽,现在我想删除第一个插槽并用新插槽替换它,并且我不想丢失实例,我希望第一个插槽的实例扩展第二个插槽, 我该怎么做 ?
谢谢
我首先尝试使用函数extends
“修改def模板的结构,但是它不起作用,然后我尝试了函数” "replace$
“但它只是修改了插槽
modify
当我尝试将函数(deftemplate Person (slot name(type string)) (slot age(type integer)) (slot adress(type string)))
(deftemplate Personne (slot name(type string)) (slot age(type integer)) (slot adress(type string)) (slot sexe (type string) ))
(assert( Person (name "Bryan") (age "25") (adress "New York")))
(assert( Person (name "Omar") (age "35") (adress "Algeria")))
(assert( Person (name "Sara") (age "30") (adress "Moroco")))
“用作规则时,我没有语法错误,语法是正确的,但是当我执行(运行)它不起作用时,则不会执行任何规则。
答案 0 :(得分:0)
在程序的一次运行中,无法自行更改实例。但是您可以将它们保存到文件中,编辑该文件,然后将其重新加载。