[Top] [All Lists]

Re: [ontolog-forum] Upper ontology content and structure

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: Mike Bennett <mbennett@xxxxxxxxxxxxxxx>
Date: Mon, 29 Sep 2008 13:25:45 +0100
Message-id: <48E0C949.1010407@xxxxxxxxxxxxxxx>
Hi Patrick,

We corresponded about this a while back and it was interesting to see how COSMO handles these issues. Of the three top sets of partitions I was referring to (first/second/third order, concrete v abstract and continuant v occurrent), COSMO also has the concrete v abstract partition (mental object in COSMO being the abstract partition), and the Occurrent partition. I would also assume that the COSMO Context partition corresponds to the third order thing (Mediating Thing, or context).

On earlier ontologies I have done for clients in the financial sector, I didn't try to use any of these partitions. However, many of the terms which exist in any financial industry model (for example existing XML message standards) are things like Issuer, Custodian, Counterparty and so on. Parties in particular form a significant group of terms. These also exist in the wider business world, of which the financial industry is one sub set. For example contracts have parties and these are specialised to Issuer and Holder of a security (or for an over the counter swap security, they are both simply counterparties, as in any bilateral contract). Similarly transactions, which form part of the definition of an over the counter derivative, exist in the wider world.

Looking at the COSMO model again, it seems that you have solved the exact same problem I am describing. The class of Role, which is a sub-class of Temporal Thing, contains a wide range second order things, including the sub-class Human Role containing those things like Parent and Spouse which are second order things. Meanwhile Human Role is also a child of Person, so that the second order thing inherits the properties of the first order thing that it is.

So you have solved the exact same problem I am talking about, but in a different way. Where I have an object property identifying the first order thing, you have a parent relationship to achieve the same effect.

There are a few aspects of the COSMO ontology which I find counter-intuitive on this, for example PersonWithOccupation and SkilledOccupation are shown as peers, both being sub-classes of HumanRole, and I would have thought that one of these was a specialisation of person while the other was a specialisation of role.

I am not sure how you would deal with situations where for example a client or a counterparty may be either a human being or a company. Here I have legal entity as the common first order class, which (when required for a specific defition) can be specialised to be a company, a country or a human being etc. For example almost any legal entity may be an issuer, but the issuer of a corporate bond may only be a company. Government bonds present an interesting challenge because they are issued by a government, which is a second order thing, on behalf of the country (legal entity) they govern.

There is an interesting modelling choice around roles and second order things, because in principle one could model roles as OWL Object Properties (as I do) but then one could simply make the range of that property a first order thing. Here I think the choice has to depend on how any data derived from the ontology is to be used. As long as there are likely to be qualifying terms for a role (as there may be financial definitions), it makes sense to model it as an OWL Class, and therefore it needs to be a second order thing, like your Role classes. Otherwise you would have to be able to apply datatype properties and object properties to an object property. So the separation of role and second order thing sometimes results in apparently tautologous terms and these would often need to be collapsed in any logical data model derived from the ontology.

In terms of the usefulness of these, I think it solves a number of data problems that people have been seeing in the financial industry, where people have tried to manage semantics from within a data model or message schema, and for example where mapping between two such data schemes proves difficult. So for example some securities issuance terms would have "Underwriter" with a list of phone numbers, "Syndicate member" with another such list, and so on. Obviously these would be combined in any logical data model, but it makes sense to define "Legal Entity" with all of the phone numbers and things, and then terms specific to the process (such as contact person for that process, with their phone number) would be in the second order thing, rather than all of these terms being mixed in together. Similarly I have spoken to people who are struggling with client and counterparty definitions as a result of conflating client with legal entity - a valid conflation within a single computer system but a problem when you want to define terms globally across a business unit. Having the second order thing with the object property of "identified as" linking to a legal entity resolves this and allows for mapping between data sources that have different treatments of these, via the common semantics model.

I guess the bigger picture is that all computer systems have an ontology already whether it's documented or not, and we are trying to establish a common ontology to be used across a business unit, a company or an industry, and therefore the different shades of meaning that are irrelevant within one program become important if one is to link them together or re-use data intelligently within different applications.

For the ontology I am working on, my client's main aim is to accommodate all the terms that exist in different systems and message standards, within a single consistent framework. This replaces the various ad hoc business spreadsheets that are used in many firms today, and brings the semantics out of the technical models, where the business knowledge is often lost or undocumented. Potentially this can be used to derive logical data models, as the ad hoc spreadsheets would have been.

This means that usability is a major requirement for this model. But not usability as an ontology per se. Rather, this is an attempt to show business stakeholders a view of their world, which they can validate. As such, I have found that the first / second order distinction can be easily explained to business users, since it is not a technology definition they are being asked to learn, but rather a real world distinction. A few examples usually put the point across fairly easily, and they are then able to contribute to the definition of data items and relationships without needing to understand database modelling. Having said that, most business participants will rarely need to look at the top level of the model, except where there is an argument about different meanings applying to a similar word or term. Then the model structure serves to unambiguously identify the intended meaning of something.

I do not envisage a scenario where any of the users of this model are likely to fire up Protege and search for something in that. They will either navigate the diagrams or search for things in the spreadsheet view. However, once enough people ask for it I hope to get a budget to convert the content into an OWL or RDF file format so that other, more advanced things like automated reasoning and semantic queries can be done with it. I would like to see that. Even then, the primary business interface would be tables/spreadsheets and technology-neutral diagrams, as business sign-off is a vital component of getting the terms complete and correct. I am watching with interest those tools that are starting to evolve a business-readable interface.

Incidentally I thought the presentation by Mike Bergman on the UMBEL (Upper Mapping and Binding Exchange Layer) at our recent showcase teleconference was very interesting. UMBEL provides a means to relate upper ontologies to each other. It will be interesting to see how this deals with issues like a role being an object property in one ontology and a class in another, and how it would help to relate second order classes from ontologies which have defined these differently, or which have different and potentially conflicting parent classes. Because it seems to me that the second order things are all there in these upper ontologies, whether they are identified as such or not.

Best regards,


Patrick Cassidy wrote:
Mike -
  Concerning your question:

MB> It also made sense to me, to distinguish between first- second-
and third-order classes of Thing, as defined by John Sowa and
others (John's book summarises the history of those terms very well).
MB> What interests me, and what I am really asking here, is why is
this approach not noticeable in upper ontology resources like
the Suggest Upper Merged Ontology (SUMO)? Am I missing something?
SUMO looked to me like a single taxonomic hierarchy of classes
of Thing, without these three sets of partitions.

   I can't answer for SUMO, but I can tell you why those distinctions don’t
appear in COSMO: 
   *** there is no apparent need for them, and spending time trying to
decide into which of those abstract categories one might place specific
types or relations does not make any sense to me, as they add nothing to the
intended meaning. ***
    Wherever one might think that a type or relation fits one of those
categories, the more specific and meaningful type or relation itself will
carry all the meaning required to perform the intended function of the
    The top level of COSMO under 'Thing' has 20 types, and one of the those
('Individual') is a heterogeneous grouping of other types that are mostly
heterogeneous groupings associated by some property (a 'faceted'
categorization).  If I had 'firstness' secondness' and 'thirdness' at the
top level, I expect that few people wanting to find some particular type of
thing would have no idea where to start in the drill-down process.  Tools
like Protégé that allow searching for substrings in the label for a type
help immensely, but as far as creating a hierarchy for drill-down when
string search fails, those three abstract categories, in my estimation, are
quite useless.  I am very concerned with usability of any ontology, meaning
that it has to be as easy as possible to understand, while preserving its
technical adequacy.

   Those abstract categories may be interesting for philosophical
speculation, but I have never observed any function for them in automated
reasoning.  More specific issues dominate my concerns about representing

   If they help you organize your own thinking about the meanings of
concepts, they may be useful, for you, for that purpose.  I haven't found
them useful in that way.

   However, if anyone were interested in trying to figure out which of those
categories applies to the elements of the COSMO ontology:
I would have no objection.  If some useful function could be demonstrated by
the act of such a classification, I would be intrigued and may change my
mind about their usefulness.


Patrick Cassidy
cell: 908-565-4053

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


Mike Bennett
Hypercube Ltd. 
89 Worship Street
London EC2A 2BF
Tel: 020 7917 9522
Mob: 07721 420 730

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    (01)

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