## Identifying Terms that are Not Used for Common Sense

E-Mail Comments to: opencyc-doc@cyc.com
Copyright© 1997-2002 Cycorp. All rights reserved.

Certain constants are included in a Cyc Knowledge Base only in order to support or enable one or more Cyc-based applications or capabilities. These constants are not used to represent common sense knowledge; nor are they used to represent knowledge shared by a significant subset of humans, such as specialized domain knowledge (e.g. the knowledge of experts in some field of study, such as nuclear physics). Any constant that meets this description should be made an instance either of #$ImplementationConstant or of one of its specializations. This will help Cyc to distinguish its common sense knowledge from its application-specific knowledge.

For example, suppose you create a Cyc-based application (an application which relies on the Cyc API) called MailManager, and you want the program to maintain within the Cyc KB a reified list of e-mail addresses, called #$MailManagerAddresses. To indicate the application-specific nature of MailManager constants, you could first create the new constant #$MailManagerApplicationConstant as an instance of #$ApplicationConstant. (#$ApplicationConstant is a specialization of #$ImplementationConstant.) Then, you could assert (#$isa #$MailManagerAddresses #$MailManagerApplicationConstant).

After asserting that TERM is an instance either of #$ImplementationConstant or of one of its specializations, the following sentence will appear just below the term's name in the Term Content frame of the KB Browser:

TERM is not used to represent common sense knowledge.

Go to Top