Tom Gruber < gruber@stanford.edu >
Short answer.
"An ontology is a specification of a conceptualization".
PublicPIM uses a Simplified Database Ontology
Many people over the years have told me that my idea for PublicPIM was an
ontology. It was very gratifying to know there was a "REAL Definition" for what
I was attempting to do. My idea up to that time was to make it easier to create
new applications without reinventing the wheel each time.
Tom Gruber's definition is possibly the simplest explanation that matches the
concept I have attempted to apply all this time. Having given up programming as
a "job" has allowed me to be able to design without the constraints of a
particular client's needs so I can be as "leading edge" as I choose to be.
After many years refining the design, the most ideal version uses the following
important specifications and techniques which I believe should make both
Many-to-Many relationships and a Building-Block approach to programming easier
to understand and implement.
Naming: Coming from the era of punch-card machines and 8 bit machines, I have
use the restraint of eight alphanumeric characters to name entities. I have
maintained that discipline, only adding upper and lower case for emphasis.
Reasoning is that a majority of platforms and computer languages can utilize
these naming conventions on a universal level from PDAs to Mainframes.
Many-to-Many: The basic design begins by using Many-to-Many relationships which
are traditionally the hardest form of relationship to develop with, but provides
the most powerful results.
Building-Block approach: Using Subject Tables common to a majority of the
business people on Earth (even given language differences). We start with our
concept of HOW we feel most people seek information.
WHAT: Usually starts with a need for information about something that is either
tangible or intangible which in a majority of cases would be a PRODUCT or a
PROJECT that exists that they want to find or create.
WHO: The next step is to find PEOPLE or GROUPS who have anything to do with that
PRODUCT or PROJECT.
WHERE: Generally followed by seeking where to find those PEOPLE or GROUPS by
ADDRESS or PHONE.
HOW: How all of the above are done is covered by the Building-Block nature and
the navigation technique used by PublicPIM starting with the simplest element.
A building-block consist a Subject Table with join-Tables to link them and with
Many-to-One
reference tables to farther define information in the Subject Tables.