[Top] [All Lists]

Re: [ontolog-forum] An example of an ontology

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "John F. Sowa" <sowa@xxxxxxxxxxx>
Date: Mon, 12 Feb 2007 22:01:10 -0500
Message-id: <45D129F6.4020409@xxxxxxxxxxx>
Pat, Chris, Kathy, et al.,    (01)

Those comments are well taken.  I would agree with most of them
and quibble with a few.  But it would help clarify the issues
if we had a concrete example to discuss.    (02)

In the example below, I took some sentences that I had written
in CLCE (Common Logic Controlled English) and organized them
in four sections:    (03)

  1. Types.  A list of all the types of entites and relations
     that are used in the ontology, with the symbol "<" to
     indicate subtypes.  I also added two special kinds of
     statements:  "Import" for those types that are specified
     elsewhere (I won't say "defined"), and "Export" for those
     types specified in this file that may be used elsewhere.    (04)

  2. Terminology.  A list of English words and phrases that
     are used in CLCE to represent the types.  The statement
     "Import * " indicates that any words needed may be
     imported from the named file.  If no type is specified
     for a given word, the same spelling with a capital letter
     is assumed as the default name; i.e., the word "manager"
     maps to the default type Manager.    (05)

  3. Patterns.  Syntactic patterns that show how the words
     are used in sentences.  These patterns may also be used
     to define the patterns of subtypes. For example, the word
     "manager" maps to the type Manager, which is a subtype
     of Employee, which maps to the word "employee".    (06)

  4. Constraints.  I chose the word "constraint" rather than
     axiom because it is commonly used in database systems.
     But formally, the constraints form the axioms of a theory.
     I will avoid any questions about whether the theory *is*
     the ontology, is *part of* the ontology, or is merely
     *associated with* the ontology.    (07)

The constraints are stated in CLCE because that is what I have
been working on lately.  But they could just as well be translated
to any dialect of Common Logic.    (08)

Note that the grammar for this version of CLCE is an updated version
of the 2004 grammar, which is still on my web site:    (09)

    http://www.jfsowa.com/clce/specs.htm    (010)

I plan to update that grammar when I finish the details.  The new
grammar includes the old one as a subset, but I added some new
features:  "exactly one", "except", "other than", and "but".    (011)

All of them translate to FOL (with "but" as a synonym for "and"
with an emphasis for alerting the human reader to a contrast,
which the computer will ignore).  I also added the option of "the"
or "that" to mark an anaphoric reference, which can avoid the use
of a variable in those cases where there is only one entity of
the given type in the paragraph.  (I use the word "paragraph" for
a list of sentences separated by semicolons and ending with "."
The paragraph delimits the scope of quantifiers and anapora.)    (012)

Comments, suggestions, and complaints are solicited.    (013)

____________________________________________________________________    (014)

/* An ontology about the managers and employees of some company. */    (015)

Types:    (016)

    Imports Act, Person, Organization, Relationship
       from "http://www.jfsowa.com/ontology/sample.htm";.    (017)

    CEO < Manager < Employee < Person.    (018)

    Manage < Act.    (019)

    Report < Act.    (020)

    Company < Organization.    (021)

    DottedLine < Relationship.    (022)

    Exports CEO, Company, DottedLine, Employee, Manage, Manager, Report.    (023)

Terminology:    (024)

    Imports * from "http://www.jfsowa.com/ontology/sample.htm";.    (025)

    CEO; noun, plural -s, functional; type CEO.    (026)

    chief executive officer; noun, plural -s, functional; type CEO.    (027)

    dotted line; noun, plural -s; type DottedLine.    (028)

    Exports CEO, "chief executive officer", "dotted line".    (029)

Patterns:    (030)

    An employee of a company.    (031)

    An employee works for a company.    (032)

    A manager manages an employee.    (033)

    An employee reports to an employee.    (034)

    An employee directly reports to a manager.    (035)

    /* An employee could report "by a dotted line" to a manager in    */
    /* another division or to a project leader who is not a manager.  */    (036)

    An employee reports to an employee by a dotted line.    (037)

Constraints:    (038)

A person works for a company,
if and only if
the person is an employee of the company.    (039)

An employee x of a company is a manager of the company,
if and only if
the employee x manages some employee of the company other than x.    (040)

A manager of a company manages an employee of the company,
if and only if
the employee directly reports to that manager.    (041)

If an employee of a company directly reports
    to a manager x of the company,
then the employee does not directly report
    to any manager of the company other than x.    (042)

/* The next two paragraphs are a recursive definition of "reports to" */
/* as the transitive closure of "directly reports to".                */    (043)

Every employee who directly reports to a manager
    reports to that manager.    (044)

If an employee x of a company directly reports
    to a manager y of the company,
and the manager y reports to a manager z of the company,
then the employee x reports to the manager z.    (045)

If an employee x reports to an employee y by a dotted line,
then the employee x reports to the employee y
      but does not directly report to y.    (046)

For every company,
exactly one manager of the company is the CEO of the company;
every employee of the company except the CEO reports to the CEO;
the CEO of the company does not report to any employee of the company.    (047)

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Subscribe/Config: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (048)

<Prev in Thread] Current Thread [Next in Thread>