Obligations to our funders and some publishers have delayed me in continuing this series of blog post and participation in the discussion on the Google Group for a few days, but I hope I can catch up on either now. In my previous blogpost, I have summarised all of the ChemAxiom modules briefly: now is the time to delve into some more detail. First up then: ChemAxiomChemDomain.
ChemAxiomChemDomain is, at the moment, a rather small, but nevertheless important ontology, which clarifies some fundamental domain concepts in chemistry, namely the relationship between platonic molecules, platonic bulk substances, instances of either and roles.
First oof all, let’s turn to some fundamental concepts. The classes “ChemicalElement”, “MolecularEntity”, and “ChemicalSpecies”are all subclasses of “snap:Object”. The class “Object” in the BFO is defined as a “material entity [snap:MaterialEntity] that is spatially extended, maximally self-connected and self-contained (the parts of a substance are not separated from each other by spatial gaps) and possesses an internal unity. The identity of substantial object [snap:Object] entities is independent of that of other entities and can be maintained through time.” Various disjoint axioms specify the fact that “MolecularEntities” are not the same as “ChemicalSpecies”, thus addessing some of fundamental issues about the relationship between molecules and substances etc.
Further axioms on these classes specify other necessary parthood relationships: “ChemicalSpecies” are composed of molecules or other ChemicalSpecies (thus giving recursion and allowing the modeling of formulations) or BulkChemicalElements.:
ChemistryOntology:ChemicalSpecies
a owl:Class ;
rdfs:comment “An ensemble of chemically identical molecular entities that can explore the same set of molecular energy levels on the time scale of the experiment.”@en ;
rdfs:subClassOf snap:Object ;
rdfs:subClassOf
[ a owl:Class ;
owl:unionOf ([ a owl:Restriction ;
owl:onProperty ChemistryOntology:hasPart ;
owl:someValuesFrom ChemistryOntology:MolecularEntity
] [ a owl:Restriction ;
owl:onProperty ChemistryOntology:hasPart ;
owl:someValuesFrom ChemistryOntology:ChemicalSpecies
] [ a owl:Restriction ;
owl:hasValue ChemistryOntology:BulkChemicalElement ;
owl:onProperty ChemistryOntology:hasPart
])
] ;
rdfs:subClassOf
[ a owl:Restriction ;
owl:onProperty ChemistryOntology:preseentInAmount ;
owl:someValuesFrom xsd:string
] ;
rdfs:subClassOf
[ a owl:Restriction ;
owl:onProperty ChemAxiomProp:hasProperty ;
owl:someValuesFrom ChemAxiomProp:Property
] ;
owl:disjointWith ChemistryOntology:ChemicalElement , ChemistryOntology:MolecularEntity
When intengrated with ChemAxiomProp (as has been done in ChemAxiomComtinuants), ChemicalSpecies can be connected up to their properties and other statements which one might wish to make about chemical species.
Another part of ChemAxiomChemDomain is the definition of roles: generic types of ChemicalSpecies, such as solvents, acids, catalysts, can be defined in terms of roles: no molecule is ever only just a solvent or an acid or a catalyst. Rather, these categories are realisable entities; a molecular species or a chemical entity behaves as a catalyst, nucleophile or a solvent under certain circumstances
ChemistryOntology:NucleophileMolecule
a owl:Class ;
rdfs:subClassOf ChemistryOntology:MolecularEntity ;
owl:disjointWith ChemistryOntology:ElectrophileMolecule ;
owl:equivalentClass
[ a owl:Class ;
owl:intersectionOf (ChemistryOntology:MolecularEntity [ a owl:Restriction ;
owl:onProperty ChemistryOntology:hasRole ;
owl:someValuesFrom ChemistryOntology:NucleophileRole
])
] .
Furthemore, roles in combination with MolecularEntity or ChemicalSpecies allow the definition of generic molecules or substances, such as acids (hydrochloric acid) and acids (proton donor), catalysts, solvents etc. At the moment, the number of axio
ms is small, however, as the body of axioms grows in the future, it can be expected, that ChemAxiom will become more and more useful for the disambiguation of concepts: while it would make sense for a chemical species, which is an acid, to talk about a pH-Value, it would not make sense to speak of “molecular acids” in the same terms.
Finally, OWL’s model of classes as collections of instances models the things we need to model really well: the class “ChemicalSpecies” and “MolecularEntitiy” and thweir respective subclasses can be thought of as rpreesentinmg the platonic ideals of molecules or substances, whereas instances of these classes can be thought of as representing “real” samples of both molecules (e.g. a single molecule, in for example, matrix isolation) and substances (100 ml of HCl in a flask).
So much for ChamAxiomChemDomain fo rnow. It is the beginning of a domain model and very much driven by the use-case I ourtlined in a prewvious blog post. Obviously, we would like to expand the scope of this particular ontology to be morwe universally useful in the future., However, I believe that rather to do this via random ontological engineering, this should be driven by use-cases. So therefore, if you have use-cases in mind, please be in touch and let’s discuss how we can collaborate.
Tags and automatic links, as always, by Zemanta.