<!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>SHACL Constraint Validation during SPARQL Query Processing</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Philipp D. Rohde supervised by Maria-Esther Vidal Leibniz University of Hannover TIB Leibniz Information Centre for Science and Technology Hannover</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2017</year>
      </pub-date>
      <abstract>
        <p>The importance of knowledge graphs is increasing. Due to their application in more and more real-world use-cases the data quality issue has to be addressed. The Shapes Constraint Language (SHACL) is the W3C recommendation language for defining integrity constraints over knowledge graphs expressed in the Resource Description Framework (RDF). Annotating SPARQL query results with metadata from the SHACL validation provides a better understanding of the knowledge graph and its data quality. We propose a query engine that is able to eficiently evaluate which instances in the knowledge graph fulfill the requirements from the SHACL shape schema and annotate the SPARQL query result with this metadata. Hence, adding the dimension of explainability to SPARQL query processing. Our preliminary analysis shows that the proposed optimizations performed for SHACL validation during SPARQL query processing increase the performance compared to a naive approach. However, in some queries the naive approach outperforms the optimizations. This shows that more work needs to be done in this topic to fully comprehend all impacting factors and to identify the amount of overhead added to the query execution.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>
        Knowledge graphs still experience an exponential growth [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]
and became expressive data structures that provide a unified view
of a multitude of data sources. Knowledge graphs are used in
large IT companies [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] as well as for domain-specific data like in
biomedicine [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. These use-cases prove the potential of knowledge
graphs but also show the need for eficient means of knowledge
graph creation, curation, and understanding.
      </p>
      <p>
        The Shapes Constraint Language (SHACL)1 is the W3C
recommendation language for declaratively defining integrity constraints
over data expressed in the Resource Description Framework (RDF)2.
SHACL models integrity constraints as a network of shapes, called
shape schema. A shape consists of all constraints against attributes
of a specific RDF target resource. Requirements on properties
associating two targets are modeled as links between the shapes.
SHACL is being used in real-world scenarios, and it is also adopted
in industrial consortia, e.g., the International Data Space (IDS) [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ],
to represent integrity constraints in the reference architectures.
      </p>
    </sec>
    <sec id="sec-2">
      <title>MOTIVATION</title>
      <p>
        Consider an RDF knowledge graph containing data about
universities from the LUBM [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] benchmark. Given this data, the SPARQL
query in Figure 1a retrieves the names of full professors that have
an email address and work at Department0 of University1, their
research interest, and the URI of the university they got their PhD
from. Figure 1b depicts the integrity constraints defined for
professors, departments, and universities. Instances of all three classes
have to have exactly one name. Departments are a sub-organization
of at least one university. Professors additionally have at least one
email address and research interest. Furthermore, professors work
for at least one department and obtained their PhD from at least
one university. An instance associated with the professor shape is
valid if the instance meets all requirements, i.e., the instance fulfills
the intra-shape constraints, i.e., the constraints not linking to other
shapes, as well as the inter-shape constraints, i.e., the constraints
linking to other shapes. An instance meets the inter-shape
constraints if the instances linked to fulfill all requirements inflicted on
them. The result of the query in Figure 1a is presented in Figure 1c.
Note that in the example data only eight of 1,000 universities have
a name. Hence, only three of the seven query results meet all
integrity constraints defined for the data. That does not falsify the
result reported. However, it provides an explanation for why the
query has only three answers when asking for the university name
as well; by adding the triple pattern ?uni ub:name ?uname to the
query. Adding metadata, e.g., from the validation of a SHACL shape
schema, to the result of a SPARQL query helps in understanding
the answers retrieved from an RDF knowledge graph.
SELECT ?name ?ri ?uni WHERE {
?prof rdf:type ub:FullProfessor ;
ub:name ?name ;
ub:worksFor &lt;http://www.Department0.University1.edu&gt; ;
ub:doctoralDegreeFrom ?uni ;
ub:emailAddress ?email ;
ub:researchInterest ?ri .
} ORDER BY ?prof
      </p>
      <p>(a) SPARQL Query
name
FullProfessor0
FullProfessor1
FullProfessor2
FullProfessor3
FullProfessor4
FullProfessor5
FullProfessor6
ri
Research6
Research23
Research15
Research10
Research19
Research8
Research12
uni
http://www.University6.edu
http://www.University7.edu
http://www.University1.edu
http://www.University888.edu
http://www.University358.edu
http://www.University996.edu
http://www.University87.edu
(b) SHACL Shape Schema
__meta__
all requirements met
all requirements met
all requirements met
University888 violates name constraint
University358 violates name constraint
University996 violates name constraint
University87 violates name constraint
(c) Query Result with Annotations from Quality Assessment</p>
    </sec>
    <sec id="sec-3">
      <title>RELATED WORK</title>
      <p>
        SHACL Validation. Due to the increasing importance of RDF data,
the need for eficiently checking integrity constraints over RDF data
emerge. Corman et al. [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] propose a new semantics for recursive
SHACL since the semantics of recursions are left open in the SHACL
specification. Based on this work, they identify three tractable
fragments of SHACL [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and develop an algorithm able to validate
SHACL shape schemas of these fragements [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Andreşel et al. [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]
propose to use stable models known from Answer Set Programming
(ASP) to validate SHACL shape schemas. This results in an even
stricter semantics for recursive SHACL. This approach allows to
translate the validation into a logic progamm that can be solved
using of-the-shelf ASP solvers. In contrast to these logic approaches to
the validation of a SHACL shape schema, Figuera et al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] propose
Trav-SHACL which aims at improving the incremental behavior
and scalability of the validation problem. They make use of the
fragments and algorithms identified by Corman et al. [
        <xref ref-type="bibr" rid="ref6 ref7">6, 7</xref>
        ] and
improve the performance by interleaving the data retrieval, rule
grounding, and saturation steps. Additionally, Trav-SHACL
optimizes the queries sent to the endpoint in order to identify invalid
entities as fast as possible. While this work is dependent on eficient
validation of SHACL, it is not the main focus.
      </p>
      <p>
        Query Processing. Recently integrity constraints over RDF data
– expressed either in SHACL or ShEx [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] – have been included
in studies about optimization of SPARQL queries. Abbas et al. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]
propose rules for well-formed ShEx schemas and SPARQL query
optimization by triple pattern reordering based on a well-formed
      </p>
      <p>
        ShEx schema. The triple patterns are ranked based on the
hierarchical structure of the shapes within the ShEx schema, i.e., shape
inclusion, as well as the predicate distribution, i.e., the generality
of the predicate. Shapes that are being included in other shapes
get ranked higher as they are assumed to be more selective due to
the well-formation cardinality rule. This rule forces -to- relations
where  &gt;  to be defined on the -side. Triple patterns with
predicates that are unique for one shape are ranked higher than
the ones with more general predicates as they are assumed to be
more selective. Rabbani et al. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] propose an extension of SHACL
including statistics into the definition of a SHACL shape. These
statistics capture the total triple count, minimum and maximum
number of triples for each instance, and the number of distinct
objects. The proposed query optimizer uses the information encoded
in the SHACL shapes for cardinality estimation as part of a
costbased query planner. The authors show that the approach generates
query plans that are cheaper or at most of the same cost as
stateof-the-art heuristic query planners. Additionally, their approach
requires considerably less time and space for the pre-processing
compared to other cost-based approaches which rely on the
existence of hard-to-compute statistics. These optimization techniques
are sound, but they assume that the data complies to the integrity
constraints. However, especially in publicly available RDF data
sources, this assumption does not hold. On the contrary, most of
the data sufers from low quality, e.g., missing values. Our approach
aims at explaining the query result based on the validation of the
integrity constraints, i.e., annotating the query result.
      </p>
    </sec>
    <sec id="sec-4">
      <title>4 PROBLEM DEFINITION</title>
      <p>Problem Statement. Given an RDF graph G = ⟨G,  G⟩, a SHACL
shape schema S = ⟨, targ, def⟩, and a SPARQL query Q, the
problem of annotating the SPARQL query result [[Q]] G with the
SHACL validation result [S] G is to match the instances in [[Q]] G
with the instances in [S] G such that the execution time required
for the annotation of the query result, i.e., evaluating the shape
schema and matching it against the query result, is minimized.
Solution. The work necessary to address the problem of enriching
SPARQL query results with metadata to increase the explainability
can be broken down into the following dimensions:</p>
      <p>
        i) Query Decomposition: SPARQL queries can be decomposed
into subject star-shaped sub-queries [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. All triple patterns of such
a sub-query have their subject in common with the other triple
patterns. It is likely that the instances in the data that match the
star-shaped sub-query represent one class of instances.
      </p>
      <p>
        ii) SHACL Validation: A crucial part of this work is the eficient
validation of SHACL shape schemas since either the complete RDF
knowledge graph or an appropriate subset has to be validated.
Interleaving the diferent steps of the SHACL validation and
optimizing the queries sent to the SPARQL endpoint improve the
performance [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. However, in this use-case more optimizations can
be done. This is due to the fact that most queries will only include a
subset of the SHACL shapes present in the shape schema. Shapes in
the shape schema that do not play a role in the validation result of
the shapes covered by the query unnecessarily consume resources
and can be omitted during the validation. For the query and SHACL
shape schema in Figure 1 no shapes can be removed from the
validation since the query targets the Professor shape which is linked
to all other shapes via inter-shape constraints.
      </p>
      <p>iii) SPARQL Query Result Annotation: For a SHACL shape it is
common to impose integrity constraints on a set of instances that
share the same properties. Hence, it makes sense to decompose
the original SPARQL query into subject star-shaped sub-queries
and annotate the sub-queries first. Figure 2 shows the approach to
annotate an exemplary sub-query with the result from the SHACL
validation based on the motivating example (see Figure 1). The
complete shape schema might also include requirements for
students and research assistants. Once all the sub-queries have been
executed and annotated, the SPARQL operators, like join and union,
have to combine the results from each sub-query. Part of this work
would be the formalization of the semantics and SPARQL operators
in presence of annotations from the SHACL validation.
5</p>
    </sec>
    <sec id="sec-5">
      <title>RESULTS SO FAR</title>
      <p>
        So far, we studied the eficient validation of SHACL shape schemas.
In [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] we reported our work on the topic. We proposed new
optimization techniques to increase the performance and continuous
behavior of SHACL shape schema validation. Furthermore, we
started to investigate the impact of annotating the result of
starshaped SPARQL queries with the result from the aforementioned
validation. In order to annotate the query result, we modified the
XJoin [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] operator to match instances from the query result with
the instances from the SHACL validation. In this process, we
identified several factors that impact the performance of such a system.
To increase the performance, we defined further optimization
techniques that can be applied in case the annotation of the query result
is needed. The results of a preliminary analysis over WatDiv [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]
are shown in Figure 3. All queries reported are subject star-shaped
queries created from the original WatDiv queries. The queries are
highly selective and cover the classes Role and ProductCategory. For
two of the three queries, the proposed optimizations increase the
performance. However, for the third query, the optimizations lead
to a worse performance. This needs to be studied further.
      </p>
    </sec>
    <sec id="sec-6">
      <title>6 RESEARCH PLAN</title>
      <p>This work is based on previous work in SHACL validation as well
as SPARQL query processing. The goal is to create a SPARQL query
engine with explainable results through annotations from the
validation of a SHACL shape schema associated with the data.</p>
      <p>
        SHACL Validation. As a first step, we started to investigate the
problem of eficiently validating SHACL shape schemas (see Section
5). Based on the tractable fragments of SHACL identified by Corman
et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] we proposed Trav-SHACL [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], a SHACL validator that
interleaves the data collection, rule grounding, and saturation steps.
Additionally, Trav-SHACL rewrites the SPARQL queries sent to the
endpoint in order to optimize the queries in terms of execution time.
We found that interleaving the stages of the validation process and
optimizing the queries improves the performance. Trav-SHACL
benefits from scenarios with data of low quality as it is designed
to find invalid instances fast; by skipping the evaluation of further
integrity constraints of already invalid instances which does comply
with the SHACL specification. This behavior might need to be
turned of in the case a complete (detailed) explanation is required.
      </p>
      <p>
        SPARQL Query Result Annotation. First, we plan to annotate
the query result of subject star-shaped queries, i.e., SPARQL queries
where all triple patterns of the query have the same subject variable.
As described in Section 5, we already made some progress on that.
In order to reduce the overall execution time, the validation time
of the SHACL shape schema needs to be reduced as this is the
main bottleneck in this approach. In order to achieve that, we
defined optimization techniques to limit the number of integrity
constraints and instances that need to be checked during the SHACL
validation. Our current results show that this approach can be done.
The next step is to formalize the optimization techniques we came
up with so far. Afterwards, we plan to extend the SPARQL query
result annotation to queries containing any basic graph pattern
(BGP) based on the decomposition of the BGP into star-shaped
subqueries (SSQ) [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. This requires us to formalize an extension of the
SPARQL algebra to include and aggregate the annotation of SSQs
in the SPARQL operators, e.g., join and union. The ultimate goal is
to have a SPARQL query engine that is able to provide explainable
query results by adding metadata from the quality assessment – in
our case SHACL validation – to the individual results of the query.
      </p>
      <p>Additional Annotations. Adding information about the data
quality, e.g., from the validation of a SHACL shape schema
associated with the data, is only a first step towards explainability of
SPARQL query results. Imagine a recruitment system linked to
multiple SPARQL endpoints. Some of the data sources might be
private knowledge graphs containing personal information, e.g.,
the degrees obtained from a university. In the process of reviewing
a job application, a recruiter gets read access to the personal
information of the applicant. Currently, the recruiter does not know
if the data retrieved is actually true. Now assume that the system
uses a blockchain – or similar technology – to record all
transactions, e.g., adding RDF triples to a knowledge graph. In this case,
it is possible to annotate the query result with the information of
who actually added each triple. Back to the recruiter, the systems
also shows the name of the university as the entity who added the
information about the applicant’s degree, so the chances are high
that the applicant really holds the degree.</p>
    </sec>
    <sec id="sec-7">
      <title>7 CONCLUSIONS</title>
      <p>RDF knowledge graphs are gaining momentum. Therefore, the
issue of data quality must be addressed. SHACL is the W3C
recommendation language for integrity constraints over RDF. SHACL is
used in more and more use-cases. Hence, the eficient validation of
SHACL shape schemas is necessary, so that SHACL is able to scale
up to real-world scenarios with big data. Explainability and bias
detection are hot topics at the moment. Enriching SPARQL query
results with annotations from the SHACL shape schema validation
is a first step towards explainable query results.</p>
    </sec>
    <sec id="sec-8">
      <title>ACKNOWLEDGMENTS</title>
      <p>This work has been partially supported by the EU H2020 RIA funded
projects QualiChain (No 822404) and CLARIFY (No 875160), and
the ERAMed project P4-LUCAT (No 53000015).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Abdullah</given-names>
            <surname>Abbas</surname>
          </string-name>
          , Pierre Genevès,
          <source>Cécile Roison, and Nabil Laya"ida</source>
          .
          <year>2018</year>
          .
          <article-title>Selectivity Estimation for SPARQL Triple Patterns with Shape Expressions</article-title>
          . In Web Engineering.
          <source>ICWE</source>
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Waqas</given-names>
            <surname>Ali</surname>
          </string-name>
          , Mohammad Saleem, Bin Yao, Aidan Hogan, and
          <string-name>
            <surname>Axel-Cyrille Ngonga Ngomo</surname>
          </string-name>
          .
          <year>2021</year>
          .
          <article-title>A Survey of RDF Stores &amp; SPARQL Engines for Querying Knowledge Graphs</article-title>
          .
          <source>CoRR abs/2102</source>
          .13027 (
          <year>2021</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Güneş</given-names>
            <surname>Aluç</surname>
          </string-name>
          , Olaf Hartig,
          <string-name>
            <given-names>M. Tamer</given-names>
            <surname>Özsu</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Khuzaima</given-names>
            <surname>Daudjee</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Diversified Stress Testing of RDF Data Management Systems</article-title>
          . In The Semantic Web - ISWC
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Medina</given-names>
            <surname>Andreşel</surname>
          </string-name>
          , Julien Corman, Magdalena Ortiz, Juan L. Reutter, Ognjen Savković, and
          <string-name>
            <given-names>Mantas</given-names>
            <surname>Šimkus</surname>
          </string-name>
          .
          <year>2020</year>
          .
          <article-title>Stable Model Semantics for Recursive SHACL</article-title>
          .
          <source>In ACM - The Web Conference.</source>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Sebastian</surname>
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Bader</surname>
            , Jaroslav Pullmann, Christian Mader,
            <given-names>Sebastian</given-names>
          </string-name>
          <string-name>
            <surname>Tramp</surname>
            ,
            <given-names>Christoph</given-names>
            Quix, Andreas W. Müller, Haydar Akyürek, Matthias Böckmann, Benedikt T. Imbusch, Johannes Lipp, Sandra Geisler, and Christoph
          </string-name>
          <string-name>
            <surname>Lange</surname>
          </string-name>
          .
          <year>2020</year>
          .
          <article-title>The International Data Spaces Information Model - An Ontology for Sovereign Exchange of Digital Content</article-title>
          . In International Semantic Web Conference ISWC.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Julien</given-names>
            <surname>Corman</surname>
          </string-name>
          , Fernando Florenzano, Juan L.
          <string-name>
            <surname>Reutter</surname>
            , and
            <given-names>Ognjen</given-names>
          </string-name>
          <string-name>
            <surname>Savković</surname>
          </string-name>
          .
          <year>2019</year>
          .
          <article-title>SHACL2SPARQL: Validating a SPARQL Endpoint against Recursive SHACL Constraints</article-title>
          . In International Semantic Web Conference ISWC Satellite Events.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Julien</given-names>
            <surname>Corman</surname>
          </string-name>
          , Fernando Florenzano, Juan L.
          <string-name>
            <surname>Reutter</surname>
            , and
            <given-names>Ognjen</given-names>
          </string-name>
          <string-name>
            <surname>Savković</surname>
          </string-name>
          .
          <year>2019</year>
          .
          <article-title>Validating SHACL Constraints over a SPARQL Endpoint</article-title>
          . In International Semantic Web Conference ISWC.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Julien</given-names>
            <surname>Corman</surname>
          </string-name>
          , Juan L.
          <string-name>
            <surname>Reutter</surname>
            , and
            <given-names>Ognjen</given-names>
          </string-name>
          <string-name>
            <surname>Savković</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Semantics and Validation of Recursive SHACL</article-title>
          . In International Semantic Web Conference ISWC.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Mónica</given-names>
            <surname>Figuera</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Philipp D.</given-names>
            <surname>Rohde</surname>
          </string-name>
          , and
          <string-name>
            <surname>Maria-Esther Vidal</surname>
          </string-name>
          .
          <year>2021</year>
          .
          <article-title>Trav-SHACL: Eficiently Validating Networks of SHACL Constraints</article-title>
          .
          <source>In ACM - The Web Conference.</source>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Yuanbo</surname>
            <given-names>Guo</given-names>
          </string-name>
          , Zhengxiang Pan, and
          <string-name>
            <given-names>Jef</given-names>
            <surname>Heflin</surname>
          </string-name>
          .
          <year>2005</year>
          .
          <article-title>LUBM: A Benchmark for OWL Knowledge Base Systems</article-title>
          .
          <source>Web Semantics</source>
          <volume>3</volume>
          ,
          <fpage>2</fpage>
          -
          <lpage>3</lpage>
          (
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Aidan</surname>
            <given-names>Hogan</given-names>
          </string-name>
          , Eva Blomqvist, Michael Cochez, Claudia d'Amato, Gerard de Melo, Claudio Gutierrez, José Emilio Labra Gayo, Sabrina Kirrane,
          <string-name>
            <given-names>Sebastian</given-names>
            <surname>Neumaier</surname>
          </string-name>
          , Axel Polleres, Roberto Navigli,
          <string-name>
            <surname>Axel-Cyrille Ngonga</surname>
            <given-names>Ngomo</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sabbir M. Rashid</surname>
            , Anisa Rula, Lukas Schmelzeisen, Juan F. Sequeda, Stefen Staab, and
            <given-names>Antoine</given-names>
          </string-name>
          <string-name>
            <surname>Zimmermann</surname>
          </string-name>
          .
          <year>2020</year>
          .
          <article-title>Knowledge Graphs</article-title>
          . CoRR abs/
          <year>2003</year>
          .02320 (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>David</surname>
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Nicholson</surname>
            and
            <given-names>Casey S.</given-names>
          </string-name>
          <string-name>
            <surname>Greene</surname>
          </string-name>
          .
          <year>2020</year>
          .
          <article-title>Constructing knowledge graphs and their biomedical applications</article-title>
          .
          <source>Comput Struct Biotechnol J</source>
          .
          <volume>18</volume>
          (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Natalya</given-names>
            <surname>Fridman</surname>
          </string-name>
          <string-name>
            <surname>Noy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Yuqing</given-names>
            <surname>Gao</surname>
          </string-name>
          , Anshu Jain, Anant Narayanan, Alan Patterson, and
          <string-name>
            <given-names>Jamie</given-names>
            <surname>Taylor</surname>
          </string-name>
          .
          <year>2019</year>
          .
          <article-title>Industry-scale knowledge graphs: lessons and challenges</article-title>
          .
          <source>Commun. ACM 62</source>
          ,
          <issue>8</issue>
          (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Kashif</surname>
            <given-names>Rabbani</given-names>
          </string-name>
          , Matteo Lissandrini, and
          <string-name>
            <given-names>Katja</given-names>
            <surname>Hose</surname>
          </string-name>
          .
          <year>2021</year>
          .
          <article-title>Optimizing SPARQL Queries using Shape Statistics</article-title>
          . In Advances in Database Technology - EDBT
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Katherine</surname>
            <given-names>Thornton</given-names>
          </string-name>
          , Harold Solbrig, Gregory S. Stupp, Jose Emilio Labra Gayo, Daniel Mietchen,
          <source>Eric Prud'hommeaux, and Andra Waagmeester</source>
          .
          <year>2019</year>
          .
          <article-title>Using Shape Expressions (ShEx) to Share RDF Data Models and to Guide Curation with Rigorous Validation</article-title>
          . In The Semantic Web - ESWC
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>Tolga</given-names>
            <surname>Urhan</surname>
          </string-name>
          and
          <string-name>
            <given-names>Micheal J.</given-names>
            <surname>Franklin</surname>
          </string-name>
          .
          <year>2000</year>
          .
          <article-title>XJoin: A Reactively-Scheduled Pipelined Join Operator</article-title>
          .
          <source>IEEE Data Eng. Bull. 23</source>
          ,
          <issue>2</issue>
          (6
          <year>2000</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Maria-Esther</surname>
            <given-names>Vidal</given-names>
          </string-name>
          , Edna Ruckhaus, Tomas Lampo, Amadís Martínez, Javier Sierra, and
          <string-name>
            <given-names>Axel</given-names>
            <surname>Polleres</surname>
          </string-name>
          .
          <year>2010</year>
          .
          <article-title>Eficiently Joining Group Patterns in SPARQL Queries</article-title>
          . In The Semantic Web: Research and
          <string-name>
            <surname>Applications. ESWC</surname>
          </string-name>
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>