Organize property and ISA knowledge by subject concept rather than independent triples, in a frame hierarchy.
Triples | Frames |
---|---|
(bird isa animal) (bird can-fly yes) (canary isa bird) (canary color yellow)) (tweety isa canary) | (bird (animal) (can-fly yes)) (canary (bird) (color yellow)) (tweety (canary)) |
(eat-event (event) (actor animal) (object food)) (eat-event-1 (eat-event) (actor clyde-1) (object peanuts-1)) (clyde-1 (elephant)) (peanuts-1 (peanuts)) ...
(causal () (antecedent event) (consequent event)) (causal-1 (causal) (antecedent eat-event-1) (consequent ill-state-1)) (event-1 (eat-event) (actor clyde-1) (object peanuts-1)) (ill-state-1 (ill-state) (actor clyde-1)) (clyde-1 (elephant)) (peanuts-1 (peanuts)) ...
Non-monotonic defaults: Birds can fly but penguins can not.
Pre-calculate linearizations for all concepts in frame hieararchy.
Much more efficient in a frame hierarchy than a triple store.
Given two (or more) similar frames, form a new frame to be an immediate abstraction of them.
Does a frame with properties and ISAs (partially) match another frame?
Recognition: I see a small yellow bird. Canary?
Analogy/Case-based Reasoning: If Tweety eats peanuts, will Tweety get sick like Clyde?