Inheritence, semantic nets, frames and XML
- Inheritence (hierarchy) is a central organising principle that
supports an enormous amount of reasoning.
- You might know it as subclassing in Object Oriented Programming.
- The basic idea is that if you know A is-a B, and you know a fact about
B, you know a fact about A. In OOP, you only have to encode extra
stuff for the sublass (A).
- Semantic nets make extensive use of this. Semantic nets were
developed as a means of describing how people represent knowledge.
- Semantic nets are a graph structure, with nodes being classes or
instances.
- They are connected by arcs that represent relations. The most important
is is-a, though instance-of and part-of are also important.
- Go back to the Clips lab, and
try to implement the semantic net.
- Frames are just semantic nets with particular slots specified; they have
more structure.
- XML uses semantic nets.
- Most modern KR languages (e.g. LOOM and KL-One) are semantic nets.
- Ontologies
- Cognitive maps are closely related.