Ontology-driven corporate software: a cookbook
TriniData LLC Contents
4 Why Use Ontologies in Corporate Applications? 50 Subscribing to Receive Data
6 The Data Structure 53 Synchronization Between Several Platform Instances
16 Data Storage 55 SPARQL Endpoint
20 Properties of the Classes and Properties 57 Geography and Geometry Support
22 Access Rights and Security 59 Languages Support
25 Architecture of the Applications Using ArchiGraph Platform 60 Full-Text Search in Ontologies
27 ArchiGraph Platform Deployment 61 Glossaries, Lexical Models and Text-to-Facts Transformation
39 Working With ArchiGraph REST API 64 Querying External Data With ArchiGraph
42 Data Processing Using Inference Rules
2 Ontology-based corporate software is gaining popularity. Ontologies This document is not a tutorial on ontologies itself, or a detailed guide are the way of formalization of the conceptual knowledge models. of using them. There is a lot of literature covering these matters, They can be represented in a machine-readable form according to (Maria Keet, 2018). We have tried to give an overview of how the language, SHACL constraints and inference rules formalization syntax, ontologies can enrich applications functionality, and to give some etc. The upper-level ontologies, such as BFO, GFO, SUMO, Dolce are particular recipes of their use on our platform. In other words, we providing tools for knowledge modeling in various domains. The why and how to ontology-enabled software is developed by a number of vendors, use ontologies in the business applications. among which are TopQuadrant, Semantic Web Company, Ontotext and many others. Their products often become a basis for the applied systems implemented in the world’s leading corporations: the knowledge management systems, information collection and analysis tools, situation centers and many others.
The TriniData company has created the ArchiGraph platform, which enables to use the full power of ontologies for building corporate applications, using the world standards and the widespread modeling methods. Our instruments are interoperable with other ontology-based tools at the model and technical level. At the same in the corporate applications. Having six years of experience in implementation of ontology-based corporate solutions, we would describes a set of technologies, methods and tools necessary for designing modern and effective corporate software.
In this document we consider only one scenario of using ontologies in corporate software, but we hope that a reader could translate the described design patterns into other domains.
3 Why Use Ontologies in Corporate Applications?
Ontologies are often used in software for representing the structure on the contrary, lowers the times and cost of any possible software of the data and the data itself, and as a tool for representing the parts modernization. of a logic of a program execution. The ontology is situated outside of its processing can be changed without changing the code and even they are supported by and can be processed with a wide range of them. restarting an application. It means that ontology-based applied software is not vendor-locked with particular platforms or solutions, does not depend on versions or A skeptical reader can argue that there are a lot of software vendor policies: in most cases you can switch the applied system from development platforms which allow customizing data structure and using one ontological framework to another, probably more modern application logic. What is the principal difference between ontological and more functional ontology processing platform. And, obviously, the software development and these platforms? ontology-based software developers are not limited in using various programming languages, operation systems and development tools. The ontological way of the world representation is related with the philosophical, mathematical, and logical foundations: the description The functional advantages of ontology-based software development logic, set theory, etc. This allows to abstract from the details of data storage design and focus on reproduction of the business user’s are paramount. The modern world is volatile and the enterprises should of view on the same objects and processes. The models built with customers’ needs can change instantly, the products and services are emerging and eliminating in response of them, the business processes methods) can have less distortions when the business user’s concepts are changing accordingly. In other words, the business processes and objects are very unstable, and any piece of business logic rigidly the relational databases design. Such distortions on the design phase represented in the data structure or program algorithm can tomorrow can be costly when implementing and supporting software. The become the fatal obstacle which won’t allow an enterprise to adapt to the changes, expand to the new markets or just keep on running.
4 For the following narrative we need an example which allows demonstrating the described advantages of the ontologies but will be simple enough to understand without excessive explanations. Consider a simple automated system, a “situation center” of the building, which gathers telemetry from the temperature and system is designed to process only these kinds of data, but it should be able to extend further to process many other types of building that the building should host the public events which organizers can It means that an automated system cannot be limited in processing types, response orders and participators. The system can be further used by the personnel of the new services of the building, as well as the processing new types of data and building new kinds of reports.
As an enterprise will not have time and money to implement these system which could be customized on the run by the analysts, not developers. It encourages an enterprise to set the task of using tools which will simplify integration with new data sources, customization of the user interfaces and reports, changing the set of the processed events types and the typical orders of response on them without amending program code. This motivates a system developer to use ontologies and to put as much logic on the model level as possible.
The rest of the document demonstrates how to achieve this.
5 The Data Structure
In the systems that we build the data structure is a part of an Our analysts often use BFO upper level ontology and importing ontology, so the ontology can be regarded as the core, around which parts of the applicable domain ontologies, constructing the rest of the allowable customization limits depend on the correctness of the possible approach and it can be varied according to the customer’s ontology design.
There are no commonly accepted and formalized rules of ontology The ontology of the situation center of the building described above design. Several “schools” are allowing their own modeling methods, should contain the following parts: Moreover, following too strict methods can lead to the lack of solution • •
There is a wide range of domain ontologies, such as FOAF for people • signals that can be generated by these devices: measures, and their relations, SSN and SOSA for sensors, QUDT for units of measure, IFC for constructions etc. When creating an ontology you can import and reuse some parts of these ontologies: this allows to • the other hand, we don’t think that reusing ontologies ends in itself, • as it could complicate model structure and lead to trade-offs that will • reaction orders and instructions according to which the actions cost much at the time of system modernization. should be taken. An opposite approach is designing ontology from scratch, just as a All these business objects describe the real-world events and their description of some part of reality. This could cause ontology littering participants. The data on particular objects and events (individuals) will be with unnecessary entities and their unclear distinction, problems when expanding ontology to the adjacent domains, and in the end ontology classes and properties. The ontology should also contain entities practices criticized above.
6 • with an ontology. In the demo version1, unlike productive installation, • data transformation rules (for example, rules of transforming First of all, an endpoint should be created. An endpoint is, according • actions performed by the automated system in order to react on execute the next command in the command line of the server where • ArchiGraph is deployed2: • analytic dashboards and interactive maps building rules, etc. As we will show later, a part of the data processing logic (algorithms) will also be represented in the form of constraints or inference rules. So the ontologies allow to represent the logic of automated system execution using ontology elements represented according to some is a root ontology element (top-level ontology classes should be its metamodel, as well as using inference rules. SHACL inference rules subclasses). itself are a part of an ontology.
Then you should create a core storage in which ArchiGraph will store In the ArchiGraph platform, ontologies are composed using ArchiGraph. the ontology TBox (classes and properties) and all the data by default, Mir editor (“Mir” means “world” in Russian). We recommend referring to its user manual for more information. later. In general, you should deploy a graph database (RDF triple store with SPARQL interface, for example Apache Fuseki), and register it in To start working with ArchiGraph.Mir on-premise installation, you endpoints and storages. ArchiGraph is an ontology-based data management platform offering API to access ontology and the data 1 You can get ArchiGraph products demo at represented according with to it. ArchiGraph.Mir uses this API to work 2 ArchiGraph is usually deployed in containers, so you should add a command allowing to get into container to this line. We will show an example later, when discussing ArchiGraph deployment.
7 Table 1. The storage types available in the default ArchiGraph version