Contact: Ravi Pavagada

Email : ravipr[at]


I. Semantic Filtering

The semantic arc filter was developed to help users quickly visualize the nodes connected through particular sets of relationships such as partonomy/containment, chemical interaction/ reaction etc. It is used to filter or un-filter the properties and their respective sub properties. With a few mouse clicks the user can change the focus of the ontology view from parthood relationships to chemical reactions. Without the hierarchical arc filter, this process would require tedious selection of every relationship involved in partonomy and chemical reactions respectively. By selecting part_of in Semantic Arc Filter, all its sub-properties are also selected. This holds analogously for de-selection of a property. In general selections are recursively applied to the full branch of the tree that has been selected. Additionally, of course, the user can select or deselect individual sub-properties. Each selected OWL property can be of three types: schema property, instance property, or restricted property. Using the semantic Arc Filter, the user can also visualize specific sub-properties and their associated types such as property restriction, schema property and instance property.

II. Custom Layout

The field of glycol-biology deals with the structures, chemistry, biosynthesis, and biological functions of complex carbohydrates, so-called glycans. The structures of glycans are more complicated than those of genes and proteins, which are linear chains composed of nucleotide and amino acid residues, respectively. Moreover, all of the residues in these biopolymers are connected via a single type of linkage. Conversely, glycans have a branched tree structure rather than a linear chain, and the connection between carbohydrate residues shows significant structural heterogeneity, varying, for example, in position and anomeric configuration. Thus, modeling of primary structural features is considerably more difficult for glycans than for genes and proteins. GlycO is a highly specialized ontology for the glycobiology domain. It contains formalized descriptions of glycan structures, enzyme functions and biosynthetic pathway information. The individual glycans are modelled as collections of monosaccharide residues. The relation between connected residues is called is_linked_to. This relation has a defined direction, which provides the structure of the glycan model as a directed graph, or more specifically, a tree. All residues which instantiate the relation is_linked_to must also instantiate the property is_linked_via. When residue-A is_linked_to residue-B, the property is_linked_via specifies the precise atomic attachment point on residue-B where residue-A attaches, and the property has_linking_atom specifies the site on residue-A that is attached to residue-B. Both the local and remote binding sites are indexed using a standard chemical numbering system. Within the configuration property file, this number is called the LinkType and is used by OntoVista to configure the visualization layout of residues in a way that preserves a standard graphical representation format used by glycobiologists to visualize glycans and the residues they contain. Thus, OntoVista is capable of presenting glycans in a format similar to the cartoon representation commonly found within textbooks and current research papers. The ubiquity and usefulness of this representation for glyco-biologists was a key motivator behind the creation of the custom layout in OntoVista.

We describe OntoVista's custom layout feature that uses the information in the ontology as described by the domain experts. The information describing how to visualize contents of an ontology does not belong in the ontology itself. Rather, for this purpose we use layout settings provided by the domain experts to display a view that is meaningful to the users. The custom layout was initially designed to display complex carbohydrate molecules in a way that domain experts are used to; the so-called Cartoonist representation. However, the layout is customizable and can generate domain specific views for the ontology. The view generated is very much dependent on the user's configuration settings. The user can also change the settings to generate views that are of user's interest. The custom layout creates containers or nested views using the containment relationships such as part_of or has_component. The layout is then applied to all the instances of the set of classes defined as the root classes. Visualization of these instances/nodes will give a domain specific view of the ontology as perceived by domain experts. If these nodes have internal nodes the layout is applied to those nodes as well. The color and shape of a specific node is determined according to the layout settings and the relative position of each internal node in the layout is based on information in the ontology. Each of the internal nodes can be assigned positions such as 'Left', 'Down', 'Diagonal up' and 'Diagonal down' relative to the position of the previous internal node. This is different from other layouts as it can generate domain specific views from the position information in the ontology and can set shapes and colors for each of the internal nodes based on the layout settings.

The custom layout uses a property based file that has the following layout properties:

  • Containment relationship layout property is specifies the relationships upon which layout can cluster to create containers or nested views of nodes.
  • Root class layout property specifies the names of the classes whose instances are to be visualized. The layout can only be applied to instances of the classes specified in this property.
  • Class name layout property must be specified for each of the individual class names mentioned in the Class layout property. The desired shape and color of the instances of a particular class must be specified using this layout property. This helps to set specific shape and color for each of the internal nodes of the layout.
  • Link relationship layout property is the relationship in the ontology that specifies the position of the node. This property allows the layout to access the position of the nodes from the ontology.
  • Connection relationship layout property specifies the relationships that connect the internal nodes of the layout.
  • Link type layout property can be used to specify the possible positions of the nodes. In GlycO, the possible linkage sites (e.g, atom 2, 3, 4, or 6).
  • Positions layout property explicitly specifies the actual meaning for each of the positions in the link types property. For example in GlycO, link position value of 4 means that the node is to be placed to the 'Left', link position value of 6 means that the node is to be placed 'Diagonally up', link position value of 3 means that the node is to be placed 'Diagonally down', link position value of 2 means that the node is to placed directly 'Below' the previous node.

View Custom Layout demo

III. Ontology browser

The ontology browser provides a faster and convenient way of accessing ontology information, such as classes, sub- classes, properties, sub proprieties, and instances. It supports dynamic navigation. Ontology Browser also helps in providing an ease of use search interface by allowing the users to select a set of classes, properties, or instance which can later be used to create queries in the search interface.

Initially, a list of all classes in the ontology is displayed. Upon selection of a class, all its properties, instances, sub-classes, and super-classes are displayed. Left mouse click in the Ontology Browser can be for dynamic navigation and the right mouse click for selection. All selections are done through a popup menu. The selected class, property, or an instance is added to the respective list fields in the search interface.

IV. Filtering/Un-filtering of search result

Filtering not only removes the node from the shrimp view (i.e. a class/instance), it also will not be considered for the subsequent searches. With our un-filter option, the user is able to view the previously filtered node by clicking on the un-filter button.

V. Searches

OntoVista provides advanced search capabilities such as class search, instance search, relationship search, RDF comment or description search, triple search, domain-range search and semantic search. By default, searches in OntoVista are pattern based searches. Search Interface also provides filter and un-filter option which can be used to add or remove the selected class/instance from the shrimp view or ontology view in Jambalaya. OntoVista's search interface is closely linked to the Ontology Browser, which helps in providing an ease of use search interface that does not require users to type in names of classes, instances or properties. OntoVista has a simple search interface based on a subject, predicate and object model. This search interface was designed for a biochemist who had no knowledge of ontology or the query language such as RDQL. Thus, we gave prime importance to ease of use.

I. Relationship search and Description search

Descriptions are comments in the RDF or OWL ontology. The user can enter the description text in the search pattern list box. Description search returns all the classes and instances that contain the entered description pattern. The user can also navigate to the specific class/instance by selecting the class/instance from the search result.

Relationship searches can be used to find classes and instances that contain a given relationship. The users can either enter the relationship in the property list field of the search interface or select a property from the dropdown after adding the properties using the Ontology Browser. Relationship search returns all the classes and instance that define, restrict or instantiate the relationship. The user can then navigate to the specific class/instance by selecting the class/instance from the search result. An example in GlycO would be to find all glycans and its class types that have the relationship has_carbohydrate_residue.

II. Triple Search

Triples are comprised of subject, predicate and object. Triple search can be used to search for either the subject or object instance, given a subject instance and a property or an object instance and a property. The user can either enter these query terms or select them from the list fields. The results of the triple search are object/subject instances and respective classes. An example of a triple search in GlycO would be to find all glycan instances that have the relationship has_carbohydrate_residue with residue instance N-glycan_b-D-GlcpNAc_14.

The output of a domain-range search is dependent on the input. Given a domain and a property, the search returns the range classes and their respective instances. Similarly while searching for a domain, given a range class and a property, it finds all the possible domain classes and their respective instances.

III. Semantic Search

Semantic search can be used for analysis of the ontology. The user enters a subject class or instance and an object class to determine whether some hypothesis about the knowledge in the ontology is true. For example, a user may want to know if the glycans in the GlycO ontology are comprised of residues. Semantic search on the above query would return all the glycans that have some relationship with residues

Semantic search can also be used to disambiguate instances and reduce the number of entries in the search result. For example, there could be multiple classifications of instances in the ontology. An ontology might have entries of different people with the same name, for example Michael Jordan. One MJ is an Entrepreneur and the other MJ is a Basketball player. Using semantic search the users can actually find the desired instance. Thus, by specifying the object class Entrepreneur, Semantic search will return Michael Jordon who is an Entrepreneur.

View the demo of the Ontology Browser, filtering/un-filtering of search result, Relation search & description search, Triple Search, and Semantic Search.

Funding: Bioinformatics of Glycan Expression (one of the four components of the "Integrated Technology Resource for Biomedical Glycomics," appox. $6 million+), National Institute of Health, July 1, 2003 - June 30, 2008.