Managing Ontologies

From OSF Wiki
Jump to navigation Jump to search

Configuring OSF Ontology

To configure OSF Ontology, you have to do is to click on the top Configuration menu item. Then, you have to click the Configure OSF for Drupal modules.

OSF for Drupal configurations

Then click the the ONTOLOGY tab.

Osf ontology configure.PNG

Multiple configuration options can be configured on this page:

  1. Read mode
    1. Read mode
      1. This option force the read mode of the ontology management tool. All users, including system administrator will only be able to read and export ontologies from this user interface. All the administrative tasks, such as creating, deleting, saving, etc. ontologies will be done using the Ontologies Management Tool command line utility.
  2. General
    1. Enable ontology reasoner by default
      1. This will enable the reasoner by default when a OSF Ontology view page is being opened by a user.
    2. Enable ontology search
      1. This will enable the search feature embedded into the OSF Ontology module. If this option is unchecked, all the search options will be disabled in the module.
    3. Enable ontology export
      1. This will enable the export feature embedded into the OSF Ontology module. If this option is unchecked, the export button won't be displayed to the users.
  3. Ontologies files
    1. Ontologies Files Path folder
      1. This is the path of the folder where ontologies files get saved on the server.
    2. Ontologies Cache Path folder
      1. This is the path of the folder where ontologies cache files get saved on the server. This is used to to save the cache of the ontologies. These caches are used by OSF for Drupal and OSF.
    3. Ontologies ironXML Schema Cache Path folder
      1. This is the path of the folder where ironXML Schemas cache files get saved on the server. This is used to to save the cache of the ontologies in ironXML schemas. These caches are mainly used by the OSF widgets. This folder should be accessible on the web so that any OSF widget has access to them.
    4. Ontologies ironJSON Schema Cache Path folder
      1. This is the path of the folder where ironJSON Schemas cache files get saved on the server. This is used to to save the cache of the ontologies in ironJSON schemas. These caches are normally used by some JavaScript applications. This folder should be accessible on the web so that any applications that uses these JSON schemas has access to them.
Note about Ontologies Files: The ontologies files and paths settings are used in a OSF (Open Semantic Framework) single server instance. These paths tells the OSF Ontology module where to save, load ontologies and where to generate sub-structures. These need to be properly configured when you want to use OSF Ontology to administer ontologies on your server.

Using OSF Ontology

To access the OSF Ontology tool, click the top Ontologies menu item.

Osf ontologies menu.PNG

All of these functions are not available to all users, except viewing available ontologies (if settings allow so). Most options require being at least at a 'curator' or 'admin' level.

Screencast Tutorial


Create, modify, annotate or delete actions on ontologies are the most privileged functions within the system. As a result, most all ontology actions are accessed (if permissions exist) through the broad Ontology tool Ontology icon from the main tools listing, or from privileged positions on a few other screens.

Main Screen

Upon access, you are presented with the main OSF Ontology interface:

StructOntology main.png

The organization of the OSF Ontology application presents all currently available and active ontologies listed in the left panel. These are organized into three categories:

  • Local Ontologies - these are the domain ontologies governing the use of your specific portal. They generally contain the specific "world view" and content organization specific to your problem or domain. Most (but not necessarily all) of your editing and modifications will occur in this section. This is also the basis for the screen examples below
  • Reference Ontologies - these, too, are content ontologies, but generally represent external ontologies that you are re-using in your specific portal for interoperability or sharing purposes
  • Administrative Ontologies - these are internal ontologies that guide and govern the use of widgets, permissions, components and other administrative functions of your site. Most site administrators will have little or no reason to make any changes to ontologies in this category.

The currently active ontology is picked by selecting one of the radio buttons, in which case the selection is highlighted (orange/brown in this example). The active ontology is what is subject to the various button options to the right of the display.

Also, note the Ontology icon StructOntology.png; when selected for any of the ontologies listed, it enables you to update and change that ontology's metadata:

StructOntology metadata.png

Via this choice, you may change the title, description or ontology type (for the listing on the main page). If you need to make more nuanced annotations (such as version number, etc.), you will need to use a third-party ontology editor such as Protégé.

From the main screen you may also search the Active or All ontologies (described further below).

The main screen also offers various user or admin functions, as shown by the button options at the right of the display. Each of these options is described in detail below.

Finally, note that your interaction with the OSF Ontology application is recounted via the "breadcrumbs" listing at the upper left of the application.

View/Annotate Option

The View/Annotate option under the right User/Admin panel is the key one in the application. As such, we will give this option more attention than the others.

Upon invoking the View option, the hierarchical tree for the selected ontology appears on the left; structural and definitions on the right. As we will see, sub-sections below describe this right-hand panel in more detail, since it is the location for most activity and use in the OSF Ontology application:

StructOntology view.png

Later sections describe the various section in the right-hand panels in more detail.


Searching can take place on the currently active ontology or all loaded (available) ontologies. Note that selection was made above via the radiobutton under the search box.

Also, depending on settings, searching can also take place on only the preferred label, or on alternative labels or descriptions (in fact, all annotations). (This is part of the settings.)

When entering search terms, the system automatically attempts to complete the matching search phrase. A minimum of three entered characters guides this auto-completion functionality:

StructOntology autocomplete.png

When search is initiated, the potential results list also auto-completes for what you have already typed into the search box. Upon selection of one of these items (or completion of the full search phrase), the OSF Ontology system issues a search query to the remote server, which then acts to auto-populate the ontology tree on the left-hand panel. In this case, we have selected 'communitiy facilities':

StructOntology tree results.png

The desired search results then automatically expand the ontology tree. This is really helpful for longer ontologies (the example one shown has about 3000 concepts and about 6000 axioms) and means quicker initial tree loading.

Once completed, the (multiple) occurrences of the search item are shown in highlight throughout the tree.

Note this search is not necessarily restricted to the actual node label. Alternative labels and descriptions may also be used to find the search results. This greatly expands the findability of the search function.

Advanced Searching

OSF Ontology also offers advanced searching, available from the main screen link (actually, as auto-complete works, this link gets hidden):

StructOntology advanced search.png

This functionality is identical to the standard advanced search functionality. See that document for detailed guidance on its filtered search and auto-completion aspects.

Contextual Drag-and-Drop

It is possible to drag items from the left-hand tree panel into the specifications at the right. This is contextual. In this first example, we see an attempt to drop a "class" result (or concept) into the annotation panel, which violates the structure of the system and is therefore not allowed (as shown by the visual red X cues):

StructOntology dragdrop no.png

However, if we drag and drop from the tree in an allowable structural definition, we get the visual green check as a cue the move is legal:

StructOntology dragdrop yes.png

This functionality and feedback means that only allowable assignments can be dropped into a new structural definition.


The tree labels are themselves based on the preferred labels assigned to things. However, if you want to see the actual ontology URI reference, you can do so via the tooltip when mousing over the item:

StructOntology tooltips.png

The tooltip shows the full URI path (unique identifier) of the selected item.

General Operations

These operations all tend to apply to the Classes, Properties and Individuals tabs. Please refer to this section for general use tips.

Note: as you work with ANY tab or individual selection from the left-hand list for that tab, you MUST Save you changes before proceeding to another item or tab. If you move away from the current view, your modifications will be lost if you have not Saved.

Each panel has an expand Arrow down.png and collapse arrow Arrow up.png shown at the upper right of its panel. These causes the panel's individual entries to either be exposed or hidden.

At the right of each entry, new entries can be invoked with the green plus symbol Bullet add.png; existing entries can be deleted with the red minus symbol Bullet delete.png. (See Structural Relationships below.)

Further, some of the fields feature auto-completion, which means there is a URI designation for the field entry, drawn from existing objects in the various ontologies. If applicable, the entry field will include either this spinning symbol Spinning-circle.gif or an alternate designator Green-gear.png. When encountered, you trigger the auto-completion list by entering a minimum of three characters. Then, you must pick one of the entries from the dropdown list. It will then populate the entry field.

In working with each panel, note that each entry also has the search and auto-complete features earlier noted. Drag-and-drop is also contextual into these panels or not, depending on the nature of the item selected in the left-hand panel (tree).

Classes Tab

With this basic overview of the operation and layout of OSF Ontology, we are now ready to focus on the items in the right-hand panel. Again, we are using the main View option.

These right-hand panels include separate sections for:

  • Annotations
  • Structural relationships
  • Instances
  • Linkage to characteristics, and
  • Advanced settings.

Each of these is discussed in turn.


Annotations provide the descriptions about the thing at hand and its associated metadata. (These are separately defined under the Properties tab -- see below -- or are as part of the imported ontology specification.)

The available annotations are displayed in this panel when expanded:

StructOntology annotations.png

Entries are simply provided by entering values into the text fields and then Saving.

Structural Relationships

The structural relationships are the means to set parent and child relations between concepts, as well as to instruct disjoint or equivalent class relations. The Structural Relationships panel is the key one for setting the interconnections within the graph structure at the heart of the governing ontology.

StructOntology structure.png

Most of the key structural relationships in OWL are provided by this panel. (However, note there are some additional and rarely used structural specifications in OWL. These must be set via a third-party external application. Such potential interactions are made possible via the flexible import and export options with OSF Ontology -- see further below.)

Instances (Individuals)

Another right-hand panel provides the facility to assign individuals to the classes (or concepts) established under the prior two panels. (These can also be handled directly via the Individuals tab; see below.) In this case, we are looking at some specific 'community facilities' to assign to that concept:

StructOntology instances.png

As with the prior panels, new instance may be added or discarded ones deleted. Individual instances and their characteristics may also be updated or changes.

Linkage to Characteristics

Another aspect to OSF ontologies is the ability to relate concepts to various metadata characteristics or attributes that might describe that concept's instances. This relationship is done via the dedicates hasCharacteristic property, which is assigned via this right-hand panel:

StructOntology characteristics.png

This option has the specific behavior of allowing one or more properties (characteristics) to be asserted for a given a class (concept).

Advanced Options

Display and widget and other options are set under the Advanced Options panel. One item to note are the widgets that may be assigned for displaying a given information item:

StructOntology advanced.png

The relationship of widgets to information items is a deserving topic in its own right. For more information about this topic, see the OSF widgets category, especially regarding the SCO Ontology.

Properties Tab

Properties -- that is the relations or predicates between items or nodes -- are established in a similar manner to that for Classes. To add a new property or modify an existing one, pick the Properties tab in the left-hand portion of OSF Ontology:

StructOntology properties.png

Note the Properties tab has the same basic layout and operations as the Classes tab, including similar right-hand panels such as annotations or structure.

A key difference is the ability to set domains for properties. When set, this constrains the property to be only applicable to a certain class of nodes as the specifying subject.

Individuals Tab

Individuals are the instance members of classes.

StructOntology individuals.png

Note the Individuals tab has the same basic layout and operations as the Classes tab, including similar right-hand panels such as annotations or structure.

Key uses of this tab are to provide the data and display definitions for specific individuals and indicators. For more information about some of these settings, see the OSF widgets category, especially regarding the SCO Ontology.

Export Option

We are now ready to look at the non-View options in OSF Ontology.

The first of these is the Export button. When invoked, it brings up the save dialog with the ability to assign an ontology file name:

StructOntology export.png

Upon saving, it stores the currently active ontology in RDF/XML format:

StructOntology export xml.png

This file can now be used in an external ontology editor (such as Protégé) or edited directly with a text editor. After those changes are made, generally useful when bulk changes are desired, the updated file can be imported back into the system; see Import below.

Create Option

At all times OSF Ontology also allows you to create a new ontology:

StructOntology create new.png

The URL (such as becomes the base URI for your new ontology.

The new ontology is created with a basic structure, from which you only need fill in your new concepts or classes and relationships:

StructOntology create new list.png

Note: there is a file on your standard OSF install -- /data/ontologies/files/mew.owl -- that contains the starting basis for this initial ontology framework. Should you wish to create ontologies with a different starting structure, modify this file and save it under the same name. It will then become the starting basis for new created ontologies.

As new items are entered with their relationships, the basic ontology tree also expands and grows:

StructOntology create new tree.png

Once created, this new ontology also now appears on your available local ontologies when first invoking the OSF Ontology application.

Save Option

The Save option saves all modifications on the file, on the server. If you have made local changes that have NOT been saved, your ontology will be annotated on the main screen as shown with the phrase '(modified; not saved)':

StructOntology modified.png

You are advised to Save prior to all export or Generate All options.

Delete Option

The Delete option removes the currently active ontology from your local instance AND from your server hosting the instance. Therefore, use with caution.

Note: as an alternative to Delete you may use the Reload All option to wipe out any local, unsaved options and to restore the starting versions located on your server instance. See below.

Like other options, you invoke Delete from the right-hand options buttons:

StructOntology delete.png

Prior to actual deletion, you are prompted if you want to proceed:

StructOntology delete confirm.png

The Delete option removes the server version. This is the most drastic option since removal means no local instances may again access or use that ontology.

Warning: deletions may NOT be undone. Make sure you keep backups on occasion using the Export option in case you make a deletion mistake !!!

Import Option

OSF Ontology supports all OWL API serializations, specifically RDF/XML, N3, Manchester Syntax, Turtle. When import is invoked, a file open dialog is presented that enables you to find the ontology on your local hard drive:

StructOntology import.png

The Import feature has no file extension limitations; make care to pick and assign the proper types for importation.

Via the Import and Export buttons, it is possible to work locally with OSF Ontology while exporting to more capable third-party tools. Then, once use of those tools is complete, Import provides the ability to re-import the updated ontology back into the local collection.

Note: you are advised to use the inference option at time of import, even though it takes a bit more time to load, since it will build the forward-chain of inferences useful to your system.

Generate All Option

The Generate All option recreates the serializations files created from these ontologies, like the .SRZ files used by OSF Web Service and OSF-Drupal; the ironXML schema used by the OSF widgets, etc. To learn more about these structures, see the Internally Generated Schema document.

The Generate All option should be invoked any time you have made more than minor changes to your underlying ontologies. Frequently, if you have made changes and you do not see them reflected in your portal tools or interfaces, it is because you have neglected to update these structures.

Note: the Generate All option takes quite a bit of time to complete, though it does run in background. It is not unusual for this operation to take 30 min or more. You may work with other aspects of the site, it is just that updates will not be fully reflected until this generation step is complete.

To invoke Generate All, you pick that option from the right-hand buttons listing:

StructOntology update.png

There is a confirmation message presented when the update is successful.

Reload All Option

The Reload All option replaces all ontologies on your local instance with those on the server. So long as you have not done any Saving during your current session, invoking this option is akin to starting over with the same conditions at the start of your session.