A Response to "AGAINST IDIOSYNCRASY IN ONTOLOGY DEVELOPMENT"

 

Barry Smith with responses by Matthew West

 

The ONTAC-WG forum has been discussing the issue of whether ISO 15926 (the oil and gas, etc., ontology):

http://www.tc184-sc4.org/wg3ndocs/wg3n1328/lifecycle_integration_schema.html

can express simple inferences involving relations, and more generally whether this ontology provides a suitable platform for high-level data and information efforts.

 

Matthew responds to my request for clarification concerning the capacity of 15926 to handle simple inferences as follows:
 
> >MW: I understand your difficulty because you are used to different
> >formalisms. I have a sub-relation that has a relationship to the two
> >objects that you relate. I can see by inspection, that if I join (in
> >relational terms) my two relations I get yours.

Matthew has since sent me further documentation from his secret store, in which it does indeed seem that he can say some of the things we need to say, but only on a very broad reading of ‘say’, since the documentation he sent me consists primarily of diagrams. It is not clear that there is some sort of logical representation underlying these diagrams. What is clear, already from the above website, is that most of the formalism presented in the 15926 ontology is idiosyncratic.

 

MW: Interesting word "idiosyncratic", has a lot of perspective in it. Now me, I find languages like KIF and (even more so) OWL idiosyncratic.


The problem with using an idiosyncratic formalism, i.e. a formalism which (on the face of it, at least) relates to none of the things other people in the world of ontology development are doing, 

 

MW: Actually, there is more ontology work going on in the development of data models than there is using the formalisms that are found here. It is just that cross over between the communities is unusual.

 

is that, particularly for incompetent persons like me, there is a very steep learning curve, which I illustrate by considering some of the entities the ontology lists. (Warning: THIS IS VERY LONG.)

 

MW: Yes, I appreciate this. I well remember the learning curve I had getting to grips with KIF in the early days of the SUO.

Note again: much of the apparent nonsense in what follows derives almost certainly from my own failure to understand the documents which have been made available on the web. Perhaps there are further companion documents, somewhere, which will throw the needed light on the points discussed. But in any case, my failures in understanding will, I hope, bring the advantage that they can teach us lessons about the general principles which a good ontology should satisfy.

 

MW: Probably the main companion document you would need is ISO 10303-11 EXPRESS Language Reference Manual (I did mention it previously). But we use a relatively small subset of it, so the informal description I gave you of the bits we use is probably more useful than the definitive source.

FIRST GENERAL LESSON

THE PRINCIPLE OF OPENNESS: A GOOD ONTOLOGY SHOULD HAVE NO SECRET BITS AND ALL ITS FEATURES SHOULD BE EXPLAINABLE IN WRITING

 

MW: This is an interesting prejudice. As an engineer, I would much prefer a good drawing. A drawing need be no less formal than words (if you doubt me ask John Sowa about Conceptual Graphs). As it happens, EXPRESS has both a lexical and graphical form. If you look at the section underneath the definition entitled "EXPRESS Specification" you will see the lexical form (the tutorial slides I sent you gave illustrations that corresponded to the diagrams). There is also a lexical form for the instances of the data model. This is defined in ISO 10303-21 (or simply Part 21). I will inflict that on you if you insist.


----------------------------------
Consider, to get us going, the following sample entry from the 15926 ontology:

class_of_cause_of_beginning_of_class_of_individual
DEFINITION: A <class_of_cause_of_beginning_of_class_of_individual> is a <class_of_relationship> that indicates that a member of a <class_of_activity> causes the beginning of a member of a <class_of_individual>.

That there is no ‘cause_of_beginning_of_individual’ in the ontology. The term in question suggests that we are to focus ourselves instead on the causes of beginnings of classes. Yet the definition (in its strange, roundabout way) seems to be about the causes of the beginnings of individuals nonetheless (i.e. it is about the members of the class of individuals). (This is good, because the “Note 1” provided in the entry for ‘class’ suggests, indeed, that classes do not have beginnings, so that there could not literally be a <class_of_cause_of_beginning_of_class_of_individual>.)

 

MW: This is a good challenge since there is indeed no "cause of beginning of individual" explicitly in the ontology, but it is there implicitly as the join across the "cause_of_event" and "beginning" relations.



Note that we have here a reference here to the […] beginnings of […] individuals, yet there is no place for individuals in the ontology but only (oddly) for what are called ‘possible individuals’ and ‘actual individuals’? More on this below.

 

MW: Yes we know you don't like possible individuals.

GENERAL LESSON

PRINCIPLE OF COMPOSITIONAL CONSTRUCTION: A GOOD ONTOLOGY SHOULD RESPECT THE PRINCIPLE THAT IF IT USES IN A SYSTEMATIC WAY TERMS OF THE FORM ‘A X B’ (WHERE X IS A TERM-BINDING OPERATOR LIKE ‘OF’) THEN IT SHOULD INCLUDE ALSO THE CORRESPONDING A AND B TERMS.

 

MW: There is no intention that you should extract meaning from the structure of the terms. In principle the names of the entity types could be "A", "B", "C", ... We do use naming conventions for convenience, but we only keep to them when that is also convenient, and we abbreviate labels when we can.

Most of the ‘class_of X’ entries in the ontology are indeed such that ‘X’ is also included; not however the entry ‘class_of_cause_of_beginning_of_class_of_individual’. Why not? Are the corresponding classes without members? If so, are they all identical to the null class referred to in a note under the heading for ‘class’? If so, why do they have separate entries in the ontology?

 

MW: Actually quite often X is not included. You point to quite a few below. The reason for this is that apart from being an upper ontology, it is also the specification for the database to hold any extension to the ontology. This means we need the entity types for them to be instances of. For this we need the class_of_X entity types, but not the Xs. They can be the first entry in class_of_X.

 

------------------------------------------
class
DEFINITION: A <class> is a <thing> that is an understanding of the nature of things and that divides things into those which are members of the class and those which are not according to one or more criteria.

A class is an understanding?! Of the nature of things!?  

 

MW: Yes, I quite agree. I tried to get that changed, but failed. People preferred the warm fuzzy feeling this definition gave them. I now have some ammunition, so thank you for that.

 

What is the logic which governs such understandings? What, in other words, is the theory of classes which underlies this ontology? Astonishingly, it is not some standard version of set theory, but rather the highly specialized non-well-founded set theory devised by mathematician-philosophers for the purposes of solving the liar paradox and allowing logical modelling of non-terminating computational processes, and which allows cases where a class A is a member of itself, thereby generating an infinitely descending chain

 

                   A e A e A e A e A e A e A e A e A e A e A e A e A

 

MW: I really don't understand the problem here. If you know that you have non-well-founded sets and you write programs that insist on doing this, you get exactly what you deserve. In any case, the same situation pertains with whole part when proper parts are not insisted upon, and no one thinks that is so dreadful.

 

This is fun stuff, indeed, and it is pleasing to think that Shell would pay for it. But for present purposes it is, surely, rather like using the mathematics of quantum field theory to balance a checkbook.

 

MW: Actually it is the class theories that tend to be packaged with standard set theory that are what give me amusement.


Even more problematic, however, is the fact that, in addition to the various, odd, ‘class’ terms, we also have:


difference_of_set_of_class
enumerated_number_set
enumerated_property_set
enumerated_set_of_class
intersection_of_set_of_class
union_of_set_of_class

Why is ‘set’ used in this way in the ontology, yet there is no entry for ‘set’ and no explanation for this term? How does the theory of sets relate to the theory of classes, and how do both of these relate to ordinary set theory? Question: does non-well-founded set theory apply not only to the classes but also to the sets in this ontology?

 

MW: Yes. However, all but a few of the classes/sets turn out to be well founded sets, even hierarchical ones.


These questions are all the more urgent given that a tiny microtheory of sets is included in the definitions of the mentioned six terms, for example in:

 

difference_of_set_of_class
DEFINITION: A <difference_of_set_of_class> is a <functional_mapping> that indicates that the membership of the result <class> is the difference between the membership of the union of the classes that are members of the <enumerated_set_of_class> and their intersection.

There is, I think, a way of understanding this in such a way that it makes sense. Indeed, the

EXAMPLE The difference of the <enumerated_set_of_class> {{A,B,C},{B,C,D},{C,D,E}} is {A,B,D,E}.

shows that we are in fact dealing with something that is perfectly commonplace from the point of view of the ordinary theory of sets (something called ‘naive set theory’ – see e.g. the book of the same name by Paul Halmos).

Not only do we have non-well-founded sets, the ontology complicates its class (set?) theory still further by allowing also classes with possible members:

“[a]lthough there is only one <class> that has no members, there can be a <class> that has no members in the actual world, but which does have members in other possible worlds.”

 

MW: Would it not be stranger to have possible individuals but no classes they could be members of?

The most conspicuous problem with the treatment of class/set in the ontology, however, turns on its inclusion of the many ‘class_of_X’ or ‘class_of_class_of_X’ terms. For it is normally (and correctly) assumed that, if sets or classes are needed in an ontology, and if one needs to iterate the ‘set of’ or ‘class of’ relationship, then one does this by means of some general facility, rather than by giving names in an ad hoc way to just those ‘class of’ or ‘class of class of’ terms one thinks one needs.

 

MW: The reason for this was given above. We are at least in part specifying a database to hold the extension to the ontology.

GENERAL LESSON

THE PRINCIPLE OF MODULARITY

A GOOD ONTOLOGY SHOULD RESPECT THE PRINCIPLE TO THE EFFECT THAT: IF IT USES IN A SYSTEMATIC WAY OPERATORS OF THE FORM ‘A OF’ (E.G. SET OF, CLASS OF, LOCATION OF …), WHICH ARE DEALT WITH PERFECTLY WELL ALREADY IN SOME RESOURCE USED ALSO BY OTHER ONTOLOGY DEVELOPERS AND HAVING USEFUL LOGICAL PROPERTIES TAILORED TO THE NEEDS OF THE ONTOLOGY, THEN IT SHOULD UTILIZE THE MACHINERY OF THIS RECOGNIZED RESOURCE
--------------------------------
In addition to ‘class_of_cause_of_beginning_of_class_of_individual’ we are provided by 15926 with a number of other ‘class of X’ terms for which the corresponding ‘X’ is missing:

class_of_composite_material
class_of_compound
class_of_dimension_for_shape
class_of_feature
class_of_feature_whole_part
class_of_functional_object
class_of_inanimate_physical_object
class_of_indirect_connection
class_of_individual
class_of_information_object
class_of_information_presentation
class_of_information_representation
class_of_isomorphic_functional_mapping
class_of_molecule
class_of_number
class_of_organism
class_of_organization
class_of_particulate_material
class_of_person
class_of_property_space
class_of_relationship_with_related_end_1
class_of_relationship_with_related_end_2
class_of_relationship_with_signature
class_of_representation_translation
class_of_scale_conversion
class_of_sub_atomic_particle

 

MW: These are all deliberately missing for the reasons given above.

ONE REASON WHY THE PRINCIPLE OF COMPOSITIONALITY IS SO IMPORTANT, IS THAT IT HELPS THE BUILDER OF AN ONTOLOGY TO AVOID ERRORS. HENCE WE SHOULD EXPECT THAT THESE TERMS AND THEIR DEFINITIONS ARE LIKELY TO HAVE A PECULIAR HIGH LIKELIHOOD OF CONTAINING ERRONS. AND SO, INDEED, IS THE CASE:

Puzzle: While both ‘class of feature_whole_part’ and ‘feature_whole_part’ are included in the ontology, we have ‘class_of_feature’ but not ‘feature’. Why not?

 

MW: We need the constructs to store instances of these, but already have suitable a suitable construct for features. Feature will be present in the Reference Data part of the ontology.

Puzzle: Why, when we have ‘class_of_organism’ and ‘class_of_person’ in the ontology, do we not also have ‘organism’ and ‘person’? Are there no persons in the world of the ISO 15926 ontology designed ‘to support the integration and handover of large engineering artefacts that has been developed by the Oil and Gas and Process Plant industries’?). Was ‘person’ left out deliberately, when ‘stream’ and  ‘representation_of_Gregorian_date_and_UTC_time’ were included?

 

MW: Again, these have deliberately been relegated to the part of the ontology held as Reference Data. It is just a design choice (in an information systems sense).


-------------------------------------------
class_of_relationship_with_related_end_1
DEFINITION: A <class_of_relationship_with_related_end_1> is a <class_of_relationship> where a particular <thing> is related in the <class_of_relationship>, rather than the members of a <class>. The related <thing> plays the <role_and_domain> indicated by the class_of_end_1 attribute.

HERE AGAIN WE SEE A FAILURE TO FOLLOW THE PRINCIPLE OF MODULARITY. THERE IS A PERFECTLY GOOD THEORY OF RELATIONS, RANGES, DOMAINS, ORDERED PAIRS, AND OF THE TRANSITIVITY, SYMMETRY, ETC. OF RELATIONS. BECAUSE THIS THEORY AND ITS TERMINOLOGY WAS IGNORED, THE RESULT IS A TERM WHICH NO ONE WOULD ORDINARILY FEEL THE NEED TO USE, AND A DEFINITION WHICH NO ONE WOULD ORDINARILY BE IN A POSITION TO UNDERSTAND. MOREOVER, WHEN WE SEE THE ATTACHED

EXAMPLE Products manufactured by Bloggs & Co is a <class_of_relationship> that points to Bloggs & Co as the related <thing>.

THEN THIS REVEALS THAT WE ARE IN FACT DEALING WITH A VERY SIMPLE ORDERED PAIR INVOLVING A CLASS AND AN INDIVIDUAL.

 

MW: That is incorrect. We are dealing with a class_of_relationship (sub-relation) that is constrained to have a constant in one place for its member relationships. One of the problems here is that data models have no way of representing instances of entity types, so we have to build a meta-model to allow us to do this at the instance level.

GENERAL LESSON

STAY AS CLOSE AS POSSIBLE TO THE TERMS PEOPLE ALREADY USE

A GOOD ONTOLOGY USES ONLY TERMS FOR WHICH EITHER 1.: THERE IS A REASONABLE EXPECTATION THAT INTENDED USERS OF THE ONTOLOGY WILL HAVE A NEED FOR THEM, OR 2.: SUCH TERMS ARE NEEDED TO FILL GAPS IN THE ONTOLOGY IN ORDER TO CREATE A COMPLETE HIERARCHY

GENERAL LESSON

USE INTELLIGIBLE DEFINITIONS

A GOOD ONTOLOGY USES DEFINITIONS WHICH ARE BOTH (1) HUMANLY INTELLIGIBLE (TO AVOID ERROR IN HUMAN USE AND MAINTENANCE) AND (2) FORMALLY SPECIFIABLE (IN SUCH A WAY AS TO SUPPORT SOME STANDARD TYPE OF SOFTWARE)
---------------------------------------
class_of_relationship_with_signature
DEFINITION: A <class_of_relationship_with_signature> is a <class_of_relationship> that may have a <role_and_domain> specified for each end.

What is a relationship_with_signature? What is a signature? What is an end?

 

MW: Well this is a community thing. (One expects people who read a data model to be familiar with the basic terminology of data models). If you were in the data modelling community this would be quite natural, and if I used words like tuple, or relation there I would get a blank stare. But I am not modelling relations and tuples and tuples places, but entity (types) - represented by boxes, and relationship (types) - represented by lines. It is then quite natural to talk about the ends of relationship (types).

 

MW: Signature should be explained and hasn't been. I will put it on the action list. It simply means a class of relationship that has relationships that constrain the role and domain for one or both of its places.

Is a <class_of_relationship> which does not have a <role_and_domain> specified for each end also a class_of_relationship_with_signature? In every case? Only in some cases? If so in which cases?

 

MW: You seem to have missed the EXPRESS specification which is the formal (computer interpretable) part of the definition. This says that specifying one or other end is optional. If neither end is specified, then you would just have a class_of_relationship.


GENERAL LESSON

AVOID SUBJECTIVITY IN DEFINITIONS

IN FORMULATING DEFINITIONS, AVOID PHRASES LIKE ‘WHICH MAY ...’ WHICH INVITE SUBJECTIVE INTERPRETATION.

 

MW: How would you describe something optional then?
-----------------------
class_of_individual
DEFINITION: A <class_of_individual> is a class whose members are instances of <possible_individual>

Why do we have here ‘class_of_individual’ on the class side, but only ‘possible_individual’ on the member (?) / instance (?) side (and on the right hand side of the definition).

 

MW: Because we chose to abbreviate the name below the top level possible_individual.
-----------------------
class_of_information_object
DEFINITION: A <class_of_information_object> is a <class_of_arranged_individual> whose members are members of zero or more <class_of_information_representation> and of zero or more <class_of_information_presentation>.
NOTE Usually, it is a physical_object (like a paper document) that is classified as a <class_of_information_object>.
EXAMPLE Newspaper is a <class_of_information_object>.

Why do we have ‘a paper document is classified as a <class_of_information_object>’ rather than the seemingly more sensible: ‘a paper document is classified as a <information_object>’? Why are classes of information objects included in the ontology but not information objects? Why is a newspaper a class of information object rather than an instance / member of this class?

 

MW: Firstly, examples are there to show instances of the entity type defined. They are not part of the ontology defined in this standard.

 

MW: Secondly, you seem to have misread this. The example says "Newspaper is a <class_of_information_object>" not "A newspaper is a <class_of_information_object>". A newspaper would indeed be a member of the class newspaper.

The answer to this last question is of course: ‘Idiot, Smith, you have again willfully misunderstood what the ontology is getting at’. 

 

MW: You are too hard on yourself. We are all human.

 

Indeed. I have misunderstood because the ontology itself fails to conform to the

GENERAL LESSON

PRINCIPLE OF TYPES AND INSTANCES

A GOOD ONTOLOGY IS CAREFUL TO MARK SYNTACTICALLY THROUGHOUT, BOTH IN THE ONTOLOGY ITSELF AND IN ITS DOCUMENTATION, WHETHER IN ANY GIVEN CONTEXT IT IS REFERRING TO TYPES (UNIVERSALS, KINDS, GENERALS) OR TO INSTANCES (PARTICULARS, TOKENS, INDIVIDUALS). 

 

MW: I would be interested if you could find a real example of this.

 

GENERAL LESSON

PRINCIPLE OF HELPFULNESS

A GOOD ONTOLOGY HAS HELPFUL DOCUMENTATION


What is meant by ‘Newspaper is a <class_of_information_object>’ is of course something like:

 

newspaper is_a information object

 

(i.e.: The type newspaper is_a_subtype_of the type information_object.) But now we see that we can say the very same thing in terms of instances, and using English grammar: a newspaper is an information object. 

 

MW: Which I would expect to happen at the Reference Data level.

-------------------------
class_of_compound
DEFINITION: A <class_of_compound> is a <class_of_arranged_individual> whose members consist of arrangements of molecules of the same or different types, bound together by intermolecular forces. This includes both mixtures and alloys.
EXAMPLE Water, sulphuric acid, sand, limestone, and steel can be represented by instances of <class_of_compound>.

Does this mean that a given portion of water is an instance of <class_of_compound>? Or that the corresponding substance-type is an instance of this class?

If the former, should not the ontology, given its purpose, provide (or better: refer or link to) a good theory of portions and masses of stuff (and indeed a good ontology of liquids)? (As far as I can tell from the supplementary material provided by Matthew, portions are called ‘batches’ by 15926, which includes axioms like:

 

A Batch is a type of Material.

All Batches are Materials.

All Equipments are Materials

Each Material must be either a Batch or an Equipment – but not both

 

MW: Actually these were just used as illustrations of things that might be said. None of the statements in these examples are part of ISO 15926-2.

 

I recommend one or other of the standard texts on mass terms (e.g. by Pelletier).

 

If the latter: instead of saying that ‘water is an instance of <class_of_compound>’, why does it not simple say that ‘water is a <compound>’?

 

MW: Again, we are showing example instances of the entity types. 

 

--------------------------
class_of_number
DEFINITION: A <class_of_number> is a <class_of_class> whose members are members of <arithmetic_number>.
EXAMPLE The class of prime numbers can be represented by an instance <class_of_number>.

Why is ‘<arithmetic number>‘ included in the definition but not in the ontology? 

 

MW: It is there!

 

The suspicion is: (1) that this is an error, (2) that the error was committed because ‘number’ in fact means ‘arithmetic number’. This hypothesis is supported also by the helpful

integer_number
DEFINITION: An <integer_number> is an <arithmetic_number> that is an integer number.

HERE WE HAVE AN ILLUSTRATION OF THE IMPORTANCE OF THE PRINCIPLE OF COMPOSITIONALITY. IF

‘number’ means ‘arithmetic number’

THEN

‘arithmetic number’

MEANS

‘arithmetic number number’.

(And similarly for ‘representation’ and ‘representation of thing’; ‘individual’ and ‘possible individual’, and so on.)

The definition of integer number also reminds us of the

GENERAL LESSON

PRINCIPLE OF NON-CIRCULARITY OF DEFINITIONS: A GOOD ONTOLOGY SHOULD AVOID CIRCULAR DEFINITIONS (AND, A FORTIORI, IT SHOULD AVOID HL7-STYLE DEFINITIONS OF THE FORMS: ‘AN A IS THE B OF AN A’ OR: ‘AN A IS AN A WHICH IS B)

 

MW: What we are actually doing here is ostension. We are saying that our label means what the words integer number mean, i.e. go and look it up in a dictionary. When we use words as part of terms, e.g. <integer_number> no meaning should be attributed to it beyond the definition. When we use words like integer number not in a label, then they mean what the ordinary words mean in a dictionary. The clear conclusion to draw is that we think that integer number is sufficiently well understood that no further definition is required. Since the target audience is largely computer programmers, who know just what to do when you ask for an integer number, this would seem reasonable.
--------------------------
class_of_dimension_for_shape
DEFINITION: A <class_of_dimension_for_shape> is a <class_of_class_of_relationship> that indicates that members of the class_of_shape have a dimension that is a member of the class_of_dimension.
EXAMPLE Specifying that members of the “class of circle” have members of “class of diameter” is an instance of <class_of_dimension_for_shape>.

This means (I think): circles have diameters.

 

MW: Class_of_dimension_for_shape is intended to allow you to make statements like "circles have diameters".

Questions: How does the use of ‘member’ here relate to the use of ‘instance’? 

 

MW: They both mean member of a class, but instance is used when the class is an entity type in the model, whilst member of means there is an instance of the classification entity type between instances of the data model. I had thought this had been documented in the standard, but on checking I find that it isn't. I will get it fixed.

 

Why is ‘member’ not included in the ontology? 

 

MW: "is a member of" is a synonym for "is the classified object in a classification relationship".

 

How can SPECIFYING something be an instance of ‘class_of_dimension_for_shape’? 

 

MW: Specifying the conditions for class membership seems quite natural to me.

 

When we say that ‘members of the “class of circle” have members of “class of diameter”’ are we saying that the latter is a subset of the former? 

 

MW: No. We are saying that a member of "class of circle"  and a member of "class of diameter" constrain a dimension_of_shape class_of_relationship.

 

And what is the correct reading of the double quotation marks around ‘class of circle’? (Note that ‘class of circle’ and ‘class of diameter’ are not included in the ontology; or not in the bit that is available free.)

 

MW: That you are to see the whole string as an identifier, rather than as separate words.

There is no term ‘dimension_for_shape’, but there is a term ‘dimension_of_shape’. 

 

MW: Typo. Thanks for spotting. 

 

How, now, does ‘class_of_dimension_for_shape’ relate to the term

 

MW: The relationship is classification.

dimension_of_shape
DEFINITION: A <dimension_of_shape> is a <class_of_class_of_relationship> that indicates that members of the <shape_dimension> are dimensions of the <shape> members.

Life is made even harder here by the fact that the example text provided:

EXAMPLE The sets of 10m lines that are diameters of 10m circles is an example of <dimension_of_shape>

conforms only loosely to the rules of English grammar. This is itself a reflection of the fact that we have here a departure from

GENERAL LESSON

THE PRINCIPLE OF SINGULARITY: THE TERMS OF A GOOD ONTOLOGY ARE FORMULATED IN THE SINGULAR, AND THE ONTOLOGY’S DOCUMENTATION PAYS VERY CAREFUL ATTENTION TO THE DISTINCTION BETWEEN SINGULAR AND PLURAL

 

MW: I think you read too many (or too few) grammar books..

 

A good special case of this general lesson is:

 

DO NOT USE PLURAL NOUNS WITH SINGULAR VERBS


If we compare the two just-mentioned definitions then we see that both <class_of_dimension_for_shape> and <dimension_of_shape> are what are quaintly called ‘<class_of_class_of_relationship>s’.

Is the syntax of this ‘<class_of_class_of_relationship>s’ somewhere defined? Does it signify that there are distinct <class_of_class_of_relationship>s, perhaps <class_of_class_of_relationship_with_related_end_1> and the like, so that we can count them? Or does it refer to the fact that there are distinct members of the <class_of_class_of_relationship>, i.e. to what would more properly be called ‘<class_of_relationship>s’? I think we should be told.

 

MW: I'm not sure what the fuss is about here. It sounds like you didn't find <class_of_class_of_relationship>. It is there.

 

The use of ‘of’ and ‘for’ also reminds us of a further:


GENERAL LESSON:

PRINCIPLE OF COHERENCE IN THE USE OF GENERIC TERM-BUILDING OPERATORS

IF AN ONTOLOGY USES IN A SYSTEMATIC WAY TERMS OF THE FORM ‘A X B’ (WHERE ‘X’ IS FOR EXAMPLE ‘with’, ‘without’, ‘of’, ‘for’, ‘/’, etc.) THEN IT SHOULD SPECIFY CLEARLY THE SYNTAX OF ‘X’, PROVIDE A STATEMENT OF WHAT EXPRESSIONS OF THE FORM ‘A X B’ MEANS, AND USE EACH SUCH FORM IN THE SAME WAY THROUGHOUT THE ONTOLOGY AND ITS DOCUMENTATION

MW: We make no pretence at attempting to do this. You are not supposed to be able to parse the terms in the ontology. The labels are only there for people to read and provide some clue as to the definition.

But now things get even worse.
In addition to ‘class_of_dimension_for_shape’ we also have

class_of_shape_dimension
DEFINITION: A <class_of_shape_dimension> is a <class_of_class> that is a dimension of a <class_of_shape>.
EXAMPLE Diameter, height, and width (in general rather than a particular one) are examples of <class_of_shape_dimension>

as well as all of the following:

shape_dimension
DEFINITION: A <shape_dimension> is a <class_of_class_of_individual> that is a set of <individual_dimension> that define an aspect of a shape.
EXAMPLE Diameter of 5m, height of 3mm, and width of 10cm are members of <shape_dimension>.

individual_dimension
DEFINITION: An <individual_dimension> is a <class_of_individual> whose members characterize a particular <possible_individual>.
EXAMPLE The set of lines that are each a diameter of a particular circle.

and

multidimensional_object
DEFINITION: A <multidimensional_object> is an <abstract_object> that is an ordered list of <thing>. The significance of the <multidimensional_object> is determined by being a member of a <class_of_multidimensional_object> that indicates the role played by each of its elements.

The term ‘dimension’, in all of this, seems to have lost any claim to a single coherent meaning, contravening the venerable

GENERAL LESSON
PRINCIPLE OF UNIVOCITY: EACH TERM IN AN ONTOLOGY SHOULD HAVE THE SAME MEANING ON EVERY OCCASION OF USE

 

MW: Dimension is not a term in the ontology, only a part of the label for a term.

The use of expressions like ‘indicates’, ‘an aspect of’ and ‘characterize’ in these definitions contravene in addition our principle cautioning avoidance of subjectively interpretable phrases in definitions. 

 

MW: I suspect the only subjectivity here is your own.

------------------------------------
class_of_sub_atomic_particle
DEFINITION: A <class_of_sub_atomic_particle> is a <class_of_arranged_individual> whose members are constituent particles of atoms.
EXAMPLE Proton, electron, meson, neutron, positron, muon, quark, and neutrino can be represented by instances of <class_of_sub_atomic_particle>.

arranged_individual
DEFINITION: An <arranged_individual> is a <possible_individual> that has parts that play distinct roles with respect to the whole. The qualities of an <arranged_individual> are distinct from the qualities of its parts.

What are the parts of a neutrino? What distinct roles do they play?

 

MW: It's a fair cop guv. (Though I suppose I could try to weasel out with improper parts). We'll fix the definition.
-----------------------------------
In addition to the ‘class of’ terms in the ontology we are also provided with an odd list of ‘class of class of’ terms:

class_of_class_of_composition
class_of_class_of_definition
class_of_class_of_description
class_of_class_of_identification
class_of_class_of_individual
class_of_class_of_information_representation
class_of_class_of_relationship
class_of_class_of_relationship_with_signature
class_of_class_of_representation
class_of_class_of_representation_translation
class_of_class_of_responsibility_for_representation
class_of_class_of_usage_of_representation

where ‘class_of_class’ itself has the lovely definition:

‘A <class_of_class> is a <class> whose members are instances of <class>.’

(I still do not know what ‘member’ or ‘instance’ mean.)

Again, I could find no rationale for including just these items in the list above.

Two of the items on the list:

class_of_class_of_composition
class_of_class_of_representation

suspiciously, have no corresponding ‘class of’ term in the ontology, though the first of these contains a reference to such a term in its definition:

 

MW: The definition has a typo (already fixed) <class_of_composition> should read <class_of_composition_of_individual>. As is our wont we abbreviate names when we think we can get away with it.

 

With <class_of_class_of_representation> the relevant term is <class_of_representation_of_thing>.

class_of_class_of_composition
DEFINITION: A <class_of_class_of_composition> is a <class_of_class_of_relationship> whose members are instances of <class_of_composition>. It indicates that a member of a member of the class_of_class_of_part is a part of a member of an instance of the class_of_class_of_whole.
EXAMPLE Toxicity description is a class_of_class_of_part of a material data sheet, where the description “has carcinogenic components” is a class_of_part on the Mogas Material Safety Data Sheet, and copy #5 of the Mogas Material Safety Data Sheet has “has carcinogenic components” as a part.

Note that ‘class_of_class_of_part’ and ‘class_of_class_of_whole’ are not included in the ontology, though the definition and example here suggest that there might be some sort of need for these terms, too.

 

MW: They are included. You can see them as attributes of <class_of_class_of_composition>.

Astonishingly, we learn from the first clause of the example text that a description is a class_of_class_of_part (!?); from this it seems to follow that a description is a class (what, then, are the MEMBERS of a description?); 

 

MW: A piece of paper with some words on it.

 

the rest of the example text departs too far from grammatical English to make sense.
--------------------------------
As to:

class_of_feature_whole_part
DEFINITION:  A <class_of_feature_whole_part> is a <class_of_arrangement_of_individual> whose members are instances of <feature_whole_part>.
EXAMPLE Thermowells have stems, and tables have tops are examples of <class_of_feature_whole_part>.

‘Tables have tops’ is a sentence; it is not an example of an entity.

 

MW: It is none the less the essence of what a particular instance with attributes states.

feature_whole_part
DEFINITION: A <feature_whole_part> is an <arrangement_of_individual> that indicates that the part is a non-separable, contiguous part of the whole.
NOTE This includes wholes that cannot be non-destructively disassembled and reassembled such as the cast inlet flange of a pump.
EXAMPLE The relation that indicates that a flange face is part of a flange can be represented by an instance of <feature_whole_part>.

The definition says that the wholes in question should be non-separable; yet the corresponding example under ‘class of’ includes tables and tops, and many tops ARE separable. 

 

MW: By top we mean the top surface, rather than the whole piece of wood (or whatever). It could be stated less ambiguously.

 

So what does ‘non-separable’ mean? And how does its use here relate to its use in the definition of ‘composite material’ (see above), where we are told that fibreglass and carbon fibre consist of SEPARABLE compounds?

More: Is feature_whole_part a class? 

 

MW: If you are referring to the term itself, of course it is a class. All entity types are. If you mean is a feature_whole_part a class, no, it is an <arrangement_of_individual> (as the definition says).

 

If yes, how does it differ from: class_of_feature_whole_part? 

 

 

If no, why does it have instances? 

 

MW: As usual, instances of the class_of_X entity type have instances of the X entity type as members.

 

(See EXAMPLE.) And what are the relations of ‘representation’ and ‘indication’ here? 

 

MW: "that indicates" is just a conventional form of words we use to introduce the differentiating phrase for relationships and classes of relationship. Its use goes back to the time when as a data model its instances were considered to be records that represented something in the world rather than the thing itself. 

 

MW: "represented" here relates the real world object to a database record.

 

Is the relation that indicates that a flange face is part of a flange the SAME as the actual relation between a flange face and a flange? If so, why not say so? If not, is there another place in the ontology where this ‘indication’ relation is defined?

 

MW: The intention is the former. I guess what we have here is something left over from previous conventions. At one level the instances of the data model are database records, and they "indicate" or "represent" the real world relationship. We have deliberately moved towards talking just in terms of the real world objects. We use this form of words consistently in all our relationship definitions. It occurs to me that "where" might be a suitable alternative to "that indicates". I'll look into it.
----------------------------------
event
DEFINITION: An <event> is a <possible_individual> with zero extent in time. An <event> is the temporal boundary of one or more <possible_individual>s, although there may be no knowledge of these <possible_individual>s.

GENERAL LESSON

PRINCIPLE OF COMPLETE DEFINITIONS: DO NOT INCLUDE EXTRA CLAUSES IN DEFINITIONS WHICH CONTRIBUTE NOTHING TO THE APPLICATION OF THE DEFINITION FOR THE PURPOSES OF DETERMINING (1) THE MEANING OF THE DEFINED TERM OR (2) THE ENTITIES WHICH FALL UNDER IT.

 

MW: Correct. The second sentence should have been a note.
----------------------------------
responsibility_for_representation
DEFINITION: A <responsibility_for_representation> is a <relationship> that indicates that the controller <possible_individual> administers the controlled <representation_of_thing>.

class_of_responsibility_for_representation
DEFINITION: A <class_of_responsibility_for_representation> is a <class_of_relationship> whose members indicate that a <possible_individual> (usually an organization) deems that members of the pattern can be used as representations of the represented thing.

Why is the latter not defined in terms of the former? (Some sort of failure of recursiveness looms here.) Note also, again, the problematic use of ‘indicates’, ‘deems’, ‘usually’ and ‘possible_individual’ here. Are there possible_individuals which are usually organizations but occasionally also not organizations?

 

MW: Well the "usually an organization" should be a note. "indicates" we have already covered. I don't understand the problem with "deems" or possible_individual.
---------------------------------
actual_individual

DEFINITION: An <actual_individual> is a <possible_individual> that is a part of the space-time continuum that we inhabit. It exists in the present, past, or future of our universe, as opposed to some imagined universe.

 

Interestingly, the entry under this heading tells us (I think) that its record creator is an entity of the type ‘possible_individual’.

 

possible_individual
DEFINITION: A <possible_individual> is a <thing> that exists in space and time. This includes:
- things where any of the space time dimensions are vanishingly small,
- those that are either all space for any time, or all time and any space,
- the entirety of all space time
- things that actually exist, or have existed,
- things that are fictional or conjectured and possibly exist in the past, present or future,
- temporal parts (states) of other individuals,
- things that have a specific position, but zero extent in one or more dimensions, such as points, lines, and surfaces.
In this context existence is based upon being imaginable within some consistent logic, including actual, hypothetical, planned, expected, or required individuals.

Question: are things which look like small flies from a distance actual or possible individuals?

 

MW: They are certainly possible_individuals, they may also be actual_individuals

 

Question: why did the ontology not help itself, in accordance with the principle of modularity, to some standard modal logical resources (which would surely have produced a more humanly intelligible result than this)?

 

MW: We prefer to avoid modal logic. So far a Possible Worlds approach has worked well for the kind of planning scenarios we mostly encounter. When it breaks we will doubtless consider alternatives or additions.

Question: what is the difference between ‘being part of the space-time continuum that we inhabit’ (= being actual) and ‘existing in space and time’ (= being possible)? 

 

MW: In a possible worlds approach there are many universes all of which are a hunk of space time. We call the one we inhabit the actual universe.

 

Question: Why are fictional things included in the list of entities which exist in space and time? Is this because ‘space’ and ‘time’ themselves refer to ‘possible space’ and ‘possible time’?  

 

MW: Fictional things exist in possible universes, each of which will have its own space-time extent.

 

If so, then are actual individuals themselves more properly to be conceived as entities which exist in possible space-time?

 

------------------------------
spatial_location
DEFINITION: A <spatial_location> is a <physical_object> that has continuity of relative position.
EXAMPLE Geographic datum, license block, construction area, country, air corridor, maritime traffic zone, hazard control zone, 4D points, lines, planes, solids.

spatial_location is hereby asserted to be a subtype of physical object.

physical_object
DEFINITION: A <physical_object> is a <possible_individual> that is a distribution of matter, energy, or both.

What is the distribution of matter or energy or both that is an air corridor?

 

MW: The air in the corridor.


What is the distribution of matter or energy or both that is the boundary line between Colorado and Utah?

 

MW: The boundary between Colorado and Utah is not a physical object, it is a line. (To be a spatial location you must first be a physical_object). So Colorado and Utah would be spatial objects, but not the boundary between them. Now if we were talking about a fence on the border, that would be a physical object. Looking at the model it strikes me that we have not covered spatial boundaries explicitly. I suspect we should have something like spatiotemporal_boundary with event and spatial_boundary as subtypes. These would work analogously to event. Your boundary line would then be the intersection (common part) of the Colorado and Utah boundaries.


What is the distribution of matter or energy or both that is Middle Earth?

 

MW: That is a possible_individual and not an actual_individual.