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