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. A "Common" database
structure that would fit a majority of database needs.
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.
My 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: We
use Subject Tables that are 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 CONNECT(Phone,eMail,URL,etc.).
HOW: All of the above are done
are accomplished with the Building-Block approach and
a navigation technique that allows PublicPIM to start with known element that
than links with all other gathered information.
A building-block consist a Subject Table with join-Tables to link it with all of
the other Subject Tables and with
Many-to-One ADJECTIVE tables to farther define unique information for each of
the Subject Tables.