[236]                               home                           [238]

 

Thursday, November 24, 2005

 

 The BCNGroup Beadgames

National Project à 

Challenge Problem  à

 Center of Excellence Proposal à

 

 

 

 

Discussion about ONTAC forum

ONTAC stands for Ontology and Taxonomy Coordinating Working Group

It is a working group of

Semantic Interoperability Community of Practice (SICoP)

 

Communication from Matthew West

 

 

Dear Barry,

 

Thank you for pointing me to your paper:

 

http://genomebiology.com/2005/6/5/R46

 

Which shows how you use relations between classes.

 

I have now had a chance to read this, so I can make a considered comparison to our approach in ISO 15926.

 

I notice that for a number of relations you identify at the individual level you single out a relation between classes in addition to the relation at the individual level. You have:

 

Part_of

Located_in

Contained_in

Adjacent_to

Co-adjacent_to

Transformation_of

Derives_from

Preceded_by

Has_participant

Has_agent

 

You also recognize a reciprocal relation (e.g. has_parts to indicate necessary parts) and one that combines the two (e.g. integral_parts).

 

I will take part_of as an example.

 

The relevant piece from your paper to this discussion is below (some formatting lost in cut and paste).

 

QUOTE

 

Parthood as a relation between classes. To define part_of as a relation between classes we again need to distinguish the two cases of continuants and processes, even though the explicit reference to instants of time now falls away. For continuants, we have C part_of C1 if and only if any instance of C at any time is an instance-level part of some instance of C1 at that time, as for example in: cell nucleus part_ of cell.

 

Formally:

 

C part_of C1 = [definition] for all c, t, if Cct then there is some c1 such that C1c1t and c part_of c1 at t.

 

Note the 'all-some' structure of this definition, a structure which will recur in almost all the relations treated here. C part_of C1 defines a relational property of permanent parthood for Cs. It tells us that Cs, whenever they exist, exist as parts of C1s. We can also define in the obvious way C temporary_part_of C1 (every C exists at some time in its existence as part of some C1) and also C initial_part_of C1 (every C is such that it begins to exist as part of some instance of C1).

 

END QUOTE

 

I should start by questioning whether this is even a true or useful statement. From your initial comment:

 

Uniquely, among existing contributions, the BFO Relation Ontology allows the drawing of a clear distinction between relations on the level of instances (e.g. between your heart and your body) and relations on the level of types (e.g. between the type human heart and the type human body).

 

I presume you mean that:

 

human heart part_of human body

 

Would be a (good) example of your class level part_of relation. However, hearts can clearly be removed from bodies, and have been successfully transplanted to another body, with at least some period in between, and I suspect even specimen hearts that have been preserved would still be considered and recognised as hearts.

 

Perhaps a more appropriate thing to say is that human hearts are created in and as part of a human body (though I remember seeing a photo of a mouse with a human ear growing on its back).

 

So perhaps what you really want to say is that hearts are NORMALLY parts of bodies. But that is not what your axiomatisation says.

 

If we move up a level, and look at what you are doing, then what we see is that you are really defining some constraints that might apply to some subset of a part_of relation at the individual level.

 

This is a more general problem and there is certainly more than one set of constraints that one might wish to apply to the individual level part_of relation. For example (following your approach of using relations between classes):

 

part_may_be_part_of_whole (e.g. impellers may be part of pumps - but may be on a shelf)

 

For additional reciprocal relations we could have:

 

has_exactly_one_part (e.g. cars have one steering wheel) has_exactly_two_parts (e.g. mammal has two eyes) ...

 

What I fail to see is why the particular constraint you have picked out for the relation between classes and its reciprocal are privileged. Certainly no explanation is offered.

 

This pattern is repeated with the other class level relations. It seems you consider that there is only one pattern in each case. This does not reflect our experience.

 

Reflecting on this at a different level:

 

Uniquely, among existing contributions, the BFO Relation Ontology allows the drawing of a clear distinction between relations on the level of instances (e.g. between your heart and your body) and relations on the level of types

 

I am not sure quite what is 'unique' or indeed 'clear' about this distinction between relations between classes and individuals.

 

I understand that over a 100 years ago Frege introduced predication for non-monadic properties and since then there has been a clear distinction in type between 'relations on the level of instances' and 'relations on the level of types' - (for non-monadic predicates) between ordered tuples and predicates. So, I do not understand why you think your contribution unique in drawing this distinction.

 

Furthermore, it seems to me that your exposition makes less of a distinction between these two things - as both these levels appear to be the same ontological type.

 

I would also like to clarify the relationship between some different sorts of relation.

 

You state:

 

1) There is a general category of Relation

 

2) There are the following sub-types (sub-kinds, sub-classes, etc) of the Relation Category:

 

<class, class> <instance, class> <instance, instance>

 

3) The type <class, class> has among its sub-types (etc.) 'is a' and this has sub-types 'C is a C' and 'P is a P'.

 

4) The type <instance, class> has among its sub-types (etc.) 'instance of' and this has sub-types 'c instance_of C at t' and 'p instance_of P'.

 

As a hierarchy this looks like:

 

Relation 

    <class, class>  

         'is a'    '

             C is a C'   

             'P is a P'. 

    <instance, class>  

         'instance of'   

              'c instance_of C at t'    

               'p instance_of P'. 

     <instance, instance>

 

Ordinary language would lead us to believe that the sub-type 'links' shown in this hierarchy are 'instances of' the 'is a' relation. Is this the case or is there some ontological queasiness or logical nicety that stops you from taking this natural approach?

 

As an aside, it would appear from this that you are restricting yourself to first order objects - in other words, you do not recognize classes of classes (or higher order universals). Hence you use individual/particular and instance inter-changeably. Is that correct? Do you not find this an onerous restriction?

 

Other questions arise from your use a format of T r t - where T is a class, r is a relation and t is an individual - similar to typed logics. This would seem to imply a 'relation' between r and T and r and t (for example, in the case of 'p instance_of P' between this relation and the class of process particulars and the class of process classes - in other words, the relation is between members of the class of process particulars and members of class of process classes).

 

This seems to me very similar to the notion of role in entity modelling. Is this correct?

 

And, what kind of relation is this in your scheme of things? It does not seem to fit well into any of the categories in the hierarchy above.

 

Coming back to the two part_of relations that are at the heart of the 'clear distinction' being proposed.

 

"c part_of c1 at t - a primitive relation between two continuant instances and a time at which the one is part of the other"

 

and

 

"For continuants, we have C part_of C1 if and only if any instance of C at any time is an instance-level part of some instance of C1 at that time, as for example in: cell nucleus part_ of cell."

 

It would seem to me that there is a common natural understanding that there is a relation between these this class and instance level relation. This does not seem to appear in your ontology. It also appears difficult to place it - for example, it cannot be 'instance of' as these are both relations and that relation is between instances and classes. Do you feel the need for this relation, and if so, how would you fit it into your framework?

 

It also seems to me useful to look at the normal set-theoretic interpretation of the relations you describe.

 

a) For the first, there would be a class of ordered triples <c, c1, t> for which it is true that 'c is a part of c1 at t' - and this would be the extension of that relation.

 

b) For the second, there would be a class of ordered pairs <C, C1> for which it is true that 'C is a part of C1' - and this would be the extension of that relation.

 

Is this how you envision what you describe this working? If not, how do you see this working?

 

I think it is worth noting that your description of the class level relation C part_of C1 above, implies the existence of a class of ordered triples <c, c1, t> that range over C, C1 and time - and that this class is a sub-class of the instance level part class mentioned in a) above. As I understand it, this is the more common way of showing the relationship between the instance and class level. It also provides a natural explanation of the relation between the two.

 

Given this class, I do not see the utility of introducing another more distantly related instance of class level relations to play the same role. I'd be interested in an explanation of your rationale in doing this.

 

 Still I suppose that is just preamble to the question of whether instances of class_of_composition are actually classes (well I guess in your terminology sub-relations).

 

From below:

 

Uniquely, among existing contributions, the BFO Relation Ontology allows the drawing of a clear distinction between relations on the level of instances (e.g. between your heart and your body) and relations on the level of types (e.g. between the type human heart and the type human body).

 

Just for the record, ISO 15926 also supports this.

 

Note the use of the word "support". What I described reflects how we support specifying the kind of constraints you have specified. However, our approach to this problem is more fine grained, not restricting ourselves to two constraints, one for the relation and another for its reciprocal.

 

We use an entity relationship formalism that is well understood in the database and systems design world, but may not be familiar to you.

 

To support the constraint you wish to say, we create an instance of class_of_composition. This is in essence a subrelation of composition_of_individual.

 

Let us take your example of heart part_of_ body, and the constraint that a heart must be part of some body (and assume for the moment it is true).

 

I think we can do a useful bit of generalization. It seems to me that what is true for a heart is probably true for any organ - let us assume so anyway. So I name my instance of class_of_composition (say) OrganPartOfBody. Despite being implicit in the name, I now need to specify the restricted domain of individuals that can be parts and wholes. This is done through two relationships, one of which will point to the class_of_individual, organ, the other to the class_of_individual, body.

 

I now have the opportunity to add cardinality constraints, so I can say that each organ must be a part an OrganPartOfBody relationship. (We can add the reciprocal constraint as well if required). These relations are an essential part of the definition of the class of relationship, and so are often brought into the English definition.