<!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>
      <journal-title-group>
        <journal-title>DL</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Inferring SHACL Constraints for Results of Composable Graph Queries (Extended Abstract)</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Philipp Seifer</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daniel Hernández</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ralf Lämmel</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stefen Staab</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Koblenz</institution>
          ,
          <addr-line>Koblenz</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Southampton</institution>
          ,
          <addr-line>Southampton</addr-line>
          ,
          <country country="UK">UK</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Stuttgart</institution>
          ,
          <addr-line>Stuttgart</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2024</year>
      </pub-date>
      <volume>37</volume>
      <fpage>18</fpage>
      <lpage>21</lpage>
      <abstract>
        <p>summarizes our previous work.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Semantic Queries</kwd>
        <kwd>Data Pipelines</kwd>
        <kwd>SHACL</kwd>
        <kwd>SPARQL CONSTRUCT</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Some graph query languages are composable (i. e., they construct new graphs as results) and thereby
allow for the fruitful composition of queries into data processing pipelines. Examples for such languages
are SPARQL (in particular, its CONSTRUCT [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] queries) for RDF graphs and more recently G-CORE [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]
for property graphs.
      </p>
      <p>
        When graphs existing in the context of such composable query languages are validated using
constraints specified in a shape description language such as SHACL [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] or ProGS [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], an interesting
problem arises: Even though the input to a query is well-defined with SHACL or ProGS shapes, it
becomes unclear which shapes apply after executing the query. Constraints that applied to the input
graph may be invalidated by the query, e. g., because some required edges were removed, and new
shapes may arise from the queries’ construction template as well. Indeed, both downstream applications
(e. g., programming languages [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]) and software developers working with graph data must understand
what a query may output.
      </p>
      <p>
        Problem Description In our recent paper [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], we define the problem of computing a set of SHACL
shapes that characterises the possible output graphs of a SPARQL CONSTRUCT query. We represent
queries as rules  ←  where the template  and pattern  are sets of assertions with variables.
Bindings for variables in  are used to construct a new graph according to  . We express SHACL
shapes as ℒℋℐ axioms (cf. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]).
      </p>
      <p>Formally, we define the problem OutputShapes with signature (in, ) ↦→ out-max, where  is a
query and in and out-max are two sets of shapes, called the input and output shapes. The set out-max
 
is the maximum set of shapes such that for every graph in that satisfies the input shapes – we write
valid(in, in) – the graph resulting from evaluating  on in, denoted JKin , satisfies the output
shapes, i. e., valid(JKin , out-max).</p>
      <p>Running Example Consider a problem OutputShapes with a query 1 and a set of shapes 1 as
input. Let 1 = {y:, z:, (y, z):} ← { (w, y):, y:, (x, z):, z:}. Given a graph in, query 1 finds
bindings for variable y that are , and bindings for variable z that are , both with incoming edges
with role name  in in. Then, the query constructs the output graph, out = J1Kin , consisting only
of these bindings for z and y, with inverted concept annotations and -edges between them. Note, that
we color-code the namespace of the input versus output graphs, since the extensions of the involved
concept and role names are not the same.</p>
      <p>Let 1 = {1, 2, 3} where 1 =  ⊑ ∃., 2 = ∃.⊤ ⊑  and 3 =  ⊑ . The graphs 1 (a)
and 2 (b) in Figure 1 are valid with respect to 1. Graphs J1K1 (c) and J1K2 (d) in Figure 1 are the
respective output graphs for 1 over 1 and 2, respectively.</p>
      <p>Some expected output shapes are  ⊑ ∃. and  ⊑ . The first shape follows directly from the
query template. Each node labelled  has an outgoing edge to a node labelled . The second shape
 ⊑  is valid because  ⊑  holds on all input graphs: As a result, we can infer that all bindings for
y are also bindings for z, such that  ⊑  follows from the query template.</p>
      <p>
        Proposed Algorithm In this paper, we summarize the algorithm we presented in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] (an extended
version with proofs is available in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]), which constructs a sound (but not complete) approximation
out ⊆  out-max.
      </p>
      <p>To this end, we split the problem into two subproblems: First, the problem of deciding whether
any given shape must be included in the output, and secondly the problem of generating a set of
candidate shapes. The second problem turns out to be rather trivial, as the set of candidates is finite:
We consider a subset of SHACL that is (syntactically) finite for a finite vocabulary, and show that all
relevant candidates are indeed from the finite vocabulary of the query. In our extended version, we
show that this also holds for a much larger subset of SHACL.</p>
      <p>Thus, we focus on the first problem in Section 2 and Section 3.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Axiomatizations Over Query Executions</title>
      <p>As hinted earlier, diferent occurrences of the same concept name do not have the same extensions: A
query matches on input graphs, determines valuations (as subsets of the input), and constructs new
graphs. We distinguish between the inputs, intermediate bindings, as well as the constructed output by
rewriting input symbols ,  into fresh symbols ˙, ˙ after the first step, and into ¨, ¨ after the second
step. These rewritten symbols allow us to encode assertions that are valid for only specific states of
query execution. Variable bindings, on the other hand, hold throughout: We codify a variable binding
 () =  as a concept assertion :, where  is a fresh concept name.</p>
      <p>In order to axiomatize how (all possible) input graphs are connected to (all possible) output graphs,
we define a (virtual) extended graph ext, that unifies the diferent steps, and therefore allows us to
reason about them: ext := in ∪ ˙med ∪ V ∪ ¨out, where med is ⋃︀ ( )⊆ in  ( ) (i.e., the union
of all graphs  ( ) resulting from replacing every variable  in  with  ()), out is JKin , and V is
the graph containing an assertion : if and only if there exists a valuation  such that  ( ) ⊆ in
, ˙
¨
and  () = . Figure 2 shows the extended graph and its components for the running example query
1, and the graph 1 in Figure 1 .</p>
      <p>Proposition 1. Given a graph in and a query , let the graphs ext, med, and out be the extended
graph and its components. For every axiom  that does not include names with dots (e. g., names ˙, ¨, ˙,
or ¨), the following equivalences hold: valid(in, { }) if and only if valid(ext, { }), valid(med, { })
if and only if valid(ext, { ˙ }), and valid(out, { }) if and only if valid(ext, {¨}).</p>
      <p>
        Given the notion of extended graphs, we can prove Proposition 1 (see [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] for the proof), which is
essential to our method. Utilizing this proposition, we can show as a corollary that given a set of axioms
Σ such that valid(ext, Σ) for all extended graphs of a query , if Σ |= ¨ then valid(out, {}) for
every output graph out of q. Thus, what remains is to show how to construct such a set of axioms Σ.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Axioms Valid on Extended Graphs</title>
      <p>Let us now consider what axioms can be inferred, by inspecting the running example. First, we can
notice that the input shapes in are valid on all input graphs, by definition. Thus, we include them in
our knowledge base Σ.</p>
      <p>Some axioms of the validation knowledge base (unique name, closed world and domain closure
assumptions) can be approximated by investigating the query . The unique name assumption is limited
to individual names that occur in the query; in the running example there are none. Since a query does
not determine the set of individual names, no axioms related to the domain closure assumption can be
inferred. On the other hand, a query does restrict concept names that appear in the query with respect
to the closed world assumption (CWA).</p>
      <p>For the running example, we can thus infer {˙ ≡  ⊓ , ˙ ≡  ⊓ }, because e. g., concept ˙ in
the extended graph is defined by filtering  with variable , based on the query pattern y: in 1.
We can also infer axioms { ≡ ∃ .,  ≡ ∃ .,  ≡ ∃ . ⊓ ,  ≡ ∃ . ⊓ } since variable
concepts are defined by constraints to the variable in the query pattern. For example,  is constrained
by patterns (w, y): and y: in 1, and thus bound by ∃. ⊓. This is a crucial step, since concept and
role names in the extended graph are defined in terms of these variable concepts: {¨ ≡ , ¨ ≡ }
since e. g., concept ¨ in the extended graph is defined by , as it only occurs in the single construct
pattern z:. With similar reasoning, {∃˙. ≡ , ∃˙. ≡ , ∃˙.⊤ ≡ ( ⊓ ∃˙.) ⊔ ( ⊓ ∃˙.)}
as well as {∃¨. ≡ , ∃¨.⊤ ≡  ⊓ ∃¨.} (and their inverse counterparts) can be constructed with
respect to role names.</p>
      <p>Query 1 has two components 1 = {(w, y):, y:} and 2 = {(x, z):, z:} not sharing variables.
The CWA encoding does not entail  ⊑ , even though this axiom is both valid in all extended graphs,
and required for inferring, e. g., the result shape  ⊑ . In another step of the algorithm, we infer
these additional subsumptions by constructing variable mappings ℎ between query components, that
are potentially extended with input shapes. In this case, we know based on input shape 1 that  ⊑ .
We can utilize this knowledge to extend component (w, y):, y:, adding the pattern y: which does
not alter the queries results. Then, we can find the mapping ℎ(x) = w, ℎ(z) = y such that ℎ(2) ⊆ 1,
which implies  ⊑  and  ⊑ .</p>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusion</title>
      <p>We presented an algorithm for inferring a set of shapes that validate the possible output graphs of a
CONSTRUCT query, where input graphs of this query can be constrained by a set of shapes as well. This
enables the inference of shapes over result graphs of data processing pipelines (i. e., compositions of
CONSTRUCT queries), which can be used both for validation purposes when working with these result
graphs, and informatively, aiding developers directly.</p>
      <p>
        Our approach difers from related work (e.g., [
        <xref ref-type="bibr" rid="ref10 ref11 ref9">9, 10, 11, 12, 13, 14</xref>
        ]) in that we infer shapes from
statically known information (query and input shapes) and not from instance data. Thus, it is similar
to approaches for inferring constraints over views on relational databases (e.g., [15, 16, 17, 18]), but
utilizing a modelling approach that is feasible and supports crucial constraints for typing knowledge
graphs. Some approaches construct SHACL from static information [19, 20, 21], such as RML rules or
direct mappings, though they are limited in either a less expressive mapping language, or lack support
for constraints on the input data. An implementation [22] for the algorithms presented in our work is
available on GitHub1.
      </p>
      <p>Acknowledgments This work was partially funded by Deutsche Forschungsgemeinschaft (DFG) under
SPP 1921 – 318363223, and the DFG Germany’s Excellence Strategy – EXC 2120/1 – 390831618.
[12] N. Mihindukulasooriya, M. R. A. Rashid, G. Rizzo, R. García-Castro, Ó. Corcho, M. Torchiano,
RDF shape induction using knowledge base profiling, in: Prov. of the Symposium on Applied
Computing, ACM, 2018, pp. 1952–1959. doi:10.1145/3167132.3167341.
[13] P. G. Omran, K. Taylor, S. J. R. Méndez, A. Haller, Learning SHACL shapes from knowledge graphs,</p>
      <p>Semantic Web 14 (2023) 101–121. doi:10.3233/SW-223063.
[14] B. Groz, A. Lemay, S. Staworko, P. Wieczorek, Inference of shape graphs for graph databases,
in: ICDT, volume 220 of LIPIcs, Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2022, pp.
14:1–14:20. doi:10.4230/LIPICS.ICDT.2022.14.
[15] A. C. Klug, R. Price, Determining view dependencies using tableaux, ACM Trans. Database Syst. 7
(1982) 361–380. doi:10.1145/319732.319738.
[16] W. Fan, S. Ma, Y. Hu, J. Liu, Y. Wu, Propagating functional dependencies with conditions,
Proceedings VLDB Endow. 1 (2008) 391–407. doi:10.14778/1453856.1453901.
[17] M. Stonebraker, Implementation of integrity constraints and views by query modification, in:</p>
      <p>Proceedings of SIGMOD, ACM, 1975, pp. 65–78. doi:10.1145/500080.500091.
[18] B. E. Jacobs, A. R. Aronson, A. C. Klug, On interpretations of relational languages and solutions
to the implied constraint problem, ACM Trans. Database Syst. 7 (1982) 291–315. doi:10.1145/
319702.319730.
[19] R. B. Thapa, M. Giese, Mapping relational database constraints to SHACL, in: Proceedings of ISWC,
volume 13489 of LNCS, Springer, 2022, pp. 214–230. doi:10.1007/978-3-031-19433-7_13.
[20] R. B. Thapa, M. Giese, A source-to-target constraint rewriting for direct mapping, in: Proceedings of</p>
      <p>ISWC, volume 12922 of LNCS, Springer, 2021, pp. 21–38. doi:10.1007/978-3-030-88361-4_2.
[21] T. Delva, B. D. Smedt, S. M. Oo, D. V. Assche, S. Lieber, A. Dimou, RML2SHACL: RDF generation
taking shape, in: Proceedings of Knowledge Capture Conference, ACM, 2021, pp. 153–160.
doi:10.1145/3460210.3493562.
[22] P. Seifer, D. Hernández, R. Lämmel, S. Staab, Code for from shapes to shapes, 2024. doi:10.18419/
darus-3977.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>S.</given-names>
            <surname>Harris</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Seaborne</surname>
          </string-name>
          ,
          <string-name>
            <surname>E.</surname>
          </string-name>
          <article-title>Prud'hommeaux, SPARQL 1.1 query language</article-title>
          ,
          <year>2013</year>
          . URL: https://www. w3.org/TR/sparql11-query/.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>R.</given-names>
            <surname>Angles</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Arenas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Barceló</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. A.</given-names>
            <surname>Boncz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. H. L.</given-names>
            <surname>Fletcher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Gutierrez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Lindaaker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Paradies</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Plantikow</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Sequeda</surname>
          </string-name>
          ,
          <string-name>
            <surname>O. van Rest</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Voigt</surname>
          </string-name>
          ,
          <string-name>
            <surname>G-CORE</surname>
          </string-name>
          :
          <article-title>A core for future graph query languages</article-title>
          ,
          <source>in: Proceedings of SIGMOD, ACM</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>1421</fpage>
          -
          <lpage>1432</lpage>
          . doi:
          <volume>10</volume>
          .1145/ 3183713.3190654.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>H.</given-names>
            <surname>Knublauch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kontokostas</surname>
          </string-name>
          ,
          <source>Shapes Constraint Language (SHACL)</source>
          ,
          <year>2017</year>
          . URL: https://www.w3. org/TR/shacl/.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>P.</given-names>
            <surname>Seifer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Lämmel</surname>
          </string-name>
          , S. Staab,
          <article-title>ProGS: Property graph shapes language</article-title>
          ,
          <source>in: Proceedings of ISWC</source>
          , volume
          <volume>12922</volume>
          <source>of LNCS</source>
          , Springer,
          <year>2021</year>
          , pp.
          <fpage>392</fpage>
          -
          <lpage>409</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>030</fpage>
          -88361-4_
          <fpage>23</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Leinberger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Seifer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Schon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Lämmel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Staab</surname>
          </string-name>
          ,
          <article-title>Type checking program code using SHACL</article-title>
          ,
          <source>in: Proceedings of ISWC</source>
          , volume
          <volume>11778</volume>
          <source>of LNCS</source>
          , Springer,
          <year>2019</year>
          , pp.
          <fpage>399</fpage>
          -
          <lpage>417</lpage>
          . doi:
          <volume>10</volume>
          .1007/ 978-3-
          <fpage>030</fpage>
          -30793-6_
          <fpage>23</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>P.</given-names>
            <surname>Seifer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Hernández</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Lämmel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Staab</surname>
          </string-name>
          ,
          <article-title>From shapes to shapes: Inferring SHACL shapes for results of SPARQL CONSTRUCT queries</article-title>
          ,
          <source>in: Proceedings of the ACM Web Conference</source>
          <year>2024</year>
          ,
          <article-title>WWW 2024</article-title>
          , ACM,
          <year>2024</year>
          , pp.
          <fpage>2064</fpage>
          -
          <lpage>2074</lpage>
          . doi:
          <volume>10</volume>
          .1145/3589334.3645550.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>B.</given-names>
            <surname>Bogaerts</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Jakubowski</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. V.</surname>
          </string-name>
          <article-title>den Bussche, SHACL: A description logic in disguise</article-title>
          ,
          <source>in: Proceedings of Logic Programming and Nonmonotonic Reasoning</source>
          , volume
          <volume>13416</volume>
          <source>of LNCS</source>
          , Springer,
          <year>2022</year>
          , pp.
          <fpage>75</fpage>
          -
          <lpage>88</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>031</fpage>
          -15707-
          <issue>3</issue>
          _
          <fpage>7</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>P.</given-names>
            <surname>Seifer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Hernández</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Lämmel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Staab</surname>
          </string-name>
          ,
          <article-title>From shapes to shapes: Inferring SHACL shapes for results of SPARQL CONSTRUCT queries (extended version</article-title>
          ),
          <year>2024</year>
          . arXiv:
          <volume>2402</volume>
          .
          <fpage>08509</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>B.</given-names>
            <surname>Spahiu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Maurino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Palmonari</surname>
          </string-name>
          ,
          <article-title>Towards improving the quality of knowledge graphs with data-driven ontology patterns and SHACL</article-title>
          ,
          <source>in: Proceedings of the Workshop on Ontology Design and Patterns (WOP</source>
          <year>2018</year>
          )
          <article-title>co-located with</article-title>
          <source>ISWC</source>
          <year>2018</year>
          , volume
          <volume>2195</volume>
          <source>of CEUR Workshop Proceedings, CEUR-WS.org</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>52</fpage>
          -
          <lpage>66</lpage>
          . URL: https://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>2195</volume>
          /research_paper_2.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>D.</given-names>
            <surname>Fernández-Álvarez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. E. L.</given-names>
            <surname>Gayo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Gayo-Avello</surname>
          </string-name>
          ,
          <article-title>Automatic extraction of shapes using sheXer, Knowledge-Based Systems 238 (</article-title>
          <year>2022</year>
          )
          <article-title>107975</article-title>
          . doi:
          <volume>10</volume>
          .1016/J.KNOSYS.
          <year>2021</year>
          .
          <volume>107975</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>K.</given-names>
            <surname>Rabbani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lissandrini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Hose</surname>
          </string-name>
          ,
          <article-title>Extraction of validating shapes from very large knowledge graphs</article-title>
          ,
          <source>Proceedings VLDB Endow</source>
          .
          <volume>16</volume>
          (
          <year>2023</year>
          )
          <fpage>1023</fpage>
          -
          <lpage>1032</lpage>
          . doi:
          <volume>10</volume>
          .14778/3579075.3579078.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>