(input) needed and the output expected from the
process. The hierarchy of processes and the
human and machine-readable vocabularies within
the process definitions provide meta-data
semantic enhancement. Transactions are a special
case of processes used to promote versioning, data
tracking and data quality within the database.
• Static versus Dynamic Knowledge: The role of
the ontology within CHEMCONNECT is to
capture ‘static’ knowledge, particularly data
structures. The database captures the expanding
data and knowledge within the domain.
The ontology gives a semantic context to the data
in the database following the principles of Ontology
Based Data Management (Lenzerini 2011;
Dehainsala, Pierra, and Bellatreche 2007). In this
respect, the ontology supplements the data within the
database by providing additional information about a
data object that is fixed for all data objects of the same
type. The database object can be seen as an instance
of this object.
The human readable meta-data provided by all
ontology objects provides documentation, comments
and labels that can be used by the user-interface.
Another role of the ontology is as the basis of the
data-driven paradigm of CHEMCONNECT. The
design philosophy is to minimize the catalog object
specificity in the (JAVA) programming by having the
definitions within the ontology drive the data object
manipulation. Within the implementation, the
ontology objects instances are represented as JSON
objects within the database and within the JAVA
implementation. This and the standard meta-data
requirements of each data object promotes domain
specific enhancements through ontology
development rather than JAVA development.
Domain data can be updated in the ontology without
any addition JAVA programming.
The information within the ontology can provide:
• Definition: The ontology provides the definition
of database objects with its sub-parts. The
database object is a specific instance of the object
defined in the ontology. The basic ontology
objects are divided in three types, components,
records and catalog objects.
• Templates: Templates are generalized
information used to fill in domain information,
such as data formats, chemical properties,
instrument properties, procedure steps, etc., into
the general catalog database object instances.
• Concepts: This is the hierarchy of domain
specific concepts and classifications. The
concepts are also used to fill in domain
information in the template.
• Relationships: Within the ontology object, RDF
relationships are defined to link data within
catalog object to facilitate searching for the data.
The ontology information is used for the
automatic creation of database RDFs. These
mapping definitions are provided at every level
of the object definition.
• Transactions: Transactions are the key to data
tracking and versioning. The transaction
definition within the ontology defines
prerequisite (input) objects, essential defining
information, output objects and relationships.
The transaction information provides the
roadmap to automate the creation, manipulation
and ultimately versioning of database objects.
Each database object originates from a
transaction process. In this way, the entire history
of the object, versioning, is documented.
The ontology provides static information
common to each data type within the database. The
database itself is instances of these abstract objects.
The ontology in is used in several capacities.
1.1 Database-Ontology Interaction
The purpose of the ontology definitions is to give
semantic context to objects within the database. The
ontology represents static information giving
definitions, relationships and semantic enhancements
to the objects in the database.
Figure 1: The ontology definition of NameOfPerson.
For example, the ontological definition of a
person’s name (NameOfPerson a record in the
ontology with the identifier, foaf:name) says that
the name should have three components as shown in
Figure 1, where:
• UserTitle: A classification representing the
title of the person (Mr, Dr. Ms., etc.) with the
identifer, foaf:title.
• givenName: A string representing the name of
the person with the identifier,
foaf:givenName.
NameOfPerson
dcterms:hasPart givenName
dcterms:hasPart familyName
dcterms:hasPart UserTitle
Ontology for the Semantic Enhancement, Database Definition and Management and Revision Control