<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Metagraph Approach to the Information-Analytical Systems Development</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Yuriy E. Gapanyuk candidate of technical sciences, associate professor Bauman Moscow State Technical University</institution>
          ,
          <addr-line>Baumanskaya 2-ya, 5, postcode 105005, Moscow</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <fpage>428</fpage>
      <lpage>439</lpage>
      <abstract>
        <p>The paper discusses the peculiarities of using the metagraph approach for the development of the informationanalytical systems. The metagraph information space is used for the unified semantic description of the information-analytical system. The metagraph multidimensional data model allows storing in hypercube facts and aggregates not only numerical values but any complex data structures that may be represented in the form of a metagraph. The metagraph process aimed for metagraph multidimensional data handling may be considered as a metagraph metaedge based on active metagraph.</p>
      </abstract>
      <kwd-group>
        <kwd>Information-Analytical System</kwd>
        <kwd>Metagraph Information Space</kwd>
        <kwd>Metaprogramming</kwd>
        <kwd>Metagraph</kwd>
        <kwd>Metavertex</kwd>
        <kwd>Metaedge</kwd>
        <kwd>Active Metagraph</kwd>
        <kwd>Metagraph Agent</kwd>
        <kwd>Metagraph Multidimensional Data Model</kwd>
        <kwd>Metagraph Process</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>Modern information systems traditionally use heterogeneous information models of data, knowledge, and processes. This
situation has developed historically, because previously, the power of computing systems was low, and the processing
power of the information model was put at the forefront. The issues of integration of information systems and the
unification of information models remained in the background.</p>
      <p>The situation has now changed. The emergence and active development of big data processing technologies, the
expansion of the range of information, and analytical tasks have led to the fact that the processed data may well be
knowledge, situations, processes. This requires new approaches to system integration and information models.</p>
      <p>Service-oriented approach (including its modern microservice version), to a certain extent, solves the problem of
integration of information systems, but each system functions as a black box. Integration is possible only at the level of
elements that are placed in the service interface.</p>
      <p>
        The multiagent approach can be considered as an extension of the service-oriented approach. This approach is proposed
to be used for industry 4.0 [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], product life cycle management [
        <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
        ], robotics systems [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], including social robotics [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The
multiagent approach suggests that we should use an agent knowledge model that can be based on the ontological approach,
but at the same time, be OLAP-like.
      </p>
      <p>For example, if we want to use an OLAP-like model to store and aggregate not numbers, but situations or processes, in
order to solve informational-analytical tasks, using a service-oriented approach will not help, integration at the level of a
unified information model is required.</p>
      <p>In this article, the metagraph model is considered as such a model, which allows describing complex data and processes
within the unified approach.</p>
      <p>
        This article develops the ideas of the article [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], in which it was proposed to use the metagraph approach for
multidimensional-ontological data model. However, in this article, we will try to give holistic description of the proposed
approach, which will use the concept of the metagraph information space.
      </p>
      <p>The article is organized as follows. The formal definition of information-analytical system is given. The
metaprogramming peculiarities in the information-analytical systems are discussed. A brief description of the metagraph
model is given. The unified semantic description of the information-analytical system is proposed based on the metagraph
approach.</p>
      <p>
        Copyright © 2019 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
According to [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], the “Information-Analytical System” is “an automated system which carries out the storage, processing,
analysis, and provision of information in a user-friendly form.”
      </p>
      <p>Based on this verbal definition, we can offer the following formal definition of an information-analytical system:</p>
      <sec id="sec-1-1">
        <title>IAS IASDATA , IASPROC , IASINTR , (1)</title>
        <p>where IAS – information-analytical system; IASDATA – the data and knowledge component of information-analytical system,
responsible for the “storage of information”; IASPROC – the information processes component of information-analytical
system, responsible for “processing and analysis of information”; IASINTR – the user interface component of
informationanalytical system, responsible for “input and provision of information in a user-friendly form.”</p>
        <p>
          Currently, a considerable number of technologies have been developed that allow implementing these components:
x For the IASDATA component, there are relational and non-relational DBMS, RDF-based ontology storage tools. The
most commonly used tool for the information-analytical system is OLAP technology [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], based on multidimensional
data representation.
x For the IASPROC component, there are programming languages, including specialized stored procedure languages for
relational, non-relational, and multidimensional data. Nowadays, workflow and rule-based programming approaches
are gaining popularity. For example, in the Drools system, it is possible to operate combined processing using the
workflow technology approach and a rule-based programming approach. The advantages of a rules-based approach
include flexibility. In this case, the program is not hardcoded but forward chained with rules based on the data. The
disadvantages include the possibility of rules cycling and the complexity of processing a large set of rules.
        </p>
        <p>Nowadays, for the processing of a large set of rules, the Rete algorithm and its modifications are used.
x For the IASINTR component, there are a considerable number of user interface technologies, based on desktop, web,
and mobile approaches. Tools for dashboards and reports building are most commonly used in
informationanalytical systems.</p>
        <p>Such a technology zoo creates serious problems in the development and especially with the support of
informationanalytical systems. Each technology is dealt with by a separate group of specialists, for the successful implementation of the
project between the groups should be established successful cooperation.</p>
        <p>One of the ways to reduce the technology zoo is the use of metaprogramming.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>3 The Metaprogramming in the Information-Analytical Systems</title>
      <p>Currently, the metaprogramming facilities in information systems development are used enough in isolation. For example,
using web frameworks, it is possible to automatically generate simple forms of data input using the scaffolding mechanism.
However, if it is necessary to create complex data entry forms for a Single Page Application (SPA), then such scaffolding
tools will have to be created manually.</p>
      <p>Modern languages and programming tools, with rare exceptions, almost do not use homoiconicity in the sense of Lisp.
Due to homoiconicity, in Lisp, a program fragment can be considered as a data set for another program fragment.</p>
      <p>
        According to [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]: “In homoiconic languages, all code can be accessed and transformed as data, using the same
representation. This property is often summarized by saying that the language treats code as data principle.”
      </p>
      <p>However, it should be noted that homoiconicity in Lisp is a tool built into the programming language. Gradually, the idea
began to emerge in the developer community that a mechanism like homoiconicity should not be built into a particular
programming language, but rather a broader one. It is possible to create a language for describing data or structures with a
homoiconic syntax in order to build on it different variants of semantics and apply in different technologies.</p>
      <p>
        The first version of this language was XML, which appeared in the late 1990s. Currently, XML is still widely used in
many areas but is gradually being superseded by the use of JSON. The emergence of XML was a huge step forward in
terms of not language-oriented, but technological and architectural homoiconicity:
1. First of all, a large number of markup languages appeared to describe various subject areas. Examples of such
languages are MathML (Mathematical Markup Language), CML (Chemical Markup Language). The XML
namespaces were added to the XML standard to distinguish elements and attributes with the same name but different
semantics.
2. The Native XML Databases (NXD) [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] intended for storing XML documents may be considered as a renaissance
of hierarchical DBMS. This technology may be considered as part of the IASDATA component.
3. An XML schema technology [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] allows to describe and validate the structure of XML documents. This technology
is homoiconic. The XML schema is an XML document, which elements and attributes are defined in the specific
XML namespace. This technology may be considered as part of IASDATA component.
4. An XSLT technology [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] allow to transform XML document in either XML document, HTML document or text
document. This technology is homoiconic. The XSLT transformation is an XML document, which elements and
attributes are defined in the specific XML namespace. This technology may be considered as part of IASPROC
component.
5. An XQuery [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] is a query language allowing to query and process XML data stored in Native XML Databases.
      </p>
      <p>
        This query language itself is not homoiconic but is has the homoiconic variant of syntax representation, which is
called XQueryX [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. This technology may be considered as part of the IASPROC component.
6. An XML Process Definition Language (XPDL) [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] allows defining workflow processes and interchange business
process definitions between different workflow products. This technology may be considered as part of the IASPROC
component.
7. An XForms technology [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] allows describing input forms for user input. Historically, XForms technology was one
of the first attempts of the SPA approach. This technology is very complicated and is not “rich” enough compared to
modern JavaScript frameworks and libraries such as Angular, Vue.js, React, and others. Therefore, XForms
technology is currently used rarely. Nevertheless, this technology is also homoiconic. Its elements and attributes are
defined in the specific XML namespace. This technology may be considered as part of the IASINTR component.
      </p>
      <p>
        As an example of architectural homoiconicity, we can consider the XRX architecture [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. The consideration of XRX
architecture is partly based on our article [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. XRX stands for “XForms–REST–XQuery.” XRX is an example of
“zerotranslation architecture.” It means that there is no translation (data conversion) between server and client data format. XML
used both on server and client sides and for data transfer between server and client. Thus, XRX architecture is simple and
friendly for the developer.
      </p>
      <p>Consider the classical three-tier architecture of web application represented in Figure 1. This architecture contains three
tiers: presentation tier, application tier, and data tier.</p>
      <p>The main problem with this architecture is that it is required to use many different technologies at the same time to
develop a web application, which increases the complexity of the development.</p>
      <p>At the presentation tier can be used: HTML, cascading style sheets (CSS), JavaScript. In the case of modern JavaScript
frameworks, a significant portion of the web application is developed in JavaScript, and server-side scripts are mainly used
to exchange data with the presentation tier.</p>
      <p>At the application tier for server-side scripting, a procedural or object-oriented programming language can be used, such
as Python, C#, or Java. The DBMS is accessed directly using SQL or using object-relational mapping libraries such as
SQLAlchemy (Python), NHibernate (C#), or Hibernate (Java).</p>
      <p>The data tier is a relational database. Some kind of stored procedure language can be used in the data tier.</p>
      <p>
        This architecture causes an “object-relational impedance mismatch” problem. According to [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]: “The object-relational
impedance mismatch is a set of conceptual and technical difficulties that are often encountered when a relational database
management system (RDBMS) is being served by an application program written in an object-oriented programming
language or style, particularly because objects or class definitions must be mapped to database tables defined by a relational
schema.” Obviously, this problem is caused by the fact that the server-side script and DBMS use different data
representations and different approaches to data processing.
      </p>
      <p>One of the solutions to this problem is an approach in which a single data model is used at all tiers, and the same data
model is used in the translation of information between the tiers. This approach is called “zero-translation architecture”.
Figure 2 shows the generalized three-tier architecture of the XRX web application, which is an example of “zero-translation
architecture.”</p>
      <p>The presentation tier is XForms-processor. XForms-processor receives XForms-document from Web-server, converts
XForms-document to HTML+CSS+Javascript, provides user input, makes XML-fragment from inputted values and sends
result XML-fragment back to Web-server.</p>
      <p>The application tier is XQuery-script that runs on Web-server. This is the main tier that communicates with
XFormsprocessor and Native XML Database.</p>
      <p>The data tier is a Native XML Database that stores data in XML format.</p>
      <p>Data transfer between Application tier and Presentation tier is XML, because XQuery-script sends to XForms-processor
XForms-documents (that’s XML), default XML data and receives inputted XML data. Data transfer between the
application tier and the data tier is XML too because Native XML Database sends and receives data in XML format.</p>
      <p>Now consider the detailed XRX-architecture of web application represented in Figure 3. There are three variants of the
detailed architecture. Variant I is an example of a “shallow XRX” architecture. This is the case where XRX stack is
simplified; for example, traditional HTML forms are used instead of XForms.</p>
      <p>Variants II and III are examples of “deep XRX” architecture when full XRX stack is used. Variant II is the case when
XForms-processor is a client solution. Variant III is the case when XForms-processor is a web server application solution.</p>
      <p>Because in the variant II XForms-processor is a client solution, it is very easy to create XForms-documents dynamically
and transfer them to the client-side XForms-processor.</p>
      <p>There are variants II and III that may be considered as examples of “zero-translation architecture.” Comparing to the
classical three-tier architecture of web-application there is no “object-relational impedance mismatch” problem in XRX
architecture because XML is a single data model used in all tiers. Thus, the XML approach provides not only technological
but also architectural homoiconicity.</p>
      <p>
        XML is currently criticized for its redundant syntax, and JSON is increasingly used instead. However, some XML
technologies are ported for use with JSON, or ideologically similar tools are created for JSON:
x JSON-based document-oriented databases are used instead of Native XML Databases. The examples of such DBMS
are MongoDB, CouchDB.
x The JSON Schema technology [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] is ideologically based on XML schema technology.
x The JSONiq query language [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] is a ported XQuery language, adopted for JSON syntax.
      </p>
      <p>Summing up, we can say that XML and JSON are two variants of the homoiconic syntax allowing to build on it different
variants of semantics. Thus, these technologies make it possible to get rid of the “syntactic zoo” in information-analytical
systems.</p>
      <p>It should be noted that the “fight against the zoo” in practice is carried out exclusively by trial and error. Nobody can
theoretically prove that any approach will completely solve the problem of the zoo in practice. For example, a very
conceptual and unified XRX approach has not taken deep roots in practice. Thus, we can only propose an approach, in the
hope that it will take root in practice.</p>
      <p>This article attempts to overcome the “semantic zoo” in information-analytical systems. For this purpose, it is proposed
to use a unified semantic model for IAS. We call this unified model “metagraph information space.” The basis for
unification is the metagraph approach, which is briefly described in the following section.</p>
    </sec>
    <sec id="sec-3">
      <title>4 The Brief Description of the Metagraph Model</title>
      <p>
        In this section, the metagraph model is briefly described, which is necessary for further understanding. Metagraph is a kind
of complex network model, proposed by A. Basu and R. Blanning in their book [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] and then adapted for information
systems description in our papers [
        <xref ref-type="bibr" rid="ref23 ref6">6, 23</xref>
        ].
      </p>
      <sec id="sec-3-1">
        <title>4.1 The Metagraph Data Model Definitions</title>
        <p>
          According to [
          <xref ref-type="bibr" rid="ref23 ref6">6, 23</xref>
          ] metagraph model may be described as follows:
        </p>
        <p>MG V , MV , E, ME ,
where mvi – metagraph metavertex belongs to set of metagraph metavertices MV; atrk – attribute, MGj – metagraph
fragment.</p>
        <p>Thus, metavertex, in addition to the attributes, includes a fragment of the metagraph. The presence of private attributes
and connections for metavertex is a distinguishing feature of the metagraph. It makes the definition of metagraph holonic –
metavertex may include a number of lower-level elements and in turn, may be included in a number of higher-level
elements.
where MG – metagraph; V – set of metagraph vertices; MV – set of metagraph metavertices; E – set of metagraph edges;
ME – set of metagraph metaedges.</p>
        <p>Metaedge is an optional element of the metagraph model aimed for process description. In the case of the
informationanalytical system description, this element is used for IASPROC component description.</p>
        <p>Metagraph vertex is described by a set of attributes:</p>
        <p>vi ^ atrk ` , vi  V , (3)
where vi – metagraph vertex; atrk – attribute.</p>
        <p>Metagraph edge is described by a set of attributes, the source, and destination vertices and edge direction flag:
ei vS , vE , eo, ^ atr` k , ei  E, eo true | false , (4)
where ei – metagraph edge; vS – source vertex (metavertex) of the edge; vE – destination vertex (metavertex) of the edge;
eo – edge direction flag (eo=true – directed edge, eo=false – undirected edge); atrk – attribute.</p>
        <p>The metagraph fragment:
where MGi – metagraph fragment; evj – an element that belongs to the union of vertices, edges, metavertices, and
metaedges.</p>
        <p>The metagraph metavertex:</p>
        <p>MGi ^ ev j ` , ev j  (V  E</p>
        <p>MV</p>
        <p>ME),
mvi
^ atrk ` , MG j , mvi  MV ,
(2)
(5)
(6)</p>
        <p>The example of data metagraph (shown in Figure 4) contains three metavertices: mv1, mv2, and mv3. Metavertex mv1
contains vertices v1, v2, v3 and connecting them edges e1, e2, e3. Metavertex mv2 contains vertices v4, v5, and connecting
them edge e6. Edges e4, e5 are examples of edges connecting vertices v2-v4 and v3-v5 are contained in different metavertices
mv1 and mv2. Edge e7 is an example of the edge connecting metavertices mv1 and mv2. Edge e8 is an example of the edge
connecting vertex v2 and metavertex mv2. Metavertex mv3 contains metavertex mv2, vertices v2, v3, and edge e2 from
metavertex mv1 and also edges e4, e5, e8 showing holonic nature of the metagraph structure.</p>
        <p>The vertices, edges, and metavertices are used for data description while the metaedges are used for process description.
The metagraph metaedge:
mei
vS , vE ,^ atrk ` , MG j , mei  ME,
(7)
where mei – metagraph metaedge belongs to set of metagraph metaedges ME; vS – source vertex (metavertex) of the
metaedge; vE – destination vertex (metavertex) of the metaedge; atrk – attribute, MGj – metagraph fragment.</p>
        <p>It is assumed that a metagraph fragment contains vertices (or metavertices) as process nodes and connecting them edges.
A metagraph fragment can also contain nested metaedges, which makes the description of the metaedge recursive.</p>
        <p>The example of a directed metaedge is shown in Figure 5.</p>
        <p>The directed metaedge contains metavertices mvS, … mvi, … mvE and connecting them edges. The source metavertex
contains a nested metagraph fragment. During the transition to the destination metavertex, the nested metagraph fragment
became more complex, new vertices, edges, and inner metavertices are added. Thus, metaedge allows binding the stages of
nested metagraph fragment development to the steps of the process described with metaedge.</p>
      </sec>
      <sec id="sec-3-2">
        <title>4.2 The Metagraph Agents Definitions</title>
        <p>The metagraph model is aimed for complex data descriptions. However, it is not aimed for data transformation. To solve
this issue, the metagraph agent (agMG) aimed for data transformation is proposed. There are two kinds of metagraph agents:
the metagraph function agent (agF) and the metagraph rule agent (agR). Thus agMG = agF | agR.</p>
        <p>The metagraph function agent serves as a function with input and output parameter in the form of metagraph:
ag F MGIN , MGOUT , AST , (8)
where agF – metagraph function agent; MGIN – input parameter metagraph; MGOUT – output parameter metagraph; AST –
abstract syntax tree of metagraph function agent in the form of metagraph.</p>
        <p>The metagraph rule agent is rule-based:</p>
        <p>ag R MG, R, AGST , R ^ ri` , ri : MG j o OPMG , (9)
where agR – metagraph rule agent; MG – working metagraph, a metagraph on the basis of which the rules of agent are
performed; R – set of rules ri; AGST – start condition (metagraph fragment for start rule check or start rule); MGj – a
metagraph fragment on the basis of which the rule is performed; OPMG – set of actions performed on metagraph.</p>
        <p>The antecedent of the rule is a condition over the metagraph fragment; the consequent of the rule is a set of actions
performed on metagraph. Rules can be divided into open and closed.</p>
        <p>The consequent of the open rule is not permitted to change the metagraph fragment occurring in rule antecedent. In this
case, the input and output metagraph fragments may be separated. The open rule is similar to the template that generates the
output metagraph based on the input metagraph.</p>
        <p>The consequent of the closed rule is permitted to change the metagraph fragment occurring in rule antecedent. The
metagraph fragment changing in rule consequent cause to trigger the antecedents of other rules bound to the same
metagraph fragment. But incorrectly designed closed rules system can cause an infinite loop of metagraph rule agent.</p>
        <p>Thus, the metagraph rule agent can generate the output metagraph based on the input metagraph (using open rules) or
can modify the single metagraph (using closed rules).</p>
      </sec>
      <sec id="sec-3-3">
        <title>4.3 The Active Metagraph Definition</title>
        <p>In order to combine the data metagraph model and metagraph agent model, we propose the concept of “active metagraph”:
MGACTIVE MGD , AGMG , AGMG ^ agi` ,
(10)
where MGACTIVE – an active metagraph; MGD – data metagraph; AGMG – set of metagraph agents agi, attached to the data
metagraph.</p>
        <p>Thus, active metagraph allows combining data and processing tools for the metagraph approach. Similar structures are
often used in computer science. As an example, we can consider a class of object-oriented programming language, which
contains data and methods of their processing. Another example is a relational DBMS table with an associated set of
triggers for processing table entries.</p>
        <p>The main difference between an active metagraph and a single metagraph agent is that an active metagraph contains a set
of metagraph agents that can use both closed and open rules. For example, one agent may change the structure of active
metagraph using closed rules while the other may send metagraph data another active metagraph using open rules. Agents
work independently and can be started and stopped without affecting each other.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>5 The Unified Semantic Description of the Information-Analytical System</title>
      <p>Based on the metagraph approach, in this section, we propose the unified semantic description of the information-analytical
system. We call this unified model “metagraph information space.” This model is based on the information-analytical
system formal definition, formula (1). In this section, we consider how components of IAS are translated into the
“metagraph information space.”</p>
      <sec id="sec-4-1">
        <title>5.1 The User Interface Component</title>
        <p>It should be noted that in this article, we will not talk in detail about the user interface component of the
informationanalytical system (IASINTR). Input form definition can be based on any homoiconic technology similar to XForms.</p>
        <p>We assume that for the generation of input forms based on metagraphs, is considered can be used metagraph function
agents and metagraph rule agents. The AST (in case of function agent) or rules (in case of rule agent) of these agents are
similar to XSLT transformations that generate XForms-forms based on the description of the data model in XML.</p>
        <p>In further explanation, we consider such operations as “generating an input form based on a data description” and
“entering data into a form” as atomic operations. At the same time, we omit entirely such issues as combining input forms
with wizards, creating complex reports based on data, building dashboards. Undoubtedly, such complex forms of the user
interface can be generated on the basis of metagraphs using metagraph agents, but this issue is the subject of separate
research.</p>
      </sec>
      <sec id="sec-4-2">
        <title>5.2 The Data and Knowledge Component</title>
        <p>
          The most commonly used tool for the information-analytical system is OLAP technology, based on multidimensional data
representation. This section develops the ideas of the article [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], in which it was proposed to use the metagraph approach for
the multidimensional-ontological data model.
        </p>
      </sec>
      <sec id="sec-4-3">
        <title>5.2.1 The Multidimensional Data Model</title>
        <p>
          The classical multidimensional data model, proposed by Edgar F. Codd, allows working with numerical data (measures)
binding them to the hierarchical taxonomies (dimensions) [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. The multidimensional data model is a core for OLAP (online
analytical processing) information systems.
        </p>
        <p>
          Many variants of formalization of such a model were proposed, for example [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]. In this section, we use our own
simplified version of the formalization according to [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], which will help to describe the proposed model. Multidimensional
hypercube may be described as follows:
        </p>
        <p>HC</p>
        <p>MSR, HCD, HCF , HCR ,
MSR ^ msri ` , HCD ^ hcdi ` , HCF
^ hcfi` , HCR ^ hcri ` ,
where HC – hypercube; MSR – set of hypercube measures (msri – measure); HCD – set of hypercube dimensions (hcdi –
dimension); HCF– set of hypercube facts (hcfi – fact); HCR – set of hypercube aggregation rules (hcri – rule).</p>
        <p>In the case of the classical multidimensional data model, it is assumed that a measure can store only numerical values.
Hypercube dimension:
hcdi</p>
        <p>^ hcdik ` , E ,
hcf j
,
where hcdik – hypercube dimension element; E – a partial order on the set of hypercube dimension elements.</p>
        <p>In most cases, the hypercube dimension element is organized in a tree structure, in case of the time dimension, e.g., year
ĺ month ĺ week ĺ day. However, partial order organization is more suitable then tree structure organization because
partial order organization allows describing ragged hierarchies, in case of the time dimension, e.g. the month ĺ week ĺ
day and month ĺ decade ĺ day hierarchies are allowed to exist simultaneously in one dimension.</p>
        <p>Hypercube fact:
where hcdiref – a reference to the dimension element; msrn – measure.</p>
        <p>In the case of low-level hypercube fact, the set ^ hcdiref ` contains references to low-level elements of all hypercube
dimensions. In the case of aggregated hypercube fact ^ hcdiref `  P(HCD) , the set ^ hcdiref ` belongs to the powerset of all
hypercube dimensions because aggregation rules may exclude dimensions during the aggregation process. Simultaneously,
during aggregation, elements hcdiref roll up upon their hierarchies, providing data aggregation on higher levels of
hierarchies.</p>
        <p>Hypercube aggregation rule:
hcrk : ^ hcfOUT `</p>
        <p>agf ^ hcfIN ` , HCDag , HCDag  HCD,
where hcfOUT – output (aggregated) facts; agf – aggregation function; hcfIN – input (non-aggregated) facts; HCDag – a subset
of hypercube dimensions used in aggregation.</p>
        <p>Aggregation rules allow calculating aggregated facts on the base of non-aggregated or low-level aggregated facts and
hypercube dimensions. The typical aggregation functions are count, sum, min, max, and other numerical functions.
Depending on the multidimensional system implementation, aggregation rules may be bound to the particular dimensions or
the whole hypercube.</p>
        <p>Today the multidimensional model is used in a significant number of information-analytical system, and its advantages
are worldwide recognized. However, multidimensional model is oriented for numerical measures usage. Textual or
objectoriented information is not considered for use as measures. This may be noted as a limitation of a classical
multidimensional model.</p>
        <p>
          An approach called “Graph OLAP” is currently being developed [
          <xref ref-type="bibr" rid="ref25 ref26">25, 26</xref>
          ]. This idea is somewhat similar to ROLAP
(Relational OLAP) approach, but instead of the relational model, the graph model is used. Instead of the hypercube
aggregation operation, the graph aggregation operation (aggregate network) is used [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ].
        </p>
        <p>Thus, the “Graph OLAP” approach is an attempt to adapt the standard multidimensional model to graph data. This
approach inherits the main problem of the classical multidimensional model. It does not allow changing the type and
structure of the data in the aggregation process. To overcome this problem, it is proposed to use the metagraph approach.</p>
      </sec>
      <sec id="sec-4-4">
        <title>5.2.2 The Metagraph Representation of the Multidimensional Data Model</title>
        <p>In this subsection, several definitions of the multidimensional data model will be further redefined to match the metagraph
information space. Let us call this model the “metagraph multidimensional data model” (HCMG).</p>
        <p>In the case of the metagraph information space, the measure is a metagraph fragment:</p>
        <p>msri { MGj , (15)
where msri – measure; MGj – metagraph fragment.
(11)
(12)
(13)
(14)</p>
        <p>This means that a hypercube cell can contain not only a numeric value but any complex data structure described by the
metagraph.</p>
        <p>According to formula (12), the hypercube dimension:
hcdi
^ hcdik ` , E , hcdi  MV , hcdik (V</p>
        <p>MV ),
where hcdi – hypercube dimension; hcdik – hypercube dimension element; E
– a partial order on the set of hypercube
dimension elements; MV – set of metagraph metavertices; V – set of metagraph vertices.</p>
        <p>The hypercube dimension may be represented in the form of a hierarchically organized metavertex. The hypercube
dimension elements that correspond to leaves of the tree can be represented as vertices, while the elements of the higher
levels as metavertices.</p>
        <p>According to formulae (13, 15, 16), the hypercube fact:
hcf j
^ hcdiref ` ,^ ms r`n
, hcdiref  (V</p>
        <p>MV ), m s{rn</p>
        <p>MGj ,
where hcdiref – reference to the dimension element; msrn – measure; MV – set of metagraph metavertices; V – set of
metagraph vertices; MGj – metagraph fragment.</p>
        <p>The hypercube aggregation rule in the metagraph information space corresponds to formula (14). However, instead of
aggregation function, the metagraph agent is used for aggregation:
hcrk : ^ hcfOUT `</p>
        <p>ag MG ^ hcfIN ` , HCDag , HCDag  HCD,
where hcfOUT – output (aggregated) facts; agMG – the metagraph agent used for aggregation; hcfIN – input (non-aggregated)
facts; HCDag – the subset of hypercube dimensions used in aggregation.</p>
        <p>The aggregation example is represented in Figure 6. There is a simple hypercube with two dimensions hcd1 and hcd2.
The hypercube facts corresponds to the hypercube dimension elements combinations hcd111-hcd211, hcd111-hcd212,
hcd112hcd211, hcd112-hcd212 are lower-level hypercube facts. The combination hcd11-hcd21 corresponds to the aggregated hypercube
fact. In the process of aggregation, not only quantitative characteristics change but also the metagraph structure of cells
corresponding to the facts of the hypercube.
(16)
(17)
(18)</p>
        <p>It should be noted that according to formula (10), the combination of input hypercube fact and set of corresponding
agents from the hypercube aggregation rules may be considered as an active metagraph. Let us call this combination “active
fact”:
hcf ACTIVE
hcfIN ,^ ag MG`
(19)</p>
        <p>In formula (18), the agMG agent may aggregate many input facts. The formula (19) considers the situation that one input
fact may be used in many aggregation rules.</p>
        <p>The three essential conclusions can be drawn from this model:
1. The proposed approach allows storing in hypercube facts and aggregate not only numerical values but any complex
data structures. This allows working with data, knowledge, situations, processes descriptions represented in the form
of metagraph.
2. In one data metagraph, it is possible to distinguish an arbitrary number of hypercubes. A hypercube may not be the
entire data metagraph, but a fragment of it.
3. In the proposed approach, agents used in aggregation rules may be considered as somewhat similar to database
triggers. However, these agents perform an aggregation function and cannot fully implement the data processing in
the information-analytical system.</p>
      </sec>
      <sec id="sec-4-5">
        <title>5.3 The Information Processes Component</title>
        <p>To implement data processing, we propose to use the “metagraph processes” (PROCMG), which is the set of processes
(PROCi): PROCMG ^ PROCi` .</p>
        <p>The “metagraph process” may be considered as a metagraph metaedge based on active metagraph. Based on formula (7)
we use an active metagraph instead of data metagraph as a process node:</p>
        <p>PROCi
vS , vE ,^ at r`k , MG j ª¬ mvnode { MGnAoCdTeIV Eº¼
, mvnode </p>
        <p>MV ,
(20)</p>
        <p>The example of the metagraph processes description is represented in Figure 7. The vertices and metavertices used for
data descriptions are shown with circles. Active metagraphs mg* corresponding to the metagraph process elements are
shown with rectangles. The metagraph processes PROC1 and PROC2 are shown with double rectangles. The dashed link
shows the call of the nested metagraph process PROC2 from the active metagraph element mg15. The directed edges show
the relationship between metagraph process elements. The undirected edges show the relationship between data elements or
the relationship between data elements and active metagraphs.</p>
        <p>The input data for the mg11 element are shown as metavertex mv1, which contains vertices v31, v32, and connecting them
edge e31. The connection between the metavertex mv1 and the process element mg11 is performed using the edge e41. The
attribute mg11.in = true means the semantic of input data. Similarly, using the edges e42, e43, e44, the metavertices mv2 and
mv3 are connected with active metagraph elements mg11 and mg12 as input-output data.</p>
        <p>It should be noted that the description of the metagraph process is homoiconic. It is represented in the form of a
metagraph and can be modified by a higher-level metagraph agent. It also may be stored in “metagraph multidimensional
data model.”</p>
        <p>The operations of metagraph agents associated with the process elements can perform the following classes of actions:
x DDL (Data Definition Language) operations. Definition and modification of the elements of the “metagraph
multidimensional data model” (HCMG). Definition of dimensions, measures, aggregation rules.
x DML (Data Manipulation Language) operations. Metagraph data transfer between different parts of the metagraph
hypercube. Perform non-standard aggregation operations.
x User interface operations such as “generating an input form based on a data description” or “entering data into a
form.”
x Homoiconic operations related to metagraph processes modification.</p>
      </sec>
      <sec id="sec-4-6">
        <title>5.4 The Metagraph Information Space</title>
        <p>To sum up this section, let us formally define the “metagraph information space” (MIS):
MIS</p>
        <p>HC MG , PROC MG , MISINTR , HC MG l IASDATA , PROC M Gl
IASPROC , MISlINTR</p>
        <sec id="sec-4-6-1">
          <title>IASINTR</title>
          <p>(21)</p>
          <p>The definition of “metagraph information space” corresponds to the definition of the “information-analytical system,”
formula (1). The data and knowledge component of information-analytical system (IASDATA) is implemented as “metagraph
multidimensional data model” (HCMG), while the information processes component (IASPROC) is implemented as
“metagraph processes” (PROCMG). The metagraph implementation (MISINTR) of the user interface component of the
information-analytical system (IASINTR) is not considered in details in this article.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>6 Conclusions</title>
      <p>The information-analytical system consists of three components: the data and knowledge component, the information
processes component, and the user interface component.</p>
      <p>One of the ways to reduce the technology zoo during the information-analytical system is the use of metaprogramming,
especially homoiconicity. Languages like XML or JSON allows describing structures with a homoiconic syntax in order to
build on it different variants of semantics and apply in different technologies. These technologies make it possible to get rid
of the “syntactic zoo” in information-analytical systems. This article attempts to also overcome the “semantic zoo” in
information-analytical systems. For this purpose, it is proposed to use a unified semantic model based on the metagraph
approach.</p>
      <p>The key element of the metagraph data model is metavertex. The metavertex, in addition to the attributes, includes a
fragment of the metagraph. The presence of private attributes and connections for metavertex is a distinguishing feature of
the metagraph model. It makes the definition of metagraph holonic – metavertex may include a number of lower-level
elements and in turn, may be included in a number of higher-level elements. Metaedges are purposed for the process
description. Using metagraph agents, it is possible either to generate the output metagraph based on the input metagraph
(using open rules) or to modify the metagraph (using closed rules). An active metagraph combines the data metagraph and
metagraph agents.</p>
      <p>The metagraph information space consists of the metagraph multidimensional data model and the metagraph process
model.</p>
      <p>The metagraph multidimensional data model allows storing in hypercube facts and aggregate not only numerical values
but any complex data structures. This allows working with data, knowledge, situations, processes descriptions represented
in the form of metagraph.</p>
      <p>The metagraph process may be considered as a metagraph metaedge based on active metagraph. The description of the
metagraph process is homoiconic. It is represented in the form of a metagraph and can be modified by a higher-level
metagraph agent. It also may be stored in the metagraph multidimensional data model.</p>
      <p>The proposed metagraph approach allows representing the main components of the information-analytical system model
in a homoiconic way.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>V.B.</given-names>
            <surname>Tarassov</surname>
          </string-name>
          .
          <article-title>Enterprise total agentification as a way to industry 4.0: Forming artificial societies via goal-resource networks</article-title>
          .
          <source>In: Intelligent Information Technologies for Industry</source>
          <year>2018</year>
          , AISC, vol.
          <volume>874</volume>
          , pp.
          <fpage>26</fpage>
          -
          <lpage>40</lpage>
          . Springer,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>V.</given-names>
            <surname>Taratukhin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Yadgarova</surname>
          </string-name>
          .
          <article-title>Towards a socio-inspired multiagent approach for new generation of product life cycle management</article-title>
          .
          <source>Procedia Computer Science</source>
          <volume>123</volume>
          :
          <fpage>479</fpage>
          -
          <lpage>487</lpage>
          ,
          <year>August 2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>V.O.</given-names>
            <surname>Karasev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.A.</given-names>
            <surname>Sukhanov</surname>
          </string-name>
          .
          <article-title>Product Lifecycle Management Using Multi-agent Systems Models</article-title>
          .
          <source>Procedia Computer Science</source>
          <volume>103</volume>
          :
          <fpage>142</fpage>
          -
          <lpage>147</lpage>
          ,
          <year>October 2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A.V.</given-names>
            <surname>Nazarova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Zhai</surname>
          </string-name>
          .
          <article-title>Distributed Solution of Problems in Multi Agent Robotic Systems</article-title>
          .
          <source>Studies in Systems, Decision and Control</source>
          <volume>174</volume>
          :
          <fpage>107</fpage>
          -
          <lpage>124</lpage>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>V.E.</given-names>
            <surname>Karpov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.B.</given-names>
            <surname>Tarassov</surname>
          </string-name>
          .
          <article-title>Synergetic artificial intelligence and social robotics</article-title>
          .
          <source>In Intelligent Information Technologies for Industry</source>
          <year>2017</year>
          , AISC, vol.
          <volume>679</volume>
          , pp.
          <fpage>3</fpage>
          -
          <lpage>15</lpage>
          . Springer,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>V.M.</given-names>
            <surname>Chernenkiy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Yu.E.</given-names>
            <surname>Gapanyuk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.N.</given-names>
            <surname>Nardid</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.V.</given-names>
            <surname>Gushcha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Yu.S.</given-names>
            <surname>Fedorenko</surname>
          </string-name>
          .
          <article-title>The Hybrid MultidimensionalOntological Data Model Based on Metagraph Approach</article-title>
          . In: A.
          <string-name>
            <surname>K. Petrenko</surname>
            ,
            <given-names>A</given-names>
          </string-name>
          . Voronkov (eds.)
          <article-title>Perspectives of systems informatics</article-title>
          . 11th
          <string-name>
            <surname>International Andrei P. Ershov Informatics</surname>
            <given-names>Conference</given-names>
          </string-name>
          ,
          <string-name>
            <surname>PSI</surname>
          </string-name>
          <year>2017</year>
          , Moscow, Russia, June 27-29,
          <year>2017</year>
          , Revised Selected Papers / edited by Alexander
          <string-name>
            <surname>K. Petrenko</surname>
          </string-name>
          , Andrei Voronkov, vol.
          <volume>10742</volume>
          . Lecture notes in computer science,
          <volume>0302</volume>
          -
          <fpage>9743</fpage>
          , vol.
          <volume>10742</volume>
          , pp.
          <fpage>72</fpage>
          -
          <lpage>87</lpage>
          . Springer (
          <year>2018</year>
          ). doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -74313-
          <issue>4</issue>
          _
          <fpage>6</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>T.I.</given-names>
            <surname>Buldakova</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.I. Suyatinov.</surname>
          </string-name>
          <article-title>The Significance of Interdisciplinary Projects in Becoming a Research Engineer</article-title>
          . In: E.V.
          <string-name>
            <surname>Smirnova</surname>
            ,
            <given-names>R.P.</given-names>
          </string-name>
          Clark (eds.)
          <source>Handbook of Research on Engineering Education in a Global Context</source>
          . pp.
          <fpage>243</fpage>
          -
          <lpage>253</lpage>
          . Hershey, PA: IGI Global (
          <year>2019</year>
          ). doi:
          <volume>10</volume>
          .4018/978-1-
          <fpage>5225</fpage>
          -3395-5
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Providing</surname>
            <given-names>OLAP</given-names>
          </string-name>
          <article-title>(on-line analytical processing) to user-analysts: An IT mandate</article-title>
          .
          <source>Technical report</source>
          ,
          <string-name>
            <given-names>E.F.</given-names>
            <surname>Codd</surname>
          </string-name>
          &amp; Associates,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Homoiconicity</surname>
          </string-name>
          . [Online]. Available: https://en.wikipedia.org/wiki/Homoiconicity
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>G.M.</given-names>
            <surname>Pavlovic-Lazetic</surname>
          </string-name>
          .
          <article-title>Native XML databases vs. relational databases in dealing with XML documents</article-title>
          .
          <source>Kragujevac Journal of Mathematics</source>
          <volume>30</volume>
          :
          <fpage>181</fpage>
          -
          <lpage>199</lpage>
          ,
          <year>January 2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>W3C XML Schema</surname>
          </string-name>
          <article-title>Definition Language</article-title>
          .
          <source>W3C Recommendation 5 April</source>
          <year>2012</year>
          . [Online]. Available: https://www.w3.org/TR/xmlschema11-1/
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>XSL</surname>
          </string-name>
          <article-title>Transformations (XSLT) Version 3</article-title>
          .0.
          <issue>W3C Recommendation 8</issue>
          <year>June 2017</year>
          . [Online]. Available: https://www.w3.org/TR/xslt-30/
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <source>[13] XQuery 3</source>
          .1:
          <string-name>
            <surname>An</surname>
            <given-names>XML</given-names>
          </string-name>
          <string-name>
            <surname>Query</surname>
          </string-name>
          <article-title>Language</article-title>
          .
          <source>W3C Recommendation 21 March</source>
          <year>2017</year>
          . [Online]. Available: https://www.w3.org/TR/xquery-31/
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <source>[14] XQueryX 3.1. W3C Recommendation 21 March</source>
          <year>2017</year>
          . [Online]. Available: https://www.w3.org/TR/xqueryx-31/
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>Process</given-names>
            <surname>Definition Interface - XML Process Definition</surname>
          </string-name>
          <string-name>
            <surname>Language</surname>
          </string-name>
          ,
          <source>Version 2.2. The Workflow Management Coalition Specification 30 August</source>
          <year>2012</year>
          . [Online]. Available: http://www.xpdl.org/standards/xpdl2.2/XPDL%202.2%
          <issue>20</issue>
          (
          <issue>2012</issue>
          -08-30).pdf
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <source>[16] XForms 2.0. W3C Working Draft 7 August</source>
          <year>2012</year>
          . [Online]. Available: https://www.w3.org/TR/xforms20/
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>XRX</surname>
          </string-name>
          <article-title>(web application architecture)</article-title>
          . [Online]. Available: https://en.wikipedia.org/wiki/XRX (web application architecture)
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Yu. Gapanyuk</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>Lakomkin</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Ionkin</surname>
            ,
            <given-names>M. Davtyan.</given-names>
          </string-name>
          <article-title>MVC web framework based on eXist application server and XRX architecture</article-title>
          .
          <source>In: SYRCoDIS 2011. Proceedings of the Seventh Spring Researchers Colloquium on Databases and Information Systems Moscow</source>
          , Russia, June 2-3,
          <year>2011</year>
          . [Online]. Available: http://ceur-ws.org/Vol735/paper4.pdf
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <article-title>Object-relational impedance mismatch</article-title>
          . [Online]. Available: https://en.wikipedia.org/wiki/Object-relational_ impedance_mismatch
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>JSON</given-names>
            <surname>Schema</surname>
          </string-name>
          <article-title>Specification</article-title>
          . [Online]. Available: https://json-schema.org/specification.html
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>The JSON Query Language</surname>
          </string-name>
          [Online]. Available: http://jsoniq.org/
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>A.</given-names>
            <surname>Basu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.W.</given-names>
            <surname>Blanning</surname>
          </string-name>
          .
          <source>Metagraphs and Their Applications</source>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>V.M.</given-names>
            <surname>Chernenkiy</surname>
          </string-name>
          ,
          <string-name>
            <surname>Yu</surname>
            .E. Gapanyuk,
            <given-names>G.I. Revunkov</given-names>
          </string-name>
          , Yu.T. Kaganov,
          <string-name>
            <given-names>Yu.S.</given-names>
            <surname>Fedorenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.V.</given-names>
            <surname>Minakova</surname>
          </string-name>
          .
          <article-title>Using metagraph approach for complex domains description</article-title>
          .
          <source>In: Selected Papers of the XIX International Conference on Data Analytics and Management in Data Intensive Domains (DAMDID/RCDL</source>
          <year>2017</year>
          ). Moscow, Russia, October 9-
          <issue>13</issue>
          ,
          <year>2017</year>
          . [Online]. Available: http://ceur-ws.
          <source>org/</source>
          Vol-2022/paper52.pdf
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>S.</given-names>
            <surname>Mansmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.H.</given-names>
            <surname>Scholl</surname>
          </string-name>
          .
          <article-title>Extending the Multidimensional Data Model to Handle Complex Data</article-title>
          .
          <source>Journal of Computing Science and Engineering</source>
          ,
          <volume>1</volume>
          (
          <issue>2</issue>
          ):
          <fpage>125</fpage>
          -
          <lpage>160</lpage>
          ,
          <year>December 2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>A.</given-names>
            <surname>Ghrab</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Romero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Skhiri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Vaisman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Zimanyi</surname>
          </string-name>
          .
          <article-title>A framework for building OLAP cubes on graphs</article-title>
          . In: T.
          <string-name>
            <surname>Morzy</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Patrick</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          Ladjel (eds.)
          <source>Advances in Databases and Information Systems. Proceedings of the 19th East European Conference, ADBIS</source>
          <year>2015</year>
          , Poitiers, France, September 8-
          <issue>11</issue>
          ,
          <year>2015</year>
          . Lecture notes in computer science, vol.
          <volume>9282</volume>
          , pp.
          <fpage>92</fpage>
          -
          <lpage>105</lpage>
          . Springer (
          <year>2015</year>
          ). doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -23135-
          <issue>8</issue>
          _
          <fpage>7</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>P.</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Xin</surname>
          </string-name>
          , J. Han. Graph Cube:
          <article-title>On Warehousing and OLAP Multidimensional Networks</article-title>
          .
          <source>In: Proceedings of the ACM SIGMOD International Conference on Management of Data, SIGMOD</source>
          <year>2011</year>
          , Athens, Greece, June 12-16, pp.
          <fpage>853</fpage>
          -
          <lpage>864</lpage>
          . ACM New York (
          <year>2011</year>
          ). doi:
          <volume>10</volume>
          .1145/1989323.1989413
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>