The OsaWL Ontology Editor is designed for individual and collective development of ontologies in graphical (graph representation) and/or tabular forms. The set of tools of the OsaWL ontology editor allows you to simply and visually design knowledge bases (TBox) and manipulate the fact base (ABox) of arbitrary subject areas.
Information in the OsaWL ontological platform is stored in the form of structures called triplets: «Subject, predicate, Object». A triplet is a basic «fact”, an elementary statement about some knowledge. The subjects and Objects of triplets are the vertices of the network (graph) representation of knowledge, and predicates are the connections between the vertices.
For example, in the triplet «LLC Romashka has an employee Ivan Ivanov» LLC Chamomile plays the role of a Subject, Ivan Ivanov is an Object, and «has an employee» is a predicate. In this document, the following form of writing a triplet will also occur: p(R1, R2), where «R1» is the Subject, «R2» is the Object, and «p» is the predicate.
The OsaWL ontology editor allows you to solve the following tasks:
• Editing the basic entities of ontologies: classes, relationships and properties, attributes of relationships, individuals and their relationships
• Stylization of the appearance of objects (shape, color, icons, size) to facilitate visual identification
• Organization of a multi-window view for quick access to related ontologies, rule editor, documents, semantic queries, definitions, etc.
• Import of ontologies from RDF/XML, OWL/XML, Turtle and other formats
• Export of ontologies to OWL/XML
• Collaborative editing of ontologies with real-time display of changes
• Collective development of ontologies with support for the functions of sending ontology fragments for approval, monitoring the progress of approval, commenting on approval steps, calculating the level of collective consistency of ontologies and their fragments
• Filtering and searching for ontology objects
• Manual or automatic positioning of ontology objects on the canvas
• Clustering (grouping) of ontology objects to facilitate readability and navigation through the ontology
• Creating and assigning tags (text labels) to ontology objects for quick search and filtering
• Step-by-step ontology analysis — a mode in which objects that have a direct relationship with the object under study are displayed
• Differentiation of access to ontologies and objects of ontologies
• Fixing and comparing versions of ontologies
• Reuse of ontologies and ontology objects
• Merging and mutation of ontology objects: classes, relationships, instances
• Formation of an ontology description in the W3C web format, including sections: abstract, authors, classes, relationships, properties and instances. Fast navigation between ontology sections and synchronization with graph representation.
Relationship Attribute Editor
The specification of relations with additional attributes allows the Oracle platform logical inference machine to automatically output (create) new knowledge in the fact base, as well as limit the ability of individuals to enter into relationships with other individuals.
All relationship attributes are taken into account by the OsaWL platform core in the process of manipulating the fact base and allow maintaining data consistency.
|Is functional||Simultaneous presence of two or more relations p(X1, Y1) and p(X1, Y2) is prohibited, i.e. at any given time, an individual X1 cannot be associated with more than one other individual in relation to p||Отношение |
|Is not functional||Simultaneous presence of two or more relations p(X1, Y1) and p(X1, Y2) is allowed||The relation has a brother/sister is not functional, because a person can have as many brothers and sisters as he wants|
|Is reflexive||Relations of the form p(X1, X1) are allowed, i.e. the individual X1 is connected to the individual X1 by the relation p||The relation geometrically similar is reflexive, because the triangle is similar to itself|
|Is not reflexive||Relations of the form p(X1, X1) are prohibited||The relation has a father is not reflexive, because a person cannot be a father to himself|
|Is symmetric||If there is a triplet p(X1, Y1) in the fact base and the relation p is symmetric, then a new triplet p(Y1, X1) will be generated in the fact base by the inference machine||The relation has a brother / sister is symmetrical, because if Vasily has a brother Ivan, then it automatically follows that Ivan has a brother Vasily|
|Is transitive||If the fact base has triplets p(X1, Y1) and p(Y1, Z1) and the relation p is transitive, then a new triplet p(X1, Z1) will be generated in the fact base by the inference machine||The relation has ancestors is transitive. If Leo has an ancestor Dmitry, and Dmitry has an ancestor Vyacheslav, then Leo has an ancestor Vyacheslav|
|Is an inverse functional||Simultaneous presence of two or more relations p(X1, Y1) and p(X2, Y1) is prohibited, i.e. at any given time there cannot be more than one individual associated with individual Y1 in relation to p||The relation has a pet is inversely functional, because if Dmitry has a pet Murka, then no other person can have the same pet|
|Minimum power ratio||A number indicating the minimum possible number of individuals with whom you can enter into a relationship||The ratio has parents has a minimum power equal to 2 (two), because any person cannot have less than two biological parents|
|Maximum power ratio||A number indicating the maximum possible number of individuals with whom you can enter into a relationship||The ratio has parents has a maximum power equal to 2 (two), because any person cannot have more than two biological parents|
Relationship Editor between Relationships
|Relationship between relationships||Description||Examples|
|Inversion||If you are interested in p1 and p2, you will be interested in the p1 test tube(X1, Y1) for the test tube p2. (Y1, X1) and наоборот, т.е.|
p1(X1, X1) ⇨ p2 (Y1, X1)
p2(Y1, X1) ⇨ p1 (X1, Y1)
|The relation has a husband inversely to the relation has a wife, because if Tatiana has a husband Dmitry, then Dmitry has a wife Tatiana|
|Super — property||If the relation p2 is a super-property for the relation p1, then if there is a triplet p1(X1, Y1) in the fact base, the inference machine will create a new triplet p2(X1, Y1), i.e.|
• p1(X1, Y1) ⇨ p2(X1, Y1)
|The relationship has ancestors is a super-property for the relationship has a father and has a mother. If Leo has a father Dmitry and Leo has a mother Tatiana, then Leo has ancestors Dmitry and Tatiana|
|Non-intersection||If the relation p1 does not intersect with the relation p2, then if there is a triplet p1(X1, Y1) in the database of facts, there cannot be a triplet p2(X1, Y1) and vice versa||The attitude of having a husband does not overlap with the attitude of having a father. If Tatiana has a husband Dmitry, then Tatiana cannot have a father Dmitry and vice versa|
The OsaWL rules editor allows you to describe a sequence of logical reasoning that leads to the conclusion of new facts. OsaWL rules are used to solve the following tasks:
• Definition of «dynamic» classes, where an instance is any object that meets the conditions of the rule
• Relationship calculation between individuals
• Limitation of relationship ranges
• Name formation of individuals
• Calculation of scalar properties of individuals, including using data aggregation functions
Graphical Rule Editor
The graphical rules editor allows you to describe a sequence of logical reasoning by combining triplets into chains and imposing restrictions on the equality or non-equality of subjects and objects of triplets. The created rule can be used to calculate the relationships between individuals.
The image above shows a rule for calculating full siblings for any person based on the following chain of reasoning: if two different people have a common father and mother, then they are brothers (sisters, brother and sister).
Text rule editor
The rules text editor allows you to describe a sequence of reasoning in the form of logical conditions or formulas for calculating property values.
Examples of text rules:
• [Equipment].[has_the damage].[normative_time_minutes] > 1 — the rule can be used to create a «dynamic» class «Equipment with damage”, instances of which at any given time will be only equipment with damage, the time of elimination of which takes more than one minute
• [Task].[belongs to the project].[has_code] + «.» + [Task].[has_code] + «. » + [Task].[has_name] — the rule can be used to generate instances of the “Task» class (project tasks) based on the project code to which the task belongs, the code and the name of the task itself
• [Budget Execution analysis].[Analysis year].inverse([period year]).inverse([period]).[plan].sum() — the rule can be used to calculate the total budget plan for the year
Semantic Query Editor
The semantic query editor allows you to visually construct a query to the fact base (ABox) or knowledge base (TBox) of the OsaWL platform. The semantic query editor can be used to solve the following tasks
• extracting data from the knowledge base and the fact base for subsequent analysis
• additional filtering of extracted data, including using dynamic constraints: query results may depend on the user executing the query and the time of query execution
• presentation of query results in various formats — tabular, graph, summary table
• grouping and aggregation of query results
• additional calculation of results — description of additional formulas for calculating derived values
• repeated reuse of semantic queries when creating reports, documents and dashboards
The image below shows a graphical semantic query editor and the results of query execution in tabular form:
Documents and publications Editor
The OsaWL Document and Publication Editor allows you to create documents using a WYSIWYG or Markdown editor, as well as combine documents into publications of any structure.
The following tasks can be solved with the help of documents:
• creation of text documents of arbitrary content using titles, lists, tables, images, videos, containers, quotations, abbreviations and abbreviations, links, etc.
• embedding the results of semantic queries in the text of the document in the form of tables or pivot tables. Such tables will be automatically synchronized with knowledge and fact databases and will remain relevant
• embedding graph representations of ontologies in the text of the document, which will change along with the ontologies
• embedding links to terms in the text of the document with the ability to display their definitions
• linking documents to any OsaWL platform objects
• export documents to PDF and MS Word formats, print documents
• embedding diagrams — flowcharts, sequence diagrams, class diagrams, states, connection-the essence of diagrams, etc.
This document is an example of a document created using the OsaWL Document Editor.
The OsaWL diagram editor allows you to create flowcharts, diagrams, describe business processes and enterprise architectures.
The diagram elements being created are instances of three classes (or their heirs): Nodes, Connectors, and Containers, which are part of the OsaWL platform diagram ontology, so they can enter into relationships with any other instances of the platform.
The basic version of the OsaWL platform includes three notations:
- BPMN 2.0
- ArchiMate 3.0
- Standard (a basic set of nodes, connectors and containers)
The platform has tools for creating additional (custom) notations, including graphical representation of notation elements. The image below shows an example of a diagram created using a custom notation to describe the IT infrastructure.
Using the OsaWL diagram editor, the following tasks can be solved:
- Development of flowcharts, diagrams, descriptions of business processes and enterprise architectures in basic or custom notations
- Editing properties and relationships of chart elements as instances of the corresponding classes (also known as editing user data of chart elements)
- Display of related data with chart elements in tabular form. The content of the linked data is determined using the semantic query mechanism
- Transitions between related diagrams, forming a hierarchy of diagrams
- Automatic generation of diagrams using semantic query mechanisms
- The OsaWL Report editor allows you to solve the following tasks:
- Generation of report templates, including multi-page ones
- Preview reports
- Using semantic queries as data sources for reports
- Conditional color coding of data in the report (for example, to highlight negative deviations)
- Various forms of data presentation in the report, including in the form of graphs and diagrams
- Additional filtering of data at the report level
- Creation of additional calculated indicators in the report template and data aggregation
- Parameterization of reports
- Export reports to all common «office» file formats
The OsaWL Definition Editor allows you to solve the following tasks:
- Editing and storing definitions for ontology objects: instances of classes, classes, scalar properties, relationships. The definition texts may contain references to other ontology objects and the results of semantic queries.
- Automatic creation of a glossary of domain terms. Navigation through the definitions of terms. Navigation between related terms. List and hierarchical representations of the glossary
Role Model Editor
The OsaWL role model is implemented using the concept of «Class Representation», which allows users to differentiate access to classes and instances of classes, as well as describe the form of representation of instances in tabular form and in the form of an editing form (card).
A class can have any number of views containing different field compositions and names, different field behavior settings.
The image below shows in a simplified form the ontology of representations and the correspondence of user interface elements to the elements of the ontology.
API for working with the ontological core
The Osell platform provides the ability to interact with the ontological core of the platform using a REST API that provides methods for creating, deleting, reading and modifying ontology objects (a role-based access model is used).