next up previous
Next: Guidelines for Naming Up: Guidelines Previous: Guidelines for Placing

General Guidelines and Constraints

  1. For concepts in the ontology, only the following slots have their Value facets filled:

    Subclasses, Is-A, Instances, and Definition for OBJECTs and EVENTs; Inverse for Relations.

    All other slots have their Sem facets filled (if anything is filled at all). Default facets may also be filled, but are rarely used in the current ontology.

  2. For Properties, specify the DOMAIN and the RANGE. The only exception is if the filler of (the Sem facets of) these slots are going to be just ALL, do not mention the filler.

  3. If you add a slot name, that probably is already a Property in the ontology. Verify this and consider adding the Property to the ontology.

  4. When you add a slot to a concept, consider adding the Inverse link from the filler back to the concept. Add the Inverse Property if it does not exist already.

    Exception: If the filler is a very generic OBJECT, then do not add the reverse link. For example, we do not want THEME-OF links from PHYSICAL-OBJECT to a zillion EVENTs. Such information serves no useful purpose in language processing. The Inverse link should perhaps be added between corresponding ancestors at a higher level in the trees.

  5. Keep inheritance in mind. If most siblings have a common slot and filler, that piece of information belongs in their parent. However, note that only Value and Sem facets are inherited. Also, these slots are not inherited: Is-A, Subclasses, instances, instance-of, definition, and comments.

    ``IT IS THE RESPONSIBILITY OF THE ONTOLOGY BUILDER TO MAKE SURE THAT NO AMBIGUITIES ARISE FROM MULTIPLE INHERITANCE - in other words, that the same Property with incompatible values is not inherited by a node from different parents of that node.

  6. It helps to keep our ultimate objective in mind. We are building the ontology for knowledge-based machine translation. If a concept or its further decomposition does not seem necessary for KBMT, let us not spend time adding it. We are not a building a CyC for the sake of building it; we have a goal: to get our programs to translate language.

  7. Keep generation in mind. Though we are mostly driven by the needs of language interpretation in our current efforts, we must strive to keep the needs of language generation in mind. At this time, it is not even clear whether or how the generator will access the ontology. As such, we can only appeal to intuitive ideas of how the generator may function and use them in making ontological choices.

  8. Keep other languages in mind. Just because English names are used for the concepts in the ontology, we must not forget that the ontology must be equally useful for interpreting or generating any natural language.

  9. Do any change at the highest level possible in the hierarchy so that it propagates through inheritance to all the desired places. For example, to block a slot using *nothing* do it at the highest level appropriate.
  10. Never ever have multiple parent links to more than one of OBJECT, EVENT, RELATION, or ATTRIBUTE. Once it has been determined where the concept should be placed, it should have only one of the parent links mentioned above.

  11. Make children concepts if you can clearly classify instances of a concept. If it is a continuous difference, use an ATTRIBUTE. For example, to work with concepts concerning aesthetic artifacts, such as paintings, we do not create a concept "aesthetic-artifact." Instead, we create AESTHETIC-ATTRIBUTE, which can mapped to any ARTIFACT.

  12. If more than half of the siblings have a slot filler that doesn't apply to the concept, then NOT may be used.


next up previous
Next: Guidelines for Naming Up: Guidelines Previous: Guidelines for Placing



Kavi Mahesh
Sun Nov 12 15:02:10 MST 1995