The Data View: Editing OWL Ontologies

Intro

This section describes the ontology editing functionalities available in VocBench. We will go through the set of functionalities as they appear in the various elements of the user interface.

The Class Section

When editing an OWL ontology, the landing page for the Data View is the Class Section.

The Class Section (as of all the data section) is composed of two main areas: the structure on the left, and the resource view on the right.

classPanel

The structure section of the Class-page

In particular, the structure section for the Class Page is composed of a Class Widget and an Instance Widget. The first one shows the tree of Classes in the current project, while the latter shows the list of instances for the class selected on the Class-tree Widget.

Available Actions on the Class-tree Widget

The following actions are available on the class tree through the three action buttons located on the top-left corner of the widget:

addInstCreate Class: creates a new class as a root element of the class taxonomy

op2 Add SubClass: adds a new class as a child of (rdfs:subClassOf) the selected class

op4  Delete Class: deletes the selected class (not possible for read-only classes);

op4  Deprecate Class: deprecates the selected class (not possible for read-only classes);

Additional actions

From the top-right context-menu of the widget, additional actions are available when a class is selected:

additional actions

Available Actions on the Individual Widget

addInstCreate Individual: adds an instance to the class selected in the class-tree;

op4  Delete Individual: deletes the selected individual ( not possible for read-only individuals);

op4  Deprecate Individual: deprecates the selected individual ( not possible for read-only individuals);

The Class-view

The resource-view for classes (or, simply, class-view) is divided into a few sections listing the following information:

Adding a type

By clicking on the + button on the type section, it is possible to add a more specific type to class shown in the class-view.

adding a type

The property shown at the top of the dialog is hard-wired to rdf:type. However, in case the adopted vocabularies feature a subproperty of rdf:type, it is possible to refine the choice for the adopted properyt by clicking on the "change" button besides the rdf:type property.

adding a type

Adding an axiom

By clicking on the + button on the axioms section, it is possible to add a definitory relation with another class. A simple click on the addInstbutton will prompt a dialog for choosing the relation to be used, as in the following figure:

adding a type

while a click on an the + button on any already existing subsection of the "Class axioms" section, will directly reuse the property specified there, as in the following figure:

adding a type

where possible classes to be connected through the rdfs:subClassOf property are being shown by using a class-tree. By clicking on the "Manchester expression", it is possible to define an owl:Restriction instead of referencing an existing class, as in the following (the property ":friend" has to be already present in the ontology):

adding a type

resulting in the following view, where the Manchester expression for the restriction is properly rendered.

adding a type

The Manchester Syntax editor supports syntax completion. The feature is activated by depressing "ctrl + space", as shown in the following figure:

adding a type

The editor also features an inline syntax checker. Here are some examples of spotted errors in the syntax:

By clicking on the "helper" button, a 1-1 conversion table between DL syntax and Manchester syntax is shown:

adding a type

Adding a Lexicalization

By clicking on the + symbol on the Lexicalizations section, it is possible to add different lexicalization for the class, in different languages.

adding a type

The Property Section

The Property Section (as of all the data pages) is composed of two main areas: the structure on the left, and the resource view on the right.

classPanel

The Structure Section of the Property Section

In particular, the structure section for the Property Section shows a widget listing all properties in the ontology.

Available Actions on the Property-tree Widget

The following actions are available on the property tree through the three action buttons located on the top-left corner of the widget:

addInstCreate Property: creates a new property as a root element of the property taxonomy

op2 Add SubProperty: adds a new property as a child of (rdfs:subPropertyOf) the selected property

op4  Delete Property: deletes the selected property (not possible for read-only properties);

op4  Deprecate Property: deprecates the selected property (not possible for read-only properties);

The behavior of the various action buttons is very similar to the one for classes, except that the create button for properties opens a submenu that lets the user choose the core property type to be used.

adding a type

The Property-view

The resource-view for property (or, simply, property-view) is divided into a few sections listing the following information:

The Datatype Section

Another panel available in the Data page is the Datatype one. In this panel there are represented the rdfs:Datatypes defined by the imported vocabularies and by the user.

Datatype panel

Available Actions on the Datatype-list Widget

The following actions are available on the Datatype panel through the aciton buttons located on the header:

addInstCreate Datatype: creates a new datatype

op2 Delete Datatype: deletes the selected datatype (not possible for read-only datatypes)

op4  Deprecate Datatype: deprecates the selected datatype (not possible for read-only datatypes);

The Datatype-view

The resource-view for datatypes is divided into a few sections listing the following information:

Datatype editing

As stated in the previous section, the Datatype definitions partition allows to define facets, restrictions and other aspect of a datatype. Clicking on the add button of this partition, the modal shown in the following figure appears.

Datatype facets

From this modal it is possible to define the facets of the datatype specifying the base built-in data type and optionally a minimum and maximum value and a pattern for the validation of the defined typed values. In the previous figure it is defined, as example, a new datatype :age based on xsd:integer, which range of values is between 0 and 120 (both inclusive).
In this way, when the user tries to create a value for this datatype, a validation check is performed on the entered value. For example, if the user enter an age of 1000, it will get the following error.

Datatype invalid

Beside the customization through facets definition, a datatype can be defined through enumeration, namely a set of allowed values that the datatype admits.

Datatype enumeration

Finally, a dedicated editor is also provided in order to define datatype aspect through the Manchester syntax.

Datatype manchester