OWL Diagram Notation

Introduction

This page describes the graphical notation for ontology diagrams generated by owl-cli. There is no standard diagram notation for OWL, but a number of tools provide their own notation. Popular options are the Protégé plugins OWLViz and OntoGraf, as well as the graphical notation of Topbraid Composer. Most notations have a strong focus on class and instance relationships, which is well-suited for visualizing this particular kind of ontology. However, other types of axioms, in particular more complex class expressions, are usually not represented. For this reason, during the writing of the PhD thesis, a more general graphical notation for ontologies was developed.

The notation by owl-cli is influenced by the following other notations for OWL ontologies:

  • The symbols and colors for classes, properties and data types as popularized by the Protégé ontology editor and also used by Topbraid Composer.

  • The notation from the PhD thesis (as shown on pages 43 and 44), but with less focus on Description Logics notation and instead using the expressions syntax from Protégé.

  • Arrows from UML (hollow arrow for inheritance, solid arrow for relations).

  • Representation of OWL class restrictions and other elements in the specification of the OMG Ontology Definition Metamodel 1.1, cf. for example Figures 14.25, 14.26 and 14.27.

  • The symbol for disjoint unions that is used in VOWL.

The notation was designed with the following goals in mind:

  • It must be possible to represent all OWL axioms in a meaningful way.

  • The diagrams are used mainly for visualizing in documents, not necessarily for interactively editing an ontology.

  • The diagram should be understandable for people familiar with the Protégé editor, because it is probably the most popular ontology editor.

  • The semantics should be unambiguous from the visual representation: For example, using a UML-like class diagram for an OWL class that includes properties in its box like class attributes in UML is not self-explanatory: Are the properties restrictions on the class (existential? universal? both?), is the class the domain of the properties? Both have very different meanings than what a UML-like representation suggests.

The following sections describe the graphical notation using examples.

All diagrams on this page were generated with owl-cli. Each diagram links to the RDF/Turtle file it was generated from.

Element Types

Table 1. Mapping Syntax for OWL Element Types
OWL Element Description Logics Notation Diagram

Class( )

Class Declaration

ObjectProperty( )

Object Property Declaration

DataProperty( )

Data Property Declaration

AnnotationProperty( )

no notation

Annotation Property Declaration

NamedIndividual( )

Named Individual Declaration

Datatype( )

no notation

Datatype Declaration

Data Ranges

This section is aligned to the corresponding section in the OWL 2 Specification.
Table 2. Mapping Syntax for Data Ranges
OWL Expression Description Logics Notation Diagram

DataIntersectionOf( )

Intersection of Data Ranges

DataUnionOf( )

Union of Data Ranges

DataComplementOf( )

Complement of Data Ranges

DataOneOf( )

Enumeration of Literals

DatatypeRestriction( int minExclusive 4 maxInclusive 10 )

no notation

Data Range with Numeric Restriction

Class Expressions

The outline of this section is aligned to the corresponding section in the OWL 2 Specification.

Propositional Connectives and Enumeration of Individuals

Table 3. Mapping Syntax for Propositional Connectives and Enumeration of Individuals
OWL Expression Description Logics Notation Diagram

ObjectIntersectionOf( )

Class Intersection

ObjectUnionOf( )

Class Union

ObjectComplementOf( )

Complement of a Class Expression

ObjectOneOf( )

Enumeration of Individuals

Object Property Restrictions

Table 4. Mapping Syntax for Object Property Restrictions
OWL Expression Description Logics Notation Diagram

ObjectSomeValuesFrom( )

Object Some-Values-From Property Restriction

ObjectAllValuesFrom( )

Object All-Values-From Property Restriction

ObjectHasValue( )

Object Has-Value Property Restriction

ObjectInverseOf( )

Object Inverse-Of Property Restriction

ObjectHasSelf( )

Object Has-Self Property Restriction

Object Property Cardinality Restrictions

Table 5. Mapping Syntax for Object Property Cardinality Restrictions
OWL Expression Description Logics Notation Diagram

ObjectMinCardinality( )

Object Mininum Cardinality Restriction

ObjectMinCardinality( )

Object Qualified Mininum Cardinality Restriction

ObjectMaxCardinality( )

Object Maximum Cardinality Restriction

ObjectMaxCardinality( )

Object Qualified Maximum Cardinality Restriction

ObjectExactCardinality( )

Object Exact Cardinality Restriction

ObjectExactCardinality( )

Object Qualified Exact Cardinality Restriction

Data Property Restrictions

Table 6. Mapping Syntax for Data Property Restrictions
OWL Expression Description Logics Notation Diagram

DataSomeValuesFrom( )

Data Some-Values-From Property Restriction

DataAllValuesFrom( )

Data All-Values-From Property Restriction

DataHasValue( )

Data Has-Value Property Restriction

Data Property Cardinality Restrictions

Table 7. Mapping Syntax for Data Property Cardinality Restrictions
OWL Expression Description Logics Notation Diagram

DataMinCardinality( )

Data Minimum Cardinality Restriction

DataMaxCardinality( )

Data Maximum Cardinality Restriction

DataExactCardinality( )

Data Exact Cardinality Restriction

Axioms

The outline of this section is aligned to the corresponding section in the OWL 2 Specification.

Class Expression Axioms

Table 8. Mapping Syntax for Class Expression Axioms
OWL Axiom Description Logics Notation Diagram

SubClassOf( )

Subclasses

EquivalentClasses( )

Equivalent Classes

DisjointClasses( )

Disjoint Classes

DisjointUnion( )

Disjoint Union

Data Property Axioms

Table 10. Mapping Syntax for Data Property Axioms
OWL Axiom Description Logics Notation Diagram

SubDataPropertyOf( )

Sub-Data-Properties

EquivalentDataProperties( )

Equivalent Data Properties

DisjointDataProperties( )

Disjoint Data Properties

DataPropertyDomain( )

Data Property Domain

DataPropertyRange( )

Data Property Range

FunctionalDataProperty( )

Functional Data Property

Datatype Definitions

Table 11. Mapping Syntax for Datatype Definitions
OWL Axiom Description Logics Notation Diagram

DatatypeDefinition( )

no notation

Datatype Definition

Keys

Table 12. Mapping Syntax for Keys
OWL Axiom Description Logics Notation Diagram

HasKeys( )

no notation

Has Keys

Assertions

Table 13. Mapping Syntax for Assertions
OWL Axiom Description Logics Notation Diagram

SameIndividuals( )

Same Individuals Assertion

DifferentIndividuals( )

Different Individuals Assertion

ClassAssertion( )

Class Assertion

ObjectPropertyAssertion( )

Object Property Assertion

NegativeObjectPropertyAssertion( )

Negative Object Property Assertion

DataPropertyAssertion( )

Data Property Assertion

NegativeDataPropertyAssertion( )

Negative Data Property Assertion

SWRL Rules

Rules defined in the Semantic Web Rule Language (SWRL) can be embedded in an OWL ontology. Rules are rendered as described in Human Readable Syntax, and are linked with the ontology entities they refer to. The following table shows rendering examples for the different kinds of rule atoms.

Table 14. Mapping Syntax for SWRL Rules
Atom Type Diagram

Class

SWRL Rule with Class Atoms

Class with Expression

SWRL Rule with Class Atoms with Class Expression

Object Property

SWRL Rule with Object Property Atom

Data Property, Data Range

SWRL Rule with Data Property Atom and Data Range Atom

Data Property, Builtin

SWRL Rule with Data Property Atom and Builtin Atom