History of Logic Logic

Description Logic deals with descriptions of concepts and how these descriptions define the domain of concepts. In terms used in object oriented programming lan- guages: membership in a class is determined implicitly by the description of the object and not by explicitly stating something like “Brady is a member of the bird class.” Description logics divide statements into relations historically refered to as TBox and concepts historically called ABox. We would say that a statement like “All birds have feathers” is stored in the TBox while a specific assertion like “Brady is a bird” is stored in the ABox.

3.2 PowerLoom Overview

PowerLoom is designed to be an expressive language for knowledge representation and reasoning. As a result, PowerLoom is not a complete reasoning system but makes tradeoffs for completeness of inferences and expressivity vs. computational efficiency. It is interesting to note that Loom and PowerLoom were designed and implemented to solve real world problems and the tradeoffs to make these problems computationally tractable have informed the design and implementation of these systems. PowerLoom does not make all posible inferences from concepts that it operates on. The PowerLoom distribution contains two very detailed examples for representing relationships between companies and for information dealing with airplanes. These examples are more detailed than the simpler example of data from news stories used in this chapter. We will look one of these examples business rules and relations and after working through this chapter, I encourage you to interactively experiment with the two examples that ship with PowerLoom. We will start by defining some terms used in PowerLoom: • concept – the Java equivalent would be an instance of a class • relation – specifies a link between two concepts • function – functional mapping of one concept to another • rule – allows new concepts to be deduced without explicitly asserting them A relation can specify the types of concepts that a relation connects. An example will make this clear and introduce the Lisp-like syntax of PowerLoom statements: ;;; Concepts: defconcept person defconcept parent ?p person 48