Algernon Tutorial 4.b
Ontology changes


previous   next

Naming Conventions

The Newspaper example uses certain naming conventions, such as capitalized singular names for Classes and plural lowercase names for multiple-cardinality slots and singular lowercase names for single-cardinality slots.

Some people prefer to think of classes as Sets, and thus to make class names plural (e.g. People instead of Person). In Algernon, a clause reads more naturally if the slot names are singular, for example "the Color of the house". Because Algernon automatically handles branching, even if the slot is multiple cardinality further processing of each branch involves only one value so a singular name seems most appropriate.

The Newspaper example also uses multiple-inheritance, which this author personally believes leads to poor design decisions. A KB degenerates into spaghetti when a Person is a subclass of Mammal, Parent, Customer, Employee, Outfielder, etc., etc., etc. A representation that I prefer allows one primary subclass, with other classes linked in via a Role slot. A person "plays the role" of Parent or Customer or Employee at various times.

It is also helpful to have visual cues, such as using underscores to separate words in class names, but not in slot names or vice versa. You should decide on a convention that works for you. It is important to maintain consistency across the entire KB.


previous   next
Author: Micheal S. Hewett
Email: hewett@cs.stanford.edu
Last Updated: Wednesday, February 12, 2003