The Helenos Project
KDD Workbench for the Semantic Web

The OWL Module

The OWL module accesses the instance data of ontologies and tries to find a general rule to describe a dataset of selected individuals.

Content

DataSelection

Create a new project named owl and add the following files from the examples/trains folder to the project:

Create a new experiment and start the workflow.

DatabasePreparation

This task prepares the database for the OWL module. It does not require any interaction.

DataPreProcessing

This task fetches all documents and prepares the triple storage database. Depending on the amount of statements this might take a while.

DataSelection

Now you have to build a training set of individuals, which provide a basis of positive and negative examples.

We will try to discover a rule, which distinguishes the trains belonging to the class "http://helenos.ontoware.org/example/trains#Eastbound" from the trains which are belonging to the class "http://helenos.ontoware.org/example/trains#Westbound".

To select instances from the class "http://helenos.ontoware.org/example/trains#Eastbound" click the "Select individuals" button.

A dialog will appear which allows to select individuals. You could for instance select "http://helenos.ontoware.org/example/trains#Eastbound" individuals based on a conjunctive query of the properties you have choosen.

But for now we want to select all "http://helenos.ontoware.org/example/trains#Eastbound" individuals. Clicking the "Select all" button will do that. If we selected the "Use properties as body modes" checkbox, only the properties of the selected individuals would be transformed into Progol modes. Since we want all properties to be transformed, we leave the checkbox unchecked.

After choosing "Select as: POSITIVE" and applying this selection, we can close the dialog.

Use this proceeding to select the "http://helenos.ontoware.org/example/trains#Westbound" trains as negative examples. Your DataSelection should look like this:

The "Load ..." and "Save ..." buttons allow you to serialize your dataset. Clicking the "Finish" button leads you to the next task.

DataTransformation

Now all the statement contained in the instance data are transformed into clauses, which are used as input for Progol. Unlike the HTML module the modes for Progol are dynamically generated, based on the selection of individuals.

DataMining

Again, the input data is written to a temp file in the progol/temp folder.

The Modes tab requires some explanation.

The checkboxes allow you to refine the modes used by Progol.

Checkbox Meaning
Only TYPING Only the modes which correspond to a statement "xyz a class" are used.
Only OBJECT + DATATYPE Only object and datatype properties are used.
Only OBJECT Only object properties are used.
Only DATATYPE Only datatype properties are used.
DATATYPE properties as constants Treats the object o of a statement "s p o", where p is a datatype property, as constant.
OBJECT properties as constants Treats the object o of a statement "s p o", where p is an object property, as constant.

Switch to the Progol tab and run Progol by clicking the "Run" button and sending the "generalise(individual/1)?" command, which will result in the following output:

individual(A) :- trains_Eastbound(A).

This result is obvious, since all positive examples (and none of the negative examples) belong to class "http://helenos.ontoware.org/example/trains#Eastbound". If we remove the mode "modeb(*,trains_Eastbound(+object))?", and run Progol again, the output will be:

individual(A) :- trains_next_car(A,B), trains_shape(B,trains_shape_2).

Looking up the actual meaning of "trains_shape_2" at the "Literal mapping" tab, you get the rule (in natural language) that all Eastbound trains have a car, which has a circular shape.

Playing with the modes and your data selection is imperative, if you want to achieve meaningful results.

Results

Depending on which result you have kept from your Progol executions, the results are displayed as the final workflow step.

The results are displayed in html format, so you can save them and view them in a browser.

Conclusions

Helenos offers a unique approach to accessing instance data of ontologies, by trying to find general rules in a data set of selected individuals. Since Helenos is a supervised learning tool, it is up to the teacher to correctly manage the input for the rule-exctraction process. Once you have found some rules, they might lead to a better understanding of the domain that an ontology is about, and could even be used to redesign some concepts of the ontology.

© 2003-2006 AIFB - OntoWare Team