Natural Language Ontology Editor

    At CeBIT, I met with representatives of the Polish company Cognitum, which is developing the Ontorion semantic framework. The most important part of this framework is the Fluent Editor ontology editor.which seemed to me wonderful and worthy of a review. The main advantage of Fluent Editor is that it allows you to create OWL ontologies for people who do not have an understanding of the OWL syntax (although you still need to have an idea of ​​its concepts and modeling of information structures). Ontologies are created in natural language, Controlled English - that is, in plain English, to which certain rules and restrictions are applied. I will give an overview of the main syntax features of this language, not forgetting to look at the form in which its main expressions will be stored in OWL.

    For an example, let's start compiling an ontology containing information about the business of a certain company. This company, like any commercial organization, has suppliers and buyers. Both are organizations, and the same organization can be both a supplier and a buyer. We write the corresponding expressions in Controlled English:

    Every customer is a organization.
    Every supplier is a organization.

    Keywords The Fluent Editor is highlighted in blue, and I highlight with boldness. During the input process, the editor gives hints and warns about grammatically incorrect expressions.
    Please note that we do not need to explicitly declare the fact that the organization, the supplier and the buyer are classes: the editor himself will guess about it from the context. Classes are ready, now you can declare individual entities:

    Alpha is a customer.
    Alpha is a supplier.
    Beta is a customer.

    The editor will understand that Alpha and Beta are individual entities belonging to the classes of "suppliers" and "customers".
    If you now save the ontology to an OWL file, you get the following:



    Suppliers supply our company with materials and spare parts, and customers purchase our products. Define the appropriate classes:

    Every replaceable-part is a product.
    Every supplier supplies at-least one product.
    Every customer buys at-least one product.

    As we can see, we were able to determine the roles of “supplier” and “buyer” depending on what they do with goods and spare parts. In OWL, the second line from the above code will be reflected in this way:



    We now define a specific product and spare part, and talk about how our material relations with contractors are built:

    Oil is a product.
    Beta buys oil.
    Pump is a replaceable-part.
    Alpha supplies pump.

    So that we don’t get confused in what was written, the Fluent Editor shows us a taxonomy tree:

    Taxonomy tree

    Note that the editor itself translates verbs into different forms. In the text we wrote supplies, and in the taxonomy tree the corresponding term is called supply. He is also friends with irregular verbs.
    The Controlled English syntax allows us to define various constraints and relationships between classes:

    Every-single-thing that is a replaceable-part issupplied by at-least one supplier.
    Something is a supplier if-and-only-if-it supplies nothing-but replaceable-parts and is a organization.
    Something is a customer if-and-only-if-it buys nothing-but products and is a organization.

    It's time to add attributes. Organizations have names, TINs, and the like. Define two attributes, and indicate their values ​​for the organization "Alpha". Values, of course, will be literals.

    Every organization has-name nothing-but (some-string-value) .
    Every organization has-tax-numbernothing-but (some-integer-value) .
    Alpha has-name equal-to 'Alpha, LLC'.
    Alpha has-tax-number equal-to 6671123456.

    In OWL, these phrases translate something like this:

    Alpha, LLC


    Of course, the possibilities of the Controlled English syntax are not limited to this, but our task was only a short overview of the advantages of the editor; A full description of the syntax can be found in the documentation for the editor.

    Hermit is built into the editor, to which we can “ask questions” about the information contained in our ontology. For example, in this example, we can find out what the Alpha object

    is : is Alpha ?

    Hermit will answer: Alpha is a customer, supplier, organization.

    The capabilities of the other components of the Ontorion framework are no less interesting, but they are beyond the scope of our review.
    The main thing is that we got a wonderful and accessible tool for creating ontologies, which is much more suitable for people who are not IT professionals than TopBraid Composer or Protege. But in practice, information about the terms that should be included in the ontology is possessed by just such people - professionals in the field of management, production, but not information technology.

    Also popular now: