[Top] [All Lists]

Re: [ontolog-forum] Foundation ontology, CYC, and Mapping

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: Ali Hashemi <ali.hashemi+ontolog@xxxxxxxxxxx>
Date: Wed, 3 Mar 2010 22:11:19 -0500
Message-id: <5ab1dc971003031911j27a7475du61a4af05b7be8dc9@xxxxxxxxxxxxxx>
Dear Pat C,

I do not doubt that everyone on this list can think of some additional
*potential* problems with this process.  But the first question to be
answered is: is there a better process to support very broad semantic
interoperability with the same accuracy?

There are number of other ways this interoperability may be achieved, without recourse to a single FO.

First, if theories in a repository are suitably modular, each module on it's own (set of axioms) is an ontology. Additionally, every combination of modules (that is consistent and makes sense) is also a unique ontology.

Moreover, one need not agree on a unique set of primitives. There might be 7-8 different sets with mappings between them, but no real "join" or generalization of the primitives - i.e. 7-8 different FO's that all efforts have been unable to merge.

I.e. instead of a single hub-spoke, you have 7-8 hubs and ensuing spokes, with the hubs connected to one another.

Anyway, the basic idea re mapping is still the same. That merge engine which you allude to can manifest in a number of ways. If the relationships / mappings between ontologies is already recorded in the metadata (i.e. T1 faithfully interprets T2 given mapping module T1-2) a simple reading of the metadata should be able to specify a mapping. Note, all this is quite independent on requiring anything to go through an FO.

If mappings don't exist, we're still in luck. There's a semantic mapping tool (prototype in my MASc thesis, updated version coming out soon) which does exactly what you wanted. It finds where two ontologies agree, where they differ and on what terms. It can do it wholly automatically, but it is not very efficient (it would test all possible relations between terms, whereas a human could suggest which term-term relations to explore). It does this using any referent onotlogy, it need not be an FO, but it could very well be an FO...
The above comments distinguish two different issues that can be discussed
separately: (Issue1) do we actually *want* every meaning in the FO itself to
change when a new element is added, or do we have criteria of performance
for the FO that guard against unintended changes? (I would use a test
application suite to detect and avoid unintended changes) And
(Issue2) given that the meanings of domain types will differ when different
specialized types are created in domain ontologies, how will this affect the
performance of the FO as a support for interoperability?  (There will be no
contradictions, but less certainly as to whether inferences about a given
subtype in one domain do or do not apply to the parent type or a different
subtype in another domain).

This is a question of how people want to use their given ontology. Often, the terms defined in an FO are wholly unnecessary for the application domain.

Say I have a manufacturing plant, and I have some machines, employees and a process. I might not really care about the philosophical implications of whether number is a subtype of abstract entity. This suggests to me that it might be limiting to commit to a particular FO. But whatever, let's work out an example within the context of a single FO.

I care about processes, actions and the agents that perform them. If I want to to communicate with another plant, we still don't really need to agree on an FO in its entirety. All we need to figure out is what our systems are committing ourselves to. At most (if at all), we would only plug into a sub-component of the FO.

Now, if any such FO is suitably modular, then the addition of a novel element need not change the meaning across the board.

In fact, I suggest it is misleading to refer to the FO as a single ontology. It is really a collection of ontologies, and depending on which modules you decide to include, you have a different ontology each time. So were I to plug into the FO, i would care about the modules pertaining to Processes (which might take me to activities, time, duration etc.), and another module about agents taking me to people, robots, etc.

I need not commit to the whole FO, just parts of it. A change in a module that i'm not plugged into (or more general than it), would not change the ontology.

Even if it were, the distinction between conservative and nonconservative extension plays a role too. In Pat Hayes' example, if the previous definition of human was silent on these novel properties, those new properties would be a conservative extension, and the addition of M's axioms would essentially be orthogonal to my original reasoning process.

Now in terms of intended meaning, it makes a huge difference. In terms of reasoning, it can be neatly delineated. However, if the extension were to be nonconservative, we still have a change in intended meaning and the change in logical meaning is complicated as well (though still manageable if modules are used).


(•`'·.¸(`'·.¸(•)¸.·'´)¸.·'´•) .,.,

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: 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 join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (01)

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