posted on 2012-09-25, 12:00authored byBrian A. Bowen
While the relational model for data storage is sufficient for the modelling and manipulation of a
large number of application domains, a growing class of application domains are either difficult
or impossible for the relational model to deal with efficiently. The realisation of this fact has led
to a proliferation of data models that attempt to increase the complexity and semantic capture of
the domains that they can model - the development of object-oriented databases and the various
semantic data models are a result of this.
The idea of using logic to define, manipulate and constrain data has given rise to large numbers
of systems that interface - not always successfully - a database system and a logic processing
system. Most such systems are based on Prolog or its derivations.
This thesis describes the development and use of an object-oriented and semantically rich form
of logic - conceptual graph theory - as a system for the definition, manipulation, and constraint
of data. It describes a theoretical correspondence between conceptual graph theory and the
relational model, and proceeds to develop an augmented, hybrid theory that is formally more
expressive and as rigorous as those languages based on the relational algebra or calculus.
This thesis also describes the design and implementation of a hybrid relational database -
conceptual graph system, that has a cleaner and more principled system of semantic capture than
other (for example, Prolog-based) systems, and that is also adaptive in nature - it automatically
modifies its underlying storage structures in accordance with modifications made to the
structures of the application domain over time. This completely shields the user from any
responsibility for database design and maintenance, and so the user need only be concerned with
application domain knowledge. Although the implementation described is incomplete, it can be
extended to produce a deductive, object-oriented database system based on conceptual graphs.