BFOites often use unicorns as a stick with which to beat those that question the particular sect of realism portrayed in BFO. The argument goes something along the line of “well if you don’t wish to model only universals then you’re prepared to model “unicorn””.
Just so that I can say I’ve built an ontology that has the notion of “Unicorn” I’ve built an ontology of heraldry. As an ontology it is not really up to much, except (as with any ontology) building it has thrown up some modelling issues. Of course, I have to say now, that I suppose everything in this ontology is some kind of information, so I’m not really claiming I havbe an ontology with a “real” unicorn in it; nevertheless, I have an ontology that describes unicorns and other mythical creatures… Also, I’m not describing anything that wouldn’t be captured somewhere in a BFO compliant ontology.
In heraldry, almost anything (a charge) can be placed upon a field. these can be animals (real and mythical), animal parts, man made objects, geometrical symbols, and so on. A field may also be uncharged, that is, plain. With some twiddly bits, the field plus the optional charge is an escutcheon.
the field and charge have a tincture. The tinctures (colours) are traditionally more restricted and divided into “colours” and “metals”. the rule of tincture stipulates that metal should not be placed on metal and vice versa. This stops an argent (white) horse being charged on a field of Or (yellow). There is an exception where the natural tincture of the charge is placed on a field of the same tincture –“a horse argent proper”; I’ve not attempted this at the moment.
We can capture the rule of tincture in OWL, but it is a bit convoluted. there are three options:
- disjointness of two axioms for field with metal tincture and one for charge with metal tincture.
- Making owl:nothing equivalent to field hasTincture metal and charge hasTincture metal
- adding some restrictions such as hasField hasTincture Metal hasCharge some (charge that hastincture only Colour) — getting the some and only right!
My Heraldry Ontology (The HO) captures the ruel of tincture. I’ve done it using option three in the following way:
- Added defined classes for plain escutcheon, coloured escutcheon with metal charge and metal field with coloured escutcheon.
- I then make the class escutcheon be covered by these three defined classes.
- Any of my individuals that are actual escutchia should be one of these three classes.
- Breaking the rule of tincture will cause an inconsistency.
The four classes involved are:
1.
Class: Escutcheon Annotations: [in heraldry] comment "A shield; can have a shield with a field but no charge."^^string, label "Escutcheon"^^string EquivalentTo: [in heraldry] * Escutcheon, 'Plain escutcheon' or 'Coloured Escutcheon and metal charge' or 'Metal escutcheon and coloured charge' SubClassOf: [in heraldry] hasPart only Field |
2.
Class: 'Plain escutcheon' Annotations: [in heraldry] label "Plain escutcheon"^^string, comment "A tinctured field with no charges."^^string EquivalentTo: [in heraldry] * 'Plain escutcheon', Escutcheon and (hasPart some (Field and (not ('is charged with' some Charge)) and ('has tincture' some Tincture))) |
Here we need an individual representing a plain escutcheon to have a tincture, and only that tincture, and to be known to have no charge. With the open world assumption just not saying there is a charge doesn’t mean there isn’t one. Our individual will have to say there isn’t a charge on this escutcheon.
3.
Class: 'Metal escutcheon and coloured charge' Annotations: [in heraldry] label "Metal escutcheon and coloured charge"^^string EquivalentTo: [in heraldry] * 'Metal escutcheon and coloured charge', Escutcheon and (hasPart some (Field and ('is charged with' some (Charge and ('has tincture' some Colour) and ('has tincture' only Colour))) and ('has tincture' some Metal) and ('is charged with' only (Charge and ('has tincture' some Colour) and ('has tincture' only Colour))) and ('has tincture' only Metal))) |
Here we say that the field must have a metal tincture and can only have a metal tincture, and vice versa for the charge. Note the care with which everything is closed off.
4.
Class: 'Coloured Escutcheon and metal charge' Annotations: [in heraldry] label "Coloured Escutcheon and metal charge"^^string EquivalentTo: [in heraldry] * 'Coloured Escutcheon and metal charge', Escutcheon and (hasPart some (Field and ('is charged with' some (Charge and ('has tincture' some Metal) and ('has tincture' only Metal))) and ('has tincture' some Colour) and ('is charged with' only (Charge and ('has tincture' some Metal) and ('has tincture' only Metal))) and ('has tincture' only Colour))) |
we can add various individuals with fields and charges and the HO captures them well enough (it is a limited part of blazon that I’ve implemented). If we add an individual for “Argent with latin cross Or” like this:
Individual: 'Argent with latin cross Argent' Annotations: [in heraldry] comment "Should break rule of tincture"^^string, label "Argent with latin cross Argent"^^string Types: [in heraldry] (hasPart some (Field and (('is charged with' some ('Latin cross' and ('has tincture' some Argent) and ('has tincture' only Argent))) and ('is charged with' only ('Latin cross' and ('has tincture' some Argent) and ('has tincture' only Argent)))) and ('has tincture' some Argent) and ('has tincture' only Argent))) and (hasPart only (Field and (('is charged with' some ('Latin cross' and ('has tincture' some Argent) and ('has tincture' only Argent))) and ('is charged with' only ('Latin cross' and ('has tincture' some Argent) and ('has tincture' only Argent)))) and ('has tincture' some Argent) and ( 'has tincture' only Argent))), Escutcheon |
Note that everything on this individual is a type assertion to anonymous individuals for charges and their tinctures. Note that this lets me be very closed about what I say; I’ve used universal quantification to help me close this down. I’ve used some functional properties for other qualities of things. Being this closed is really hard, largely from a syntactic point of view. It is just hard plugging all the gaps. Uli Sattler had to help me out after I’d stared at a mass of parentheses for too long and not seen the problem of an “openness gap” that I knew was there.
With this individual, the HO becomes inconsistent. That is, this instance cannot exist in this ontology. this is because it breaks the rule of tincture by having a white cross on a white background; though the reasoner doesn’t say this. I have to use Matt Horridge’s wonderful explanation gadgets. The explanation for this inconsistency is (as a not very beautiful table):
1
|
Escutcheon EquivalentTo Plain escutcheon or Coloured Escutcheon and metal charge or Metal escutcheon and coloured charge
|
2
|
2
|
Plain escutcheon EquivalentTo Escutcheon and (hasPart some (Field and (not (is charged with some Charge)) and (has tincture some Tincture)))
|
2
|
3
|
Argent with latin cross argent Type (hasPart some (Field and ((is charged with some (Latin cross and (has tincture some Argent) and (has tincture only Argent))) and (is charged with only (Latin cross and (has tincture some Argent) and (has tincture only Argent)))) and (has tincture some Argent) and (has tincture only Argent))) and (hasPart only (Field and ((is charged with some (Latin cross and (has tincture some Argent) and (has tincture only Argent))) and (is charged with only (Latin cross and (has tincture some Argent) and (has tincture only Argent)))) and (has tincture some Argent) and (has tincture only Argent)))
|
2
|
4
|
Argent with latin cross argent Type Escutcheon
|
2
|
5
|
Argent SubClassOf Metal
|
2
|
6
|
Coloured Escutcheon and metal charge EquivalentTo Escutcheon and (hasPart some (Field and (is charged with some (Charge and (has tincture some Metal) and (has tincture only Metal))) and (has tincture some Colour) and (is charged with only (Charge and (has tincture some Metal) and (has tincture only Metal))) and (has tincture only Colour)))
|
2
|
7
|
Metal escutcheon and coloured charge EquivalentTo Escutcheon and (hasPart some (Field and (is charged with some (Charge and (has tincture some Colour) and (has tincture only Colour))) and (has tincture some Metal) and (is charged with only (Charge and (has tincture some Colour) and (has tincture only Colour))) and (has tincture only Metal)))
|
2
|
8
|
Light tincture EquivalentTo Metal
|
2
|
9
|
is charged with Range Charge
|
1
|
10
|
Light tincture DisjointWith Dark tincture
|
2
|
11
|
Dark tincture EquivalentTo Colour
|
2
|
The table has the axiom number, the axiom itself, and the final column indicates in how many explanations the axiom is involved. Basically, what this says is that this individual has broken the rule of tincture. The axioms say that there is a field that has a metal tincture and only has a metal tincture. There is a charge that has a metal tincture and only a metal tincture. Escutcheon is covered by 3 escutcheon types, and due to the tinctures of this individual’s charge and field, there is an inconsistency; the two types of tinctyure are disjoint, so Argent must come from one and not the other (as Argent is a kind of “Metal”).
Getting all of this to work is conceptually easy enough, but actually hard to implement. it is all about closing down the open worldness in both the TBox and ABox.
Note that the escutcheon Or with lion regardant passant coward vert has classified just under escutcheon and not under one of the three escutcheon types that cover “Escutcheon”. This is because the individual for this escutcheon is under-constrained. I’ve left it open as to whether either the field or charge can have another tincture to that already specified. As we know it is an escutcheon, but not which of the three types that cover Escutcheon, this individual is, it doesn’t break the constraint of the covering axiom. Only after we’ve ruled out that it can’t be any one of the three covering types wil the covering axiom come into effect and the ontology becomes inconsistent.
The things left to do on the HO (if I choose to) include:
- Sorting out positions on the escutcheon. There are implicit rules within blazon for where The trick with gettng things are positioned – “Azure with Gauntlet argent and sword or” implies positions for the gauntlet and sword. Without the ordering of blazon, this has to be made explicit.
- Marshalling of several fields and charges on to one escutcheon and how these are arranged.
- Indicating whether charges are arranged sinister or dexter.
- Dealing with “proper” tinctures.
- Lots of other heraldic nonsense.