“(…) we think it is important to stress that ontologies are not just formal representations of a domain, but community contracts about such representations. Given that a discourse is a dynamic, social process during which participants often modify or discard previous propositions or introduce new topics, such a community contract cannot be static, but must evolve. Also, the respective community must be technically and skill-wise able to build or commit to the ontology” – Martin Hepp, 2007
The RDF standard for a graph database and the associated serialized files, like RDF/XML or Turtle, contain the scientific data (consisting of URI’s and literals). The interpretation or meaning of that data, however, requires a vocabulary for defining the data. That vocabulary is an ontology, in this case an ontology for computational chemistry. Simple ontologies use a schema for RDF (RDFS) but in general the Web Ontology Language (OWL) and OWL files are better used to describe the ontology. An OWL file is usually formatted as RDF/XML for convenience although an OWL ontology is not to be confused with the fundamental data described by RDF. It is just simply convenient to use RDF to describe an ontology. This shows the power of RDF in that the ontology can be described by the same structure as the data.
Simple OWL File
An OWL file begins by describing the classes (and subclasses) that are basic entities of the ontology. For example the classes might be MolecularSystem, Molecule and Atom, where the MolecularSystem is what a calculation is performed on and which is assumed to be a collection of atoms and molecules. These classes have ObjectProperties that relate one class to another. The ObjectProperty, hasMolecule, relates the class MolecularSystem (the Domain) to the class Molecule (the Range). The ObjectProperty, hasAtom, similarly relates the class Molecule to the class Atom. The following is a portion of such an ontology expressed in Turtle.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix cs: <http://chemicalsemantics.com/dictionary/chemicalsemantics/#> .
cs:hasMolecule rdf:type owl:ObjectProperty ;
rdfs:domain cs:MolecularSystem ;
rdfs:range cs:Molecule .
cs:hasAtom rdf:type owl:ObjectProperty ;
rdfs:range cs :Atom ;
rdfs:domain cs :Molecule .
Using such an ontology allows the trivial inference that a MolecularSystem has atoms although that is not explicitly stated! An ontology also has DataType Properties that relate a class to a Literal rather than another class. For example, the dataType property, hasMultiplicity, might relate a class of SCF calculations to the Literal 1 or 3 to indicate singlet or triplet.
Chemical Semantics, Inc. is in the middle of defining an ontology for computational chemistry. A very professional version of this will not be available quickly. A view of a very preliminary draft version is shown below:
One of the most important efforts of Chemical Semantics, Inc. is the development of a proper ontology for computational chemistry. The effort will require contributions from many members of this particular scientific community.