Tuesday, 2 September 2014

A Semantic Asset Managemet Application - Sample application with Ontorion™ Server

Hello, here's Jerzy from Cognitum. I would like to present you Corporate Asset Management - the sample web application co-working with Ontorion that we've just prepared. Ontorion gives us possibility to easily ask about knowledge described in Controlled Natural Language (CNL), modify knowledge or even get auto-complete, which makes it excellent development tool for semantic technologies. Using Silverlight we created user-friendly web application fluently communicating with Ontorion.

Let's start with Corporate Asset Management.

After logging in, you can see the Home page of the application. At first, it is only the Install button that is visible. Here is the very first application's contact with Ontorion. Ontorion is asked if the needed database is existing and of course gives a respond. So click Install. Now we are creating a database and writing knowledge into it. All the buttons become visible. Do not be afraid of Install. After clicking it one more time the application will ask Ontorion if the database exists and nothing wrong will be done. For this moment everything is looking like this.

Now navigate to Search Assets. You can see a search box (just like in Google) and few lists. For me, now is the best thing in Ontorion. Typing some text into it we can see hints.Of course there are not written into the code of the application. Ontorion is asked for hints and gives them including knowledge that we sent before. Also all the modification will be "considered". And all this difficult auto-complete is just a single line of code in our application. After clicking search button Ontorion sends us elements about which we are asking. You can see them in the big, white list box. Clicking on them we ask Ontorion about assets connected with the selected item.
 
You can also type and search for complicated sentences written in CNL and Ontorion will give a response if any is existing.
For example: air-conditioning that is-located-directly-in Room-100. If any asset that is air conditioning is really placed in room 100, then Ontorion finds it. If there is no such an asset, you will see blank list box (Ontorion returns nothing).
After that click little arrow in right upper corner of asset. By this you can see even more detail information about chosen element.
There are also list boxes called Events and Causes of disability. If the asset is disable we can see reported event connected with this asset or other assets to which our element is connected  and are also disabled. Everything asking Ontorion.
So now go back to the home, just by clicking Corporate Asset Management. Then navigate to Deployment.

Application is sending queries to Ontorion asking about all the locations and assets and dynamically showing them for the user. Every asset is on the right place. You can also get further information clicking any icon and the little arrow in the corner of asset.
This is the moment we are ready to modify knowledge. Go back to the home and click Issue. Firstly there are shown reported events. Some of them might be open, others can be solved. Every open event can be solved by the user. Also we can add an open event for any asset. What is more? All the assets connected with open event or connected to asset that is connected to open event are disabled. But what if the event is solved? Of course those assets are not disabled. And all of this difficult work done by reasoning, for user is only adding and deleting only one simple CNL sentence in the knowledge. Isn't it easy?
And last but not least, adding new asset. You can see a big form, but don't be afraid. We need to add information about new asset. Choosing type we get connected to and from propositions from Ontorion. You can easily choose and delete them.

Set some localisation, give name and fill some fields. Then click create. And now the new asset is added. You can search it, find it in Deployment or even have it in hints given by Ontorion. As a developer you can easily create new form, generate sentences in CNL and modify knowledge.

And what more can be done? Almost everything you want and can describe in CNL. By this powerful tool you can add, modify, update and delete knowledge, ask for any peace of world described in ontology. All in easy to understand and even easier to learn Controlled English. But how to describe our world in mathematical logic? Let's see.

How it's working? - ontology with CNL 

To do such a thing you must write an ontology. But how? The easiest way is to choose Controlled Natural Language. The best tool to learn and write in CNL is Fluent Editor which consists built in tutorials, samples, auto-completing, reasoner and even hints how to repair your ontology if the knowledge become inconsistent.
So now see how it is done.
Firstly you need to describe main concept of ontology. In this case it is asset.
Remember, that the concepts are written starting with lower case and instances with upper case. Controlled English, in contrast to its natural "cousin", has strict grammar and syntax. The reason is to omit ambiguity.   
If you've ever worked with semantics, you might consider, if CNL has something to to with OWL. Of course it has. In fact CNL is fully equivalent of OWL. Below is a part of ontology in OWL/XML that  you've just seen.

In our application we have more specific assets like air conditioning, electrical nodes etc. So the next step is to specify some sub-concepts of asset. 
Here you can see that the electrical-node is sub-concept of asset and has attributes like voltage and icon.
And one more time, quickly look at OWL.
As you see, it's easier to write an ontology in CNL then to create unintuitive XML description.

Possibly we want to add some additional knowledge.
Now, it's high time we added relations between concepts.

Be this we specify future roles. Role is a relation between two instances of concepts. Reading text carefully you can perceive that the ontology can be reduced to triplets like:
  • concept-1 is concept-2.
  • Instance-1 is concept-1.
  • Instance-1 has-attribute 'attribute'.
  • Instance-1 is-related-with Instance-2.
 This is the moment we can add an instance specifying its roles and attributes.






As you've seen it before, you can add an instance in your application like in Corporate Asset Management using Ontorion. But only adding? Of course not. All modifications, even on concepts are permitted by Ontorion. You can write an ontology without instances and add them using Ontorion or create empty database and permit user to create everything step-by-step communicating with Ontorion by GUI that you'll have prepared.


If you want to learn more about Ontorion™ Server, visit this link.


*) Ontorion™ Server, a very powerful and scalable solution that recognize and extract relevant items of information hidden in plain text or reports. It completely changes access to unstructured data and boots the efficiency and scalability of all processes involving the management,distribution, access and analysis of large amounts of textual content. With this toolset user can manage free-text taxonomies in Microsoft Excel and export them to the semantic high-performance server. Server side components allows to collect data directly from Internet (social-media, webpages, blogs, etc) and other text-free unstructured sources.

No comments:

Post a Comment