Hybrid Ontology-Oriented Programming for Semi-Structured Data Processing
71 Pages Posted: 20 Mar 2020
Date Written: March 6, 2020
In this work a design of a hybrid ontology-oriented programming language is introduced. It combines declarative style for building a model of domain and imperative style for processing it. The model of domain takes the form of an ontology and consists of a set of interrelated concepts. The syntax of the concept definition allows to create a new concept based on existing ones by linking them with logic relations. It is also possible to create concepts using inheritance, nested concepts, aggregation, higher-order logic and instances generation function. The imperative style allows to prepare initial data for the model in an object-oriented or functional style, dynamically create its elements, implement some of its elements in the form of a deterministic sequence of calculations, process the results of queries to the model. The declarative and imperative components are tightly integrated. Concepts combine logical, object-oriented and functional semantics. Definitions of concepts are first-class citizens of the component of computing. They can include variables, operators and functions. This makes it possible to combine the styles in one application. The key principles of the hybrid programming language implementation are considered. They include the scope of concepts, structures for storing local values of stateful language elements, inference algorithms. The proposed hybrid programming language simplifies the creation and work with a unified model of domain based on semi-structured data or data from diverse sources. It is suitable for tasks of information extraction, automated testing, process automation, business process modeling, creation of applications based on ontologies.
Keywords: Multi-Paradigm Programming, Logic Programming, Ontology, Semi-Structured Data, Information Extraction
Suggested Citation: Suggested Citation