Development of a new ontology is often time consuming. Different ways to improve the process of ontology development are desired. One pattern during an ontology development is that often we need to add new classes with similar patterns of logical definition. This process is time consuming, error prone, and often boring. Ontorat is developed to facilitate this process.
Ontorat is developed based on Ontology Design Patterns (OCPs) in the field of ontology engineeering. Ontorat uses "class expressions with variables", which is defined as "OWL class expressions but allowing variables at positions of class expressions. The range of a variable can either be a named class, class expression, or any subtype of it as produced by the corresponding rule in OWL." (Reference: Noppens and Liebig, 2009). Ontorat offers a web-based platform for a user to write up class expressions with variables with the aim to quickly generate a large number of new ontology classes or annotate existing classes for a target ontology.
The inputs of Ontorat include: (1) a target ontology in OWL format, (2) a user-provided data file (tab-delimited text file or Excel file), and (3) ontology design pattern using the class expressions with variables. The target ontology and user-provided data files will be parsed by our own Ontorat parser. The target ontology can be used to avoid the assignment of repeated ontology identifiers (IDs). The user-provided data file provides the input data for high throughput processing. Each column of the data file needs to be very specific. A user will need to generate a script to represent the ontoogy design pattern using the Manchester OWL Syntax, a new syntax designed for writing OWL class expressions. An internally designed code is used to represent different columns (i.e., variables). For example, we use $coA to represent the first column (or column A), and use $coB to represent the second column (or column B), et al. Each column represents a variable.
The development of Ontorat is inspired by the OBI project QTT (Quick Term Templates). Ontorat implements the QTT strategy. The QTT has been implemented in MappingMaster, a plugin program in Protege 3.4. Similar to MappingMaster: (1) Ontorat uses an Excel spreadsheet file (or tab-delimited file) as input. (2) Ontorat relies on the pattern program using the OWL Manchester Syntax. Different from MappingMaster: (1) Ontorat is implemented as a web-based application, while MappingMaster works in Protege 3.4 but does not work in Protege 4.x. (2) MappingMaster cannot generate annotations for ontology terms for existing or newly generated ontology classes, for example, MappingMaster cannot automatically generate text definitions of a class term. However, this is not a difficult task in Ontorat if you know a design pattern. (3) MappingMaster cannot save the design patterns as a setting file, while Ontorat can do so.
Ontorat will allow domain experts and data curators to contribute actively to the ontology development without knowing the specifics of OWL. Ontorat is a robust approach can can be used in different ontology development scenarios.
Your suggestions and comments are welcome! The Ontorat development team provides good service and is usually fast to answer your questions.
Thank you for using Ontorat!