find-tbox-cycles [Function]
Purpose
The find-tbox-cycles function finds sets of concepts whose definitions depend on one another.
Syntax
find-tbox-cycles
Arguments
This function has no arguments.
Value
The find-tbox-cycles function returns a list of cycles. Each cycle is a list of concepts and/or relations which describe a circular path through the terminological network.
Remarks
All concepts must be classified before any data manipulation operations can be performed. Two reasons why unclassified concepts sometimes remain after evaluating a set of definitions are: (1) some concept has been referenced but not defined, and (2) cycles exist in the definitions. The first situation can be addressed by making sure that all concepts returned by list-undefined-concepts have been defined. The second can be addressed by using find-tbox-cycles to locate circularly defined concepts, and then moving restrictions out of definitions and into implications (that is, out of the :is clause and into the :implies clause).
Examples
(defconcept A :is (:all r A))
(defconcept B :is (:all r C))
(defconcept C :is-primitive B)
(find-tbox-cycles) ==> ((|C|A |C|A) (|C|B |C|C |C|B))
See Also
Last modified: Jun 1 1995