Proceedings of the I-SEMANTICS 2012 Posters & Demonstrations Track, pp. 22-25, 2012. Copyright © 2012 for the individual papers by the papers' authors. Copying permitted only for private and academic purposes. This volume is published and copyrighted by its editors. Visualizing and Editing Ontology Fragments with OWLGrEd Renars Liepins*, Karlis Cerans, Arturs Sprogis** Institute of Mathematics and Computer Science, University of Latvia { Renars.Liepins, Karlis.Cerans, Arturs.Sprogis}@lumii.lv Abstract. The OWLGrEd ontology editor allows graphical visualization and authoring of OWL 2.0 ontologies using a compact yet intuitive presentation that combines UML class diagram notation with textual Manchester syntax for class expressions. Here we show, how to integrate OWLGrEd with ontology module mechanism from OWL API to obtain on-demand ontology fragment visualization that is essential for many existing large ontologies that do not fit in a single reasonably perceivable UML class diagram. Keywords: OWL ontologies, visualization, UML/OWL profile, OWLGrEd, ontology decomposition, ontology modules 1 Introduction Intuitive ontology visualization is a key for their learning, exchange, as well as their use in conceptual modeling and semantic database schema design. A number of tools and approaches exist for rendering and/or editing OWL [1] ontologies in a graphical form, including UML Profile for OWL DL [2], ODM [3], TopBraid Composer [4], Protégé [5] plug-in OWLViz [6] and OWLGrEd [7,8]. The approaches of [2,3,7,8] use UML [9] class diagrams to visualize OWL ontologies. This is achieved by visualizing an independent hierarchy of ontology classes and then structuring the data and object property visualizations along the property domain and range classes. The OWL ontology constructions not having direct UML counterparts (e.g. class expressi- ons, properties with more than one domain assertion, sub-property relations etc.) are usually handled by some auxiliary means in the notation and the editor. OWLGrEd uses textual OWL Manchester syntax [10] for class expressions where the graphical notation is not available or is not desired thus allowing compact and comprehensible presentation of up to medium-sized ontologies within a single diagram. The main focus of this demo is on using the compact UML-style notation, offered by OWLGrEd, on large ontologies that do not fit within any reasonably-sized class diagram, or whose rendering appears to be too complicated due to a kind of “spider web” effect produced by many classes and relations. Its key idea consists in splitting the ontology into meaningful fragments of conceivable size and then visualizing each of the fragments in a separate diagram . ** Partially supported by Latvian 2010.-2013. National Research Program Nr.2 project Nr.5. * Partially supported by European Union via European Regional Development Fund project 2011/0009/2DP/2.1.1.1.0/10/APIA/VIAA/112. 22 Visualizing and Editing Ontology Fragments with OWLGrEd OWLGrEd already has the means to partition ontology into sub-diagrams (fragments) when authoring or reengineering an existing ontology. But there was no way to automatically partition an ontology that is imported into OWLGrEd for visualization. In this demo we will present an extension to OWLGrEd visualization capabilities, that allows automatic partitioning of an ontology into logical fragments. The addition is based on Automatic Decomposition [11] that was recently implemented in the OWL API1. The decomposition is based on signatures, i.e. for each fragment a user selects some entities that should be included in the fragment. Then the fragment is extended with all the logically relevant axioms for these entities. Finally all the fragments are rendered graphically in the OWLGrEd editor. The demonstration shows (i) working with OWLGrEd tool to render and author OWL ontologies (ii) OWLGrEd extension to automatically partition ontology into logical overlapping fragments based on fragment signatures. 2 OWLGrEd Notation and Editor OWLGrEd1 provides a complete graphical notation for OWL 2 [1], based on UML class diagrams. We visualize OWL classes as UML classes, data properties as class attributes, object properties as associations, individuals as objects and cardinality restrictions on association domain class as UML cardinalities. It is easy to visualize also subclass and inverse properties notations. For the full OWL 2 construct coverage we enrich the UML class diagrams with the new extension notations, e.g. (cf. [7,8]): • fields in classes for equivalent class, superclass and disjoint class expressions written in Manchester OWL syntax [10]; • fields in associations and attributes for equivalent, disjoint and super properties and fields for property characteristics, e.g., functional, transitive, etc.; • anonymous classes containing equivalent class expression but no name (we show graphically only anonymous classes that need to have graphic representation in order to be able to describe other ontology concepts in the diagram); • connectors (as lines) for visualizing binary disjoint, equivalent, etc. axioms; • boxes with connectors for n-ary disjoint, equivalent, etc. axioms; • connectors (lines) for visualizing object property restrictions some, only, exactly, as well as cardinality restrictions. OWLGrEd provides option to specify class expressions in compact textual form rather than using separate graphical element for each logical item within class expression. If an expression is referenced in multiple places, it can optionally be shown as an anonymous class. An anonymous class is also used as a base for property domain/range specification, if this domain/range is not a named class. Figure 1 illustrates some basic OWLGrEd constructs on a simple mini-University ontology, including different notation options for EquivalentClasses assertion, object property restriction and a comment. The notation is explained in more detail in [7]. 1 http://owlapi.sourceforge.net 2 http://owlgred.lumii.lv/ 23 Visualizing and Editing Ontology Fragments with OWLGrEd Thing{owl} {disjoint} name:string{func} Person AcademicProgram "All persons, including teachers belongsTo <> programName:string{takes o includes and students" personID:string[1] belongsTo} relates Course Professor courseName:string <> {> Teacher isTaughtBy teaches {takes} AcademicStaff PermanentTeaching Staff MandatoryCourse =Teacher teaches some [1..*]