<!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>Datalog-based Reasoning for Banking Supervision: is This All a Fantasy?⋆</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Luigi Bellomarini</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marta Bernardini</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Livia Blasi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Costanza Catalano</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Rosario Laurendi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andrea Gentili</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Davide Magnanimi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco Mastrogirolamo</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Emanuel Sallinger</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Banca d'Italia</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Politecnico di Milano</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>TU Wien</institution>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Banking supervision is a pillar of economic stability, and rule-based AI systems promise to enhance its efectiveness through scalability and explainability. In this paper, we present a concrete case study from the Central Bank of Italy, where we developed and deployed KG4VIG, a rule-based framework built on the Datalog± family of languages and Knowledge Graphs. Focusing on the task of computing shareholding relationships in a financial network, we show how our declarative reasoning approach overcomes the limitations of matrix-based methods and provides an explainable and scalable solution.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Knowledge graphs</kwd>
        <kwd>reasoning</kwd>
        <kwd>Datalog</kwd>
        <kwd>Integrated Ownership</kwd>
        <kwd>banking supervision</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction and Contribution</title>
      <p>Banking supervision is one of the most critical aspects for ensuring the continued functioning of our
economic systems and society as a whole—as demonstrated by the devastating efects of some of the
largest bank failures in history. The promises of information technology in general, and symbolic,
rule-based AI systems in particular, to address these challenges are high. The main question we are
going to answer in this paper is “is this all a fantasy?” and which points translate into reality, shown
through a concrete approach in real-world use in the central bank space.</p>
      <p>
        In an influential paper, Ehrlinger and Wöß [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] review many definitions of Knowledge Graphs (KG) and
propose a formulation that distills a promising approach to put symbolic rule-based AI into action: “[a
KG] acquires and integrates information into an ontology and applies a reasoner to derive new knowledge”.
Besides data integration and wrangling, ontologies are an essential ingredient: they shape the business
meaning of the KG and enable reasoning, i.e., reading, analyzing and inferring the business concepts.
      </p>
      <p>
        Still, how should we model ontologies? A prominent approach comes from the logic, database, and
Knowledge Representation and Reasoning (KRR) communities, which have devoted increasing efort to
express ontologies as rules in the Datalog± family [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] of languages, or “fragments”. Datalog± extends
the applicability of the Datalog language of databases [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] to reasoning tasks by supporting the features
needed in this space, such as a full interplay between existential quantification and recursion. In the
academic discourse, we see—and contribute to the study of—a proliferation of fragments, which aim at
striking a balance between expressive power and computational complexity of reasoning, with diferent
strategies incorporated into the execution engines. In this line of research, within a collaboration among
the Central Bank of Italy, the University of Oxford, and TU Wien, namely, the KG Labs, we developed
      </p>
      <p>
        Vadalog [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], a Datalog-based reasoner based on Warded Datalog± [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], and gradually extended its
ecosystem with features of practical utility such as algebraic operations and monotonic aggregations [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ],
conditions and equality-generating dependencies [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], and parallel scalable execution modes [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>From the academic point of view, here we wonder: is this Datalog- rule-based ecosystem, stemming
from decades of database and AI research, really actionable for real-world problems?
Contribution. In this paper, we demonstrate through an industrial case in the financial domain that
rule-based reasoning with Vadalog and KGs can efectively address real-world challenges, ofering
scalable and explainable solutions. We present a perspective on Kg4Vig, a framework we developed
and now in production at the Central Bank of Italy to support banking supervision.</p>
      <p>Kg4Vig is a banking supervision platform with numerous features. In this paper, we focus on one
specific task: providing analysts with the Integrated Ownership (IO) of a bank within a financial KG,
where nodes represent financial entities (be they banks, companies, intermediaries, or people), and
edges are shareholding relationships between them. The IO of an entity  over  is defined as the total
ownership—both direct and indirect—that  holds on , and serves as a measure of the influence of
an entity over another, by quantifying the cumulative ownership involvement between them. While a
matrix-based formulation of this problem exists, it sufers from computational limitations. We propose
a declarative rule-based solution, formalized in Vadalog and implemented within Kg4Vig. We argue
for the scalability and explainability of our technique for IO, and underscore the key role of tailor-made
UI/UX components for successful rule-based applications.</p>
      <p>Overview. In Section 2 we present the reasoning setting. In Section 3, we focus on the implementation
and UI aspects. Section 4 concludes the paper.</p>
    </sec>
    <sec id="sec-2">
      <title>2. The Industrial Case: Rule-based Integrated Ownership</title>
      <p>
        Let  = (, , ) be a graph that models the property relationships between financial entities—or
companies hereinafter—where  is the set of nodes representing companies,  ⊂  ×  is the set of
directed edges for ownership relationships, and  :  → [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ] is a weight function representing the
share magnitude; an edge  = (, ) of weight () indicates that company  owns ()% of shares of
. An example of such property graph is in Figure 1 (only black edges and weights). The definition of
IO relies on the concept of Baldone walk [
        <xref ref-type="bibr" rid="ref10 ref9">9, 10</xref>
        ]; a Baldone walk from A node  to A node  is a walk
in which the starting node  may only appear as the first or (if  = ) the last node in the walk. The
weight of a Baldone walk is the product of the weights of its edges. In Figure 1, the walk {, , , , , }
is a Baldone walk from  to  of weight 0.3 × 1 × 0.7 × 1 × 0.7 = 0.147. Instead, the walk {, , , }
is not a Baldone walk. As shown in the example, Baldone walks may contain cycles. The integrated
ownership ℐ between  and  is defined as the sum of the weights of all the Baldone walks from  to
. By setting  the adjacency matrix of , ℐ = {ℐ},∈ and  the identity matrix, Glattfelder [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]
shows that
ℐ = (diag(( −  )− 1))− 1( −  )− 1 .
(1)
Unfortunately, applying Eq.(1) involves computing the inverse of the matrix ( −  ), where the best
state-of-the-art algorithm doing so has computational complexity of (2.372) [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], a computationally
infeasible task in large real-world graphs like ours, having ∼ 182M nodes.
      </p>
      <p>In Kg4Vig, we solve the IO problem with a graph factorization approach: first, we compute the IO
between all pairs of nodes within the same strongly connected component (SCC) with Eq. (1). Then,
with the following Vadalog rules, we merge the SCC-local IOs and compute the IO between nodes in
diferent SCCs.</p>
      <p>Edge(, , _, _, _, _  ),  = ,</p>
      <p>→ Own(, , _, _, _, _  )</p>
      <p>Edge(, , _, _, _, _  ), _ ̸= _,
 = (_ /(1.0 − _  )) → Own(, , _, _, , _  )
Edge(, , _, _, _, _), Edge(, , _, _, _, _  ),
_ = _, _ ̸= _, _ ̸= _,
 = (_ * _ /(1.0 − _  )) → Own(, , _, _, , _  )
Own(, , _, _, _, _), Edge(, , _, _, _, _  ),
_ ̸= _, _ ̸= _, _ = _,
 = (_ * _ ) → OwnD(, , _, _, , _  )
OwnD(, , _, _, _, _), Edge(, , _, _, _, _  ),
_ ̸= _ ̸= _
 = (_ * _ /(1.0 − _  )) → Own(, , _, _, , _  )
Own(, , _, _, _, _), Edge(, , _, _, _, _  ),
_ ̸= _ ̸= _,
 = (_ * _ /(1.0 − _  )) → Own(, , _, _, , _  )
(2)
(3)
(4)
(5)
(6)
(7)
The Edge predicate captures the identities of  and , the SCC they belong to (_ and _ ), the
weight _ , and the (SCC-locally computed) integrated ownership of  over itself _  = ℐ. If
 and  belong to the same SCC, then _ is set equal to ℐ, as by Eq. (1); if they belong to diferent
SCCs, then _  = (, ), i.e., the ownership shares of  in , if there are any. This is equivalent
to adding edges between any pair of nodes (, ) belonging to the same SCC with weight ℐ (see
Figure 1, black and purple edges and weights). The contributions are later summed to get the integrated
ownerships between every two companies.</p>
      <p>When  and  belong to the same SCC (Rule 2 - base case) the resulting ’s  simply equals
_ itself. When  and  belong to diferent SCCs and are connected by an edge ( Rule 3 - base
case), the resulting  of Own is computed by the sum of all _ normalized by (1 − _  ). This
normalization factor takes into account the sum of the weights of all walks from  to  itself in the
graph, which in matrix terms is equal to ∑︀+=∞0  = ( −  )−1; these walks are the ones that,
concatenated with the edge (, ), form the Baldone walks from  to . Indeed, by massaging Eq.(1), it
can be shown that 1/(1 − _  ) = 1/(1 − ℐ ) = ( −  )−1. In Figure 1 this is the case for  = 
and  = , which produces the contribution  = 0.1/(1 − 0.4) = 0.1¯6 to the computation of ℐ.</p>
      <p>The last four rules are recursive cases of the first two. Rule 4 states that if  and  belong to the
same SCC (and hence there is an edge between the two of weight _ = ℐ) and there is an edge
from  to  where  belongs to a diferent SCC then the term  for Own between  and  is the sum of
_ * _ normalized by (1 − _  ). In Figure 1 this is the case for  = ,  =  and  = ,
producing the contribution  = (0.7 × 0.5)/(1 − 0.4) = 0.5¯8 to the computation of ℐ. Summing up
the two contributions coming from Rule 3 and Rule 4 (as together they consider all the Baldone walks
from  to  in the graph), we get that ℐ = 0.1¯6 + 0.58¯ = 0.75.</p>
      <p>In Rule 5, a new predicate appears, OwnD, which is in turn used in Rule 6. Rule 5 tackles the case
where an ownership path is computed between  and  belonging to diferent SCCs, and then  is
connected to  in the same SCC; the term  for OwnD between  and  is the sum of _ * _ ;
this time it is not normalized, as by definition _ is already equal to ℐ. In Figure 1 this is the case
for  = ,  =  and  = , producing ℐ = ℐ × 1 = 1 × 1 = 1. Since in our setting every pair of
nodes is connected in a SCC, with Rule 5 we already cover all the nodes  belonging to the same SCC
of .</p>
      <p>Therefore, the next step of the recursion must necessarily leave such SCC as otherwise it would
re-visit nodes; this is the role of Rule 6. In it, all three nodes , ,  must belong to diferent SCCs,
with OwnD between  and  computed by Rule 5 and an edge from  to ; then the term  for Own
between  and  is the sum of _ * _ normalized by (1 − _  ). In Figure 1, this is the case
for  = ,  =  and  = , which produces  = ℐ × 0.1/(1 − 0.4) = 1 × 0.1/0.6 = 0.16¯ to the
computation of ℐ.</p>
      <p>Finally, Rule 7 is as Rule 6 but with the predicate Own in input, covering the last case where all
the three nodes , ,  belong to diferent SCCs. In Figure 1 this is the case for  = ,  =  and
 = , producing the contribution  = ℐ × 0.5/(1 − 0.4) = 1 × 0.5/0.6 = 0.8¯3 to the computation
of ℐ, that together with what computed by Rule 6 is equal to ℐ = 0.16¯ + 0.83¯ = 1. Notice that
ℐ = 0.3/(1 − 0.7) = 1 is computed by Rule 3 in the base case.</p>
      <p>Correctness and scalability. Our observation is that the IO between two nodes that belong to the
same SCC  involves only walks in , i.e., the application of Eq. (1) can be restricted to the adjacency
matrix  of . For example, in Figure 1, we have three SCCs: {}, {, } and {, ,  }; the application
of Eq. (1) to  = {, } produces ℐ = 0.7, ℐ = 1, ℐ = 0.7 and ℐ = 0.7 using  = [0, 1; 0.7, 0].</p>
      <p>Our KG comprises ∼ 64k SCCs, whose largest component has ∼ 1k nodes, while all the others
are under 50 nodes, making Eq.(1) eficiently computable in each SCC. Moreover, such computations
are parallelizable among the SCCs as the calculations are independent of each other. The whole IO
computation can be parallelized among weakly connected components of the graph, as they do not
share any Baldone walk.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Implementation and Visualization</title>
      <p>While this paper only focuses on a specific application perspective, we remark that the Kg4Vig system
is fully engineered and currently adopted in production in the Central Bank of Italy.
Implementation. An IO-centered view on its architecture is shown in Figure 2. A data wrangling
component builds the KG from the enterprise data stores and materializes it into a Neo4J cluster.</p>
      <p>In particular, they perform specific step in the data transformation pipeline that goes from improving
the data quality and consistency (data cleaning) and harmonizing heterogenous data schemas into
a unified global one ( schema integration), up to the construction of a unified graph view on domain
entities and their relationships by integrating data from diferent data sources ( entity resolution and
data fusion). The database is deployed across three geographically distributed nodes to ensure load
balancing, end-users’ query performances, and fault tolerance.</p>
      <p>Vadalog is used for data wrangling as well as the execution of business rules, like those of IO
(Section 2). The rules are compiled into an abstract higher-level algebraic representation, namely,
an execution plan, which is finally translated into a set of Spark Jobs. An underlying Apache Spark
Cluster (16 cores, 32 threads, 256 GB of RAM each) executes these jobs, and the results are stored back
into the KG. A dedicated web app provides access to the users. The data wrangling phase, as well as
performance-critical tasks like IO, require the native use of PySpark and dedicated graph libraries such
as GraphFrames, which provide primitives for distributed data processing within a Spark ecosystem.</p>
      <p>To compute IO, all the SCCs are preliminarily identified using built-in methods from GraphFrames and
then, they are transformed into a matrix representation, where Eq.(1) is solved in Numpy. The illustrated
Vadalog program is then applied on the results from this phase. The reasoning engine retrieves and
parses the ontology (i.e., set of rules) from its internal repository, applies a series of logic optimizations,
and construct an access plan that maps each rule to a corresponding data transformation operation.
This access plan is eventually compiled into a query plan tailored for the target execution environment.
Within our framework, the reference execution environment is represented by the Apache Spark cluster;
hence, the compiled query plan leverages Spark primitives to distribute the data processing workload
across it. Finally, the computed IO from both stages are persisted back into the Neo4J graph database,
thereby augmenting the KG with new inferred knowledge. These results are accessible to end-users
through a tailored web application that facilitates the user interaction with the KG.</p>
      <p>
        Notably, all the reasoning and Python computations are executed in parallel across SCCs, maximizing
the use of cluster resources. The overall computational time for the IO is ∼ 3 hours; notice that the use
of Eq.(1) for the whole graph would make the machine to run out of memory space before termination.
Visualization. As rule-based developers and adopters, a tempting perspective lies in ofering
generalpurpose solutions, with generic graphical metaphors for nodes and edges cooperating with rule-based
reasoning widgets [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Yet, we learnt that a production-ready rule-based system calls for a tailor-made
user interface, as domain experts wish for applications that can speak their business language and cater
specifically to their business scenarios, while ofering scalability and explainability.
      </p>
      <p>Scalable logic fragments like Warded Datalog± , supported by eficient execution engines, ofer
an extremely promising avenue. Thanks to the combination of KGs and rule-based reasoning, high
interpretability of results can also be achieved. UIs can be hinged on the visual metaphor of extensional
vs intensional components: the former shows the business data in the form of a property graph, carefully
rendered with graph visualization libraries, the latter highlights the knowledge derived from the
reasoning process. For example (Figure 2), the derived edges denoting IO and other business-relevant
amounts, are shown in dashed line, while the extensional edges for the same measures (i.e., in the figure,
the control edges, denoted in orange in both cases) are shown in solid line. The informative use of line
styles, added to an accessible color palette to denote the diferent measures, as well as the careful use of
shapes and symbols, facilitate the readability of the information shown by the application.</p>
      <p>User interaction is also crucial: our approach consists in an incremental expansion of the currently
visualized graph, which follows and mimics the rule application. The involving feeling of driving
the analysis comes as a consequence. In the IO case, explainability is supported by interactive node
exploration. The analyst may request a visualization of entities that directly or indirectly own the
subject, with each step of the calculation made explicit as computed by Vadalog, trace ownership chains,
and find the ultimately controlling bank. Side-tabs provide legends on colors and symbols, as well as
information on the datasets of provenance and computed IO, reminding the user the computational
principles underneath.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusion</title>
      <p>
        We presented a real-world application for the Central Bank of Italy, demonstrating the practical use of
rule-based technology built on a state-of-the-art Datalog-based language and system. The successful
deployment of such tools proves that their use is not a fantasy. While the gap between theory and
practice, especially in the realm of logic programming, often seems wide, we showed that careful
design choices and concrete experience in industrial contexts can bridge it efectively. The step-by-step
inference mechanism of Datalog is already inherently explainable, but tight integrations with LLMs are
starting to show the possibility to develop GraphRAG [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] approaches to build textual explanations of
the reasoning conclusions [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], a goal for our future work.
      </p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgments</title>
      <p>This work was partially supported by the Vienna Science and Technology Fund (WWTF)
[10.47379/VRG18013, 10.47379/NXT22018, 10.47379/ICT2201] and the Austrian Science Fund
[10.55776/COE12].</p>
    </sec>
    <sec id="sec-6">
      <title>Declaration on Generative AI</title>
      <p>The authors have not employed any Generative AI tools.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>L.</given-names>
            <surname>Ehrlinger</surname>
          </string-name>
          , W. Wöß,
          <article-title>Towards a definition of knowledge graphs</article-title>
          ,
          <source>in: SEMANTiCS</source>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A.</given-names>
            <surname>Calì</surname>
          </string-name>
          , G. Gottlob,
          <string-name>
            <given-names>T.</given-names>
            <surname>Lukasiewicz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Marnette</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pieris</surname>
          </string-name>
          , Datalog± :
          <article-title>A family of logical knowledge representation and query languages for new applications</article-title>
          , in: LICS,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>S.</given-names>
            <surname>Abiteboul</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Hull</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Vianu</surname>
          </string-name>
          , Foundations of databases, volume
          <volume>8</volume>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>L.</given-names>
            <surname>Bellomarini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Benedetto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Gottlob</surname>
          </string-name>
          , E. Sallinger,
          <article-title>Vadalog: A modern architecture for automated reasoning with large knowledge graphs</article-title>
          ,
          <source>Inf. Syst</source>
          .
          <volume>105</volume>
          (
          <year>2022</year>
          )
          <fpage>101528</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>G.</given-names>
            <surname>Gottlob</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pieris</surname>
          </string-name>
          ,
          <article-title>Beyond SPARQL under OWL 2 QL entailment regime: Rules to the rescue</article-title>
          , in: IJCAI, AAAI Press,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A.</given-names>
            <surname>Shkapsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Zaniolo</surname>
          </string-name>
          ,
          <article-title>Optimizing recursive queries with monotonic aggregates in deals</article-title>
          , in: ICDE, IEEE Computer Society,
          <year>2015</year>
          , pp.
          <fpage>867</fpage>
          -
          <lpage>878</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>L.</given-names>
            <surname>Bellomarini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Benedetto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Brandetti</surname>
          </string-name>
          , E. Sallinger,
          <article-title>Exploiting the power of equality-generating dependencies in ontological reasoning</article-title>
          ,
          <source>Proc. VLDB Endow</source>
          .
          <volume>15</volume>
          (
          <year>2022</year>
          )
          <fpage>3976</fpage>
          -
          <lpage>3988</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>L.</given-names>
            <surname>Bellomarini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Benedetto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Brandetti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Sallinger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Vlad</surname>
          </string-name>
          ,
          <article-title>The vadalog parallel system: Distributed reasoning with Datalog+/-</article-title>
          ,
          <source>Proc. VLDB Endow</source>
          .
          <volume>17</volume>
          (
          <year>2024</year>
          )
          <fpage>4614</fpage>
          -
          <lpage>4626</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>S.</given-names>
            <surname>Baldone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Brioschi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Paleari</surname>
          </string-name>
          ,
          <article-title>Ownership measures among firms connected by crossshareholdings and a further analogy with input-output theory</article-title>
          , in: JAFEE,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>D.</given-names>
            <surname>Magnanimi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Iezzi</surname>
          </string-name>
          ,
          <article-title>Ownership graphs and reasoning in corporate economics</article-title>
          , in: EDBT/ICDT Workshops,
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>J.</given-names>
            <surname>Glattfelder</surname>
          </string-name>
          ,
          <article-title>Owership networks and corporate contol: mapping economic power in a globalized world</article-title>
          ,
          <source>Phd thesis</source>
          , ETH Zurich,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>J.</given-names>
            <surname>Alman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Duan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. V.</given-names>
            <surname>Williams</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <article-title>More asymmetry yields faster matrix multiplication</article-title>
          ,
          <source>in: SODA</source>
          ,
          <year>2025</year>
          , pp.
          <fpage>2005</fpage>
          -
          <lpage>2039</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>L.</given-names>
            <surname>Bellomarini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Benedetti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gentili</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Magnanimi</surname>
          </string-name>
          , E. Sallinger,
          <article-title>KG-roar: Interactive Datalogbased reasoning on virtual knowledge graphs</article-title>
          ,
          <source>VLDB</source>
          <volume>16</volume>
          (
          <year>2023</year>
          )
          <fpage>4014</fpage>
          -
          <lpage>4017</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Hu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Lei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Pan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Ling</surname>
          </string-name>
          ,
          <string-name>
            <surname>L. Zhao,</surname>
          </string-name>
          <article-title>GRAG: graph retrieval-augmented generation, in: NAACL (Findings)</article-title>
          ,
          <source>ACL</source>
          ,
          <year>2025</year>
          , pp.
          <fpage>4145</fpage>
          -
          <lpage>4157</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>A.</given-names>
            <surname>Colombo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Baldazzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Bellomarini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Sallinger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Ceri</surname>
          </string-name>
          ,
          <article-title>Template-based explainable inference over high-stakes financial knowledge graphs</article-title>
          ,
          <source>in: EDBT</source>
          ,
          <year>2025</year>
          , pp.
          <fpage>503</fpage>
          -
          <lpage>515</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>