I built a little <a href="http://www.cs.man.ac.uk/stevensr/ontology/particle.owl”>ontology of sub-atomic particles. This was motivated by work on a description of basic chemistry that was an attempt to infer the groups of the Periodic Table from physico-chemical properties using only OWL’s automated reasoners (<a href="http://www.cs.man.ac.uk/stevensr/ontology/periodic.zip”>periodic table ontology).
Atoms can, of course, be defined by their protons; any atom that has 3 protons can be recognised to be a lithium atom and can be a lithium atom – were it to have 2 protons, it would be a helium atom. Chemistry largely comes from behaviour of electrons; the basic number of which is determined by the number of protons and the ease with which they are gained or lost by a type of atom. We also have neutrons as well, variations of which gives us isotopes of atoms.
When describing chemistry, where does our interest end? Presumably, we could just build an ontology of sub-atomic particles and by eventual and successive composition we can create an ontology of everything; this is silly. However, for chemistry we only need to go as far as protons and ewlectrons (and in some cases the neutrons affect chemistry as well). However, for most chemistry I’m not interested in things below proton/electron.
There is often a question of “when do I stop modelling?”. We do not need to go any further than protons and electrons (quarks) and so on as far as chemistry is concerned. So, for my Periodic Table ontology, I just drew the line at having protons, electrons and neutrons; I can capture most of my chemistry without appealing to sub-atomic physics (though, of course, it does get important, just not for what I’m doing and what many people in biology wish to do).
As a little side-line, however, I knocked together an ontology of sub-atomic particles. I have an ignorance of the area. I used Wikipedia pages to gather my knowledge. As usual, as with any ontology, just doing it raises some interesting points.
I used a flat list of sub-atomic particles and then used defined classes to build the hierarchy. I have a quality of “spin” — both half and full. A particle has either half or full spin (so the property is functional). thus Fermions and Bosons are built.
Class: Fermion Annotations: [in particle.owl] label "Fermion" EquivalentTo: [in particle.owl] FundamentalSubAtomicParticle and (hasSpin some HalfSpin)
Class: Boson Annotations: [in particle.owl] label "Boson" EquivalentTo: [in particle.owl] FundamentalSubAtomicParticle and (hasSpin some IntegerSpin)
Leptons are fundamental particles with half spin and carriers of various types of force:
Class: Lepton Annotations: [in particle.owl] label "Lepton" EquivalentTo: [in particle.owl] FundamentalSubAtomicParticle and (carriesForce some (ElectroMagneticForce or GravitationalForce or WeakNuclearForce)) and (hasSpin some HalfSpin) and (carriesForce only (ElectroMagneticForce or GravitationalForce or WeakNuclearForce))
A Nucleon is simply EquivlantTo: (Proton or Neutron. There’s a whole lot more of such defined classes.
I’ve used hasPart that is transitive and hasDirectPart as a sub-property that is not transitive. In OWL one cannot count with transitive propeties, so a design pattern of counting with the intransitive sub-property that implies the transitive super-property yields the desired effects.
Similarly, using qualified cardinality restrictions gives the ability to describe Proton and Neutron by the number of different types of Quark;a neutron has one up quark and 2 down quark (plus some gluon). A Baryion, not a particle of realism, but a composite particle made of exactly 3 quark. A Pion has a quark and an anti-quark. A composite sub-atomic particle is any particle with min 2 fundamental sub-atomic particles (that are those sub-atomic particles that cannot be further divided). I modelled composite particle as having min 2 fundamental or anti-fundamental sub-atomic particles.
Charge on Quarks is interesting. Protons have a charge of one and neutrons are, well, neutral. They are made up from quarks that have charge that “add up” to the charge of the resulting particle. So, we end up with one third and two thirds positive and negative charges. this sounds silly, but what we’re really talking about is “amount” of charge. Charge is given an integer value because some particles (atoms) have twice as much charge as another and so on. As we found out about sub-atomic particles that have charge that are fractions of this conventional amount, we start to get fractional charges. This would suggest that charge should be an “amount” that has a quality of being positive or negative. waht I did was multiply the one third and two third charges by three, giving me the integer; if this permeated through, I’d have to multiply my “traditional” charges on atoms by 3 as well.
I have included “unicorn” entities such as the Higgs boson and the graviton. These particles have been postulated, but (as far as I know), we’ve as yet no evidence for their existence — apart from a theoretical postulation.
There are particles and anti-particles. Waht is the relationship between the two? I don’t want to use the standard restriction upon a class:
Class: Electron SubClassOf: SubAtomicParticle that isAntiParticleOf some Positron
as this means “each and every electrron is an anti-particle of at least one positron”; we don’t want to say this at all. We need a higher order statement that the class “electron” has a relationship with the class “Positron”. this relationship is also symmetric. OWL2’s punning is a candidate for saying this — or we use simple annotation properties. Also, one goal is to have the hierarchy of the anti-particles built by the hierarchy of the particles. That is, as we infer the one so we infer the heirarchy of the other.
Here are a few things that I’d like to be able to do (but lack the knowledge of the physics):
- I need mass in the ontology;
- I need energy in the ontology — perhaps even inferring the equivalence of mass and energy.
- The other things I’ve forgotten.