Sunday, 24 March 2013

Inconsistency Checking with Fluent Editor

One of the helpful features of Fluent Editor for knowledge engineers is an explanation mechanism for knowledge inconsistency checking. Whenever ontology you are editing is logically inconsistent (although it is correct in terms of grammar) you may be guided what are the logical paths that leads to this inconsistency.

How does it work? Let's see on the example.

Start Fluent Editor 2 Express. Click File menu ribbon, than New and select  African wildlife template.

Scroll to the end of file (in fact it doesn't matter where you put new sentences) and add new sentences for the purpose of this example:

First we'll state explicitly, that no herbivore eats neither animals nor parts of them:
No herbivore eats animal and-or eats thing that has-part animal.

Then we'll describe two pizzas: Tasty-Pizza and Vegan-Pizza (instances of concept pizza):
Tasty-Pizza is pizza and has-part an animal.
Vegan-Pizza is pizza and has-part a plant.

And at the end lets express that Sophie (giraffe from the African wildlife template) eats Tasty-Pizza:
Sophie eats Tasty-Pizza.

 Our sentences should look like below altogether (at the end of African wildlife template content):
No herbivore eats animal and-or eats thing that has-part animal.
Tasty-Pizza is pizza and has-part an animal.
Vegan-Pizza is pizza and has-part a plant.
Sophie eats Tasty-Pizza.


OK. Now let's ask about Sophie. In the Reasoner window (at the bottom of Fluent Editor, if it's hidden press CTRL+R to show it) write the question "Who-Or-What is Sophie?". Don't forget the question mark at the end:

Who-Or-What is Sophie?

Press ENTER to start reasoning. Notice, that you can use hints in this windows just as within the main editing window.


Fluent Editor has embedded reasoner service for Description Logic.
You can ask about instances (e.g. "Who-Or-What is Sophie?"), concepts (e.g. "Who-Or-What is giraffe?") or roles (e.g. "Who-Or-What eats?").

In our example, although it is correct in terms of grammar, it is inconsistent in terms of logic. Thus, when we ask about Sophie Inconsistent Knowledge Base window appear. Click explanations button to show more details:

It will show all logical paths that leads to inconsistency. First of one in this example looks like below:

Sophie is a giraffe.
Every twig is a plant-part.
Every giraffe eats nothing-but things that are leaves and-or are twigs.
Every plant-part is-proper-part-of a plant.
Every leaf is a plant-part.
If X is-proper-part-of Y then X is-part-of Y.
No herbivore eats an animal and-or eats something that has-part an animal.
Something is a herbivore if-and-only-if-it eats nothing-but plants and-or eats nothing-but things that are-part-of plant.
Sophie eats Tasty-Pizza.
Tasty-Pizza is a pizza and has-part an animal.

  
As you can see, this is very useful tool while editing even complex ontologies. It gives you helpful hints on how to make your ontology consistent.

 
Video: Inconsistency Explanations with Fluent Editor


*) FluentEditor 2 is a comprehensive tool for editing and manipulating complex ontologies that uses Controlled Natural Language. Fluent editor provides one with a more suitable for human users alternative to XML-based OWL editors. It's main feature is the usage of Controlled English as a knowledge modeling language. Supported via Predictive Editor, it prohibits one from entering any sentence that is grammatically or morphologically incorrect and actively helps the user during sentence writing. The Controlled English is a subset of Standard English with restricted grammar and vocabulary in order to reduce the ambiguity and complexity inherent in full English.


1 comment:

  1. English editors are a potent support in commencing prosperity of your business. This service sanctifies an individual by relieving his stress and saving his precious time. It converts your exhaustive tasks into an enjoyable one by involving abundant faultless writings and reducing errors in a significant way.

    ReplyDelete