siping@b.cs.wvu.wvnet.edu (Siping Liu) (01/14/89)
As we know, we should distinguish between "defaults" and "truth" when trying to inherent something through "isa" relation in frame-based representation. I only know there is a system called ZERO in Japan which can do it. Can someone tell the systems in US which can do the similar thing ? Can KEE do it ? Thanks in advance. P.S. to make my point clearer, here is an example. bird: can_fly: "TRUE" | |isa | penguin : can_fly: "FALSE" {here "can_fly" should be treated as default value and not inherented in penguin since it has local value.} human: sports: "tennis" "swim" | |isa | man: sports: "boxing" {here "sports" describes truth without exception. "man" should inherent it from human even they have their exclusive sports.}
apl_aimh@jhunix.HCF.JHU.EDU (Marty Hall) (01/17/89)
In article <252@h.cs.wvu.wvnet.edu> siping@b.cs.wvu.wvnet.edu (Siping Liu) writes: > [Asks re distinguishing inherited from local values, asks if KEE > has this capability] > > P.S. to make my point clearer, here is an example. > > bird: can_fly: "TRUE" > |isa > penguin : can_fly: "FALSE" > >{here "can_fly" should be treated as default value and not inherited in > penguin since it has local value.} All the frame systems that I'm familiar with (ART, KEE, KnowledgeCraft, CLOS/Loops, Flavors, etc) have the capability to have local values override inherited ones. Is that what you were asking? > human: sports: "tennis" "swim" > |isa > man: sports: "boxing" > >{here "sports" describes truth without exception. "man" should inherit > it from human even they have their exclusive sports.} KEE has the ability to specify different inheritance roles for different slots. The default is "Override.values", which would apply in your "Tweety is a bird" example. One of the others is "union", which might apply in your second example: combining values but not repeating any ones they have in common. There are a bunch of other options as well, plus you can specify that inheritance will be controlled by a method that you write yourself. I don't recall ART too well, but I think it would at least allow combining inherited values as well as the default of overriding the inherited with the local. KnowledgeCraft has this type of capability as well and is even more flexible than KEE in allowing user-defined inheritance roles. Hope that was helpful- - Marty Hall