Delete Term
"Delete Term" is somewhat like "Delete Concept", but involves some
different issues. They fall into the following four cases:
- The term is a Preferred Name, and has no synonyms
- The term is a Preferred Name, and has one or more synonyms
- The term is a Synonym of some other term
- The term is the name of a Link
Preferred Name, no synonyms
In the first case, removing the term will leave no other trace of the
concept; this is the same as the
"Delete Concept" operation and has all the same side issues.
Preferred Name, with synonyms
In the second case, deleting the Preferred Name will leave the concept
still in existence but with nothing but Synonyms to represent it; since
many search and display operations remove synonyms from consideration,
the concept will seem to disappear even though references to it still
exist. For example, the term will never show in a hierarchy display even
when the term really is contained there. In this case, a dialog should
ask the user to promote one of the synonyms to become the Preferred Name
for the concept; no further action is necessary, except to change
the name as it appears in the other display windows.
It's a Synonym
This should be the easiest of all -- we ought to be able to just
remove the row from the terms table, remove the entry from
the synonym-list browser in the Concept inspector, and clear the
Term inspector.
It's a Link name
What does it mean to remove the definition of a Link? The user might or
might not realize it, but this would mean eradicating an entire hierarchy.
The implementation would be similar to the first case of deleting a concept,
but will require a different method for counting the number of links that
exist in the chosen hierarchy. Also, the hierarchy window would have to be
emptied and the name removed from the list of possible hierarchies (browser
bay 0). Removing a Link that has data already is drastic enough that it
might be better to just refuse to do it this way, and instead require some
other (less direct) method.