<!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>RdfRules Preview: Towards an Analytics Engine for Rule Mining in RDF Knowledge Graphs</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Vaclav Zeman</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tomas Kliegr</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vojtech Svatek</string-name>
          <email>svatekg@vse.cz</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Information and Knowledge Engineering, Faculty of Informatics and Statistics, University of Economics Prague</institution>
          ,
          <country country="CZ">Czech Republic</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>RdfRules is a framework for mining logical rules from RDFstyle knowledge graphs. The system provides software support for the complete data mining work ows over RDF data: data ingestion, aggregation, transformations, actual rule mining and post-processing of discovered rules, including clustering. As a rule mining algorithm, RdfRules adopts AMIE+ (Galarraga et al, 2015), which has been extended with number of practical features, such as mining across multiple graphs, topk approach and the ability to de ne ne-grained patterns to reduce the size of the search space. RdfRules is a work-in-progress.</p>
      </abstract>
      <kwd-group>
        <kwd>Rule Mining</kwd>
        <kwd>Knowledge Bases</kwd>
        <kwd>RDF data analysis</kwd>
        <kwd>Semantic Web tool</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Finding interesting interpretable patterns in data is a frequently performed task
in modern data science work ow. Software for nding association rules, a speci c
form of patterns, is present in nearly all data mining software bundles. These
implementations are based on the apriori algorithm or its successors, which are
severely constrained with respect to the shape of analyzed data { only single
tables or transactional data are accepted. Algorithms for logical rule mining
developed within the scope of Inductive Logical Programming (ILP) do not
have these restrictions, but they typically require negative examples and do not
scale to larger knowledge bases [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>
        Large knowledge bases consisting of linked and machine-readable data are
currently typically published using the RDF1 data representation [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. RDF-style
knowledge bases are sets of RDF statements which form labeled and oriented
multi-graphs, and as such they do not contain negative examples. Each statement
is written as a triple with subject-predicate-object or as a quad with additional
information about a named graph attached to a given triple.
      </p>
      <p>
        The current state-of-the-art approach for rule mining from RDF knowledge
graphs is the AMIE+ algorithm [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Similarly to ILP systems, AMIE+ mines
(a) CRISP-DM processes
(b) RdfRules processes
Horn rules which have the form of implication and consist of one atomic formula
(or simply atom) on the right side and conjunction of atoms on the left side.
      </p>
      <p>hasChild(a; c) ^ hasChild(b; c) ) isM arriedT o(a; b)
The atom has just one speci ed predicate and two variables at the subject and
object positions. One of these variables can also be replaced by some speci c
constant, e.g., hasChild(a; Carl).</p>
      <p>In this paper we describe the RdfRules framework, which uses AMIE+ as
a basis for a complete solution for linked data mining. RdfRules adds
preprocessing and post-processing capabilities, such as discretization of numerical
attributes and clustering of the output rules. Furthermore, RdfRules provides
several extensions over AMIE+, such as mining across multiple graphs, rule
patterns, constraints, additional measures, top-k approach etc. The framework
o ers several ways to control mining processes either through a Scala and Java
API, or through a REST web service with a graphical user interface.</p>
      <p>This paper is organized as follows. Section 2 provides an overview of the
architecture. Section 3 gives details on the implementation. A use case
demonstrating a practical application of the system is presented in Section 4. Similar
frameworks and other approaches are mentioned in Section 5. The conclusions
summarizes the contribution and provides an outlook for future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Design and Architecture</title>
      <p>
        An overview of data mining processes as implemented in RdfRules is shown in
Fig. 1b.
The construction and the sequence of individual processes have been inspired by
the CRISP-DM methodology [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], which is depicted in Fig. 1a. The way the key
CRISP-DM steps are supported in RdfRules is outlined below.
      </p>
      <p>Data understanding and preparation. As the rst step, RdfRules loads the
input RDF knowledge graph. The framework o ers several functionalities for
data aggregation and analysis, such as computation of statistics on triples and
their types. Informed by the performed analysis, in this stage, the user can also
de ne transformations that are carried on the input RDF data.</p>
      <p>Data modeling. In the modeling phase, the user restricts the search space
for AMIE+, by de ning pruning thresholds, rule patterns and possibly other
constraints. Subsequently, the rule mining process is started and a complete set
of found rules is obtained.</p>
      <p>Evaluation. A critical phase in rule mining is sifting through the discovered
rules to nd the true \nuggets", rules that are of interest to the user. To
support this, RdfRules allows the user to lter, sort, select and export interesting
extracted rules based on number of features, including measures of signi cance
(such as support, con dence and lift). There is also the option to cluster rules
by their similarities.
2.2</p>
      <sec id="sec-2-1">
        <title>Architecture</title>
        <p>As Fig. 2 shows the architecture of the RdfRules core is composed of four main
data abstractions: RdfGraph, RdfDataset, Index and RuleSet. Instances of these
2.3</p>
      </sec>
      <sec id="sec-2-2">
        <title>Graphs and Datasets</title>
        <p>The RdfGraph object is built once we load an RDF graph. It can either be a
le or a stream of triples or quads in a standard RDF format such as N-Triples,
N-Quads, JSON-LD, TriG or TriX. Besides these standard formats the RdfRules
framework has its own native binary format to save/cache all de ned data objects
and transformations on a disk for later and repeated use. During the data loading
process just one RdfGraph instance is created with a default or speci ed name. If
the input data format supports named graphs, several instances can be created.</p>
        <p>Any RdfGraph instance can be used as a set of triples with multiple
transformation operations supported on them. One can lter triples by a condition,
replace selected resources or literals and merge numeric data by discretization
algorithms. Transformed data may be exported to a le in one of the RDF
formats. For analytical purposes, the user can aggregate statements and view
statistics or meta information about the graph such as types of predicate ranges
or histograms of triple items. The complete list of all important operations is
shown in Table 1.</p>
        <p>The RdfDataset instance is created from one or many RdfGraph instances.
It is composed of quads, where all triples have additional provenance
information attached that expresses to which graph they belong. In addition to some
extensions the RdfDataset object supports the same operations as the RdfGraph
abstraction (see Table 2).
Before mining the input dataset has to be indexed into memory for the fast rules
enumeration and measures counting. The AMIE+ algorithm uses six fact indexes
that hold data in several hash tables. Hence, it is important to realize that the
complete input data are replicated six times and then stored into memory before
the mining phase. This index may have two modes: preserved and in-use. The
preserved mode keeps data in memory until the existence of the index object,
whereas the in-use mode loads data into memory only if the index is needed and
is released after use.</p>
        <p>The Index instance can be created from the RdfDataset object or loaded
from cache. It contains prepared data and has operations for rule mining with
the AMIE+ algorithm (see Table 3).
The AMIE+ algorithm outputs all rules matching the speci ed minimum values
of selected measures of signi cance. This can output many more rules than
desirable for the user, who may be, for example, interested only in rules that
contain a speci c attribute, or may want to prefer to see only the rst 100
rules, rather than wait for the state space to be exhaustively searched. RdfRules
addresses these user requirements by extending AMIE+ with the possibility to
de ne new types of restrictions: new thresholds, rule patterns and constraints.
These are described in greater detail in the following.</p>
        <p>Thresholds. Besides standard thresholds de ned in AMIE+, such as support
and head coverage, RdfRules also o ers the top-k approach and a timeout
threshold which determines a maximum mining time. All mining thresholds are listed
in Table 4.</p>
        <p>Rule Patterns. RdfRules allows the user to specify several rule patterns using
a pre-de ned grammar. All rules must match at least one pattern from the rule
pattern list. Matching is performed during the mining phase and therefore the
rules enumeration can be greatly sped up thanks to stricter pruning of the state
space.</p>
        <p>AnyConst(AnyV ar; AnyV ar) ) livesIn(AnyV ar; AnyV ar)
wasBornIn(a; b) ) livesIn(a; b)
(a rule pattern)
(a matching rule)
sortBy(measures)
computePcaCon dence</p>
        <p>(minPcaConf )
computeLift(minConf )
ndSimilar(rule, n),
ndDissimilar(rule, n)
computeCon dence</p>
        <p>(minConf )
take(n), drop(n),
slice(from, until )
lterByPatterns
(patterns)</p>
        <p>Constraints. Finally, the last mining parameter speci es additional constraints
and de nes a way of mining. Here is a list of implemented constraints that can
be used:
{ OnlyPredicates(x): rules must contain only predicates de ned in the set x.
{ WithoutPredicates(x): rules must not contain predicates de ned in the set
x.
{ WithInstances : enable to mine rules with constants at the subject or object
position.
{ WithObjectInstances : enable to mine rules with constants only at the object
position.
{ WithoutDuplicitPredicates : rules that contain one predicate more than once
will be removed.
The RuleSet object is on the output of the RdfRules work ow. It contains all
discovered rules conforming to the restrictions.</p>
        <p>Every rule in the rule set consists of the head (consequent - the right side
of the rule), body (antecedent - the left side of the rule) and measures2 of
signi cance. Basic measures are: rule length, support, head size and head coverage.
Other measures may be calculated individually and explicitly within the RuleSet
abstraction. Additional measures of signi cance include: body size, con dence,
PCA body size, PCA con dence, head con dence, lift and cluster. Rules can be
ltered and sorted by all these measures.</p>
        <p>This nal abstraction has multiple operations for rule analysis, counting
additional measures of signi cance, rule ltering and sorting, rule clustering, and
nally rule exporting for use in other systems (see Table 5). All the discovered
rules are stored in memory but as in the case of previous data objects all
transformations de ned in the RuleSet are lazy. Therefore, this abstraction also allows
to cache rules and transformations on a disk or in memory for a repeating usage.
The complete rule set (or its subsets) can be exported and saved into a le in a
human readable text format or in a machine readable JSON format.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Implementation</title>
      <p>The core of RdfRules is written in the Scala language. Besides the Scala API,
RdfRules also provides a Java API, REST web service and graphical user
interface (GUI) via a web browser (see Fig. 3). The Scala or Java API can be
used as a framework to extend another data mining system or application. The
2 All measures of signi cance are described in the AMIE+ paper and on the RdfRules
GitHub page: https://github.com/propi/rdfrules
web service is suitable for modular web-based applications and remote access.
Finally, the GUI is based on the web service interface and can be used either as
a standalone desktop application or as a web interface to control an RdfRules
instance that is deployed on a remote server.</p>
      <p>
        For RDF data processing RdfRules uses some modules from Apache Jena3
framework. In the pre-processing phase, it is possible to use several
discretization methods for automatic merging of numerical literals. These tasks represent
facades for unsupervised discretization algorithms, such as equal-frequency and
equal-width [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], implemented in the EasyMiner-Discretization 4 library, which is
part of the EasyMiner system [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. For post-processing the RdfRules uses cluster
analysis to categorize the output rules by the DBScan algorithm [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>The source code of RdfRules is published under the GPLv3 open-source
license5 and is hosted at GitHub6. Detailed manuals for using and deploying
individual modules are described on the GitHub page.
4</p>
      <p>Examples</p>
      <p>
        Subsets of YAGO [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and DBpedia [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] are used as example input datasets. These
knowledge graphs are interconnected by the owl:sameAs predicate.
      </p>
      <p>First, consider only the YAGO sample as the input knowledge graph. We can
start the rule mining process simply by invoking several operations in the Scala
API:</p>
      <p>Scala API: rule mining with default parameters
Notice that RdfRules automatically recognized the RDF format by the le
extension. In this example the program rst mines all rules conforming to all default
restrictions. After that, it sorts rules by the head coverage and takes top three
rules from the whole list.</p>
      <p>The third output rule directed(a; b) ) actedIn(a; b) can be interpreted as
follows: if someone directs something, e.g., a movie, then he or she is also acted
in the movie. For this rule there are 4919 triples matching the head actedIn(a; b),
it is called head size. Only 60 triples of 4919 are connected to such triples that
are matching the body directed(a; b). In other words, there are only 60 cases of
4919 where an actor of a movie is also the director of the movie. This measure
3 https://jena.apache.org/
4 https://github.com/KIZI/EasyMiner-Discretization
5 https://www.gnu.org/licenses/gpl.txt
6 https://github.com/propi/rdfrules
is called support. A ratio between support and head size is called head coverage.
For this example the head coverage is</p>
      <p>This calculation may be sped-up by using the top-k approach, which returns
the same results, but can be faster owing to gradual increase of the support
threshold during mining.</p>
      <p>Scala API: rule mining with top-k approach
Dataset("yago.tsv")
.mine(Amie().addThreshold(Threshold.TopK(3)))
.sorted</p>
      <p>We can also compute additional measures of signi cance, such as con dence,
PCA con dence (they indicate the quality of the rule) and lift (it indicates
dependence between the body and the head). Similar output rules can be clustered
by their similarity functions and the DBscan algorithm:</p>
      <p>Scala API: rule mining with other measures</p>
      <p>In the next example, we attach the DBpedia knowledge graph and trace such
rules whose atoms belong to both graphs. This can be achieved by adding a rule
pattern, which restricts the output rule set.</p>
      <p>Scala API: rule mining across two graphs
(Dataset() + Graph("yago", "yago.tsv") + Graph("dbpedia", "dbpedia.ttl"))
.mine(Amie()
.addPattern(AtomPattern(graph = Uri("dbpedia")) =&gt;: AtomPattern(graph = Uri("yago")))
.addPattern(AtomPattern(graph = Uri("yago")) =&gt;: AtomPattern(graph = Uri("dbpedia"))))
.graphBasedRules //attach a graph to all atoms of all rules
//Output samples:
hasChild(a, c, &lt;yago&gt;) ^ parent(c, b, &lt;dbpedia&gt;) =&gt; isMarriedTo(a, b, &lt;yago&gt;)
hasChild(c, a, &lt;yago&gt;) ^ hasChild(c, b, &lt;yago&gt;) =&gt; relative(a, b, &lt;dbpedia&gt;)
hasNeighbor(a, c, &lt;yago&gt;) ^ spokenIn(b, c, &lt;dbpedia&gt;) =&gt; hasOfficialLanguage(a, b, &lt;yago&gt;)</p>
      <p>All previous operations can also be performed using the Java API, web
service and GUI. The following example shows a complex mining work ow in all
available interfaces including pre-processing, rule mining, rules post-processing
and exporting results to a le. Figure 4 shows a preview of de ning individual
processes in the GUI.
Dataset
.fromFile("yago.tsv")
.filter(quad -&gt; !quad.getTriple().getPredicate().hasSameUriAs("participatedIn"))
.discretize(new DiscretizationTask.Equifrequency(3),</p>
      <p>quad -&gt; quad.getTriple().getPredicate().hasSameUriAs("hasNumberOfPeople"))
.mine(RulesMining.amie()
.withInstances(true)
.addPattern(RulePattern.create().prependBodyAtom(</p>
      <p>new AtomPattern().withPredicate(new Uri("hasNumberOfPeople"))))
.addPattern(RulePattern.create(</p>
      <p>new AtomPattern().withPredicate(new Uri("hasNumberOfPeople")))))
.computePcaConfidence(0.5)
.sorted()
.export("rules.json")</p>
      <p>Web Service: JSON task definition
f "name": "LoadDataset", "parameters": f "path": "yago.tsv" g g,
f "name": "FilterQuads", "parameters": f</p>
      <p>"or": [f "predicate": "&lt;participatedIn&gt;", "inverse": true g]
gg,
f "name": "Discretize", "parameters": f
"task": f "name": "EquifrequencyDiscretizationTask", "bins": 3 g,
"predicate": "&lt;hasNumberOfPeople&gt;"
gg,
f "name": "Mine", "parameters": f
"constraints": ["WithInstancesOnlyObjects"],
"patterns": [f</p>
      <p>"head": f "predicate": f "name": "Constant", "value": "&lt;hasNumberOfPeople&gt;" g g
g,f</p>
      <p>"body": [f "predicate": f "name": "Constant", "value": "&lt;hasNumberOfPeople&gt;" g g]
g]
gg,
f "name": "ComputePcaConfidence", "parameters": f "min": 0.5 g g,
f "name": "Sorted", "parameters": null g,
f "name": "ExportRules", "parameters": f "path": "rules.json" g g</p>
      <p>Additional examples demonstrating the three available interfaces for
RdfRules: Scala API, Java API, and the web service can be found in the RdfRules
GitHub repository.7
5</p>
    </sec>
    <sec id="sec-4">
      <title>Related</title>
    </sec>
    <sec id="sec-5">
      <title>Work</title>
      <p>
        The RdfRules framework is partially built on the EasyMiner.eu data mining
system [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. That is a complex web application for association rule mining, outlier
detection and rule-based classi cation. It o ers a graphical user interface and a
public REST API. The system is also able to mine rules from RDF-style datasets
in two modes. The rst one only transforms input RDF dataset into transactions
of items and uses the common apriori-based algorithm for rules enumeration. The
second solution uses AMIE+ approach only with basic measures without further
extensions. This module does not provide any options for data pre-processing
and post-processing.
      </p>
      <p>
        Another system for RDF data processing is called SANSA-Stack [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. This
project o ers a set of algorithms for distributed data processing of large-scale
RDF knowledge bases. The implementation is adapted for Apache Spark
environment. Beside classi cation and clustering algorithms it also contains methods
for logical rules mining by the AMIE+ algorithm. SANSA-Stack is composed of
several libraries and is considered as a framework appropriate for further use
in others data mining systems. Hence, it does not contain any GUI or public
endpoint.
      </p>
      <p>
        Beside the state-of-the-art AMIE+ approach there are other algorithms and
prototypes which come with new measures or methods. First, the SWARM
algorithm, proposed by Barati et al. in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], mines so-called semantic association
rules. It uses the rdf:type predicate and the rdfs:subClassOf property to nd
7 https://github.com/propi/rdfrules/tree/master/experiments
rules with context to classes de ned in an RDF schema or an ontology. Second,
Tanon et al. in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] introduced new scoring functions for better quality
measurement of rules extracted from the RDF knowledge graphs with respect to the
Open World Assumption. All these approaches can extend the current state of
the RdfRules framework. Hence, the engine is adapted and open to add new
measures or mining approaches in the future.
6
      </p>
    </sec>
    <sec id="sec-6">
      <title>Conclusion and Future Work</title>
      <p>
        RdfRules is a software system providing an end-to-end solution for rule mining
over RDF knowledge graphs, implementing the state-of-the-art AMIE+ [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]
algorithm. RdfRules covers the complete data mining lifecycle, most importantly
providing functionality for data pre-processing, which are not supported by the
rst (and to our knowledge the only other) AMIE+ implementation made
available by the AMIE+ authors.8 What is unique to RdfRules is also a set of
algorithmic extensions to AMIE+ that allow for faster mining and more concise
results. The framework o ers several interfaces to control a mining work ow and
is suitable both for developers and for data analysts.
      </p>
      <p>As to the work-in-progress and future work, we currently work on
benchmarking RdfRules to evaluate the impact of the the new type of state space
restrictions introduced in RdfRules on processing time. A promising direction
for extending RdfRules is adding support for RDF schemas and ontologies, which
would involve resource types with hierarchies into the mining process. Although
the system currently supports multi-threading on a single machine, we would
also like to add support for distributed mining and memory scaling on multiple
nodes. Finally, AMIE+ produces logical rules with possibly complex structure,
which may be found di cult to understand by some users. From the user
perspective, research into human-perceived interpretability of logical rules is urgently
needed.
7</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgements</title>
      <p>This research was partly supported by grant IGA 33/2018 and institutional
support for research activities of the Faculty of Informatics and Statistics, University
of Economics, Prague.
8
https://www.mpi-inf.mpg.de/departments/databases-and-informationsystems/research/yago-naga/amie/</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Auer</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bizer</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kobilarov</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lehmann</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cyganiak</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ives</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          :
          <article-title>DBpedia: A Nucleus for a Web of Open Data</article-title>
          .
          <source>In: The Semantic Web</source>
          . pp.
          <volume>722</volume>
          {
          <fpage>735</fpage>
          . Springer, Berlin, Heidelberg (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Barati</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bai</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          :
          <article-title>Mining Semantic Association Rules from RDF Data</article-title>
          .
          <source>Knowledge-Based Systems 133</source>
          ,
          <fpage>183</fpage>
          {
          <fpage>196</fpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Dougherty</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kohavi</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sahami</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Supervised and Unsupervised Discretization of Continuous Features</article-title>
          . In: Prieditis,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Russell</surname>
          </string-name>
          , S. (eds.)
          <source>Machine Learning Proceedings</source>
          <year>1995</year>
          , pp.
          <volume>194</volume>
          {
          <fpage>202</fpage>
          . Morgan Kaufmann, San Francisco (CA) (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Ester</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kriegel</surname>
            ,
            <given-names>H.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sander</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xu</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          :
          <article-title>A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise</article-title>
          .
          <source>In: Proceedings of the Second International Conference on Knowledge Discovery and Data Mining</source>
          . pp.
          <volume>226</volume>
          {
          <fpage>231</fpage>
          . KDD'96, AAAI Press (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Galarraga</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Te ioudi</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hose</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Suchanek</surname>
            ,
            <given-names>F.M.</given-names>
          </string-name>
          :
          <article-title>Fast Rule Mining in Ontological Knowledge Bases with AMIE+</article-title>
          .
          <source>The VLDB Journal</source>
          <volume>24</volume>
          (
          <issue>6</issue>
          ),
          <volume>707</volume>
          {
          <fpage>730</fpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Lehmann</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sejdiu</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , Buhmann, L.,
          <string-name>
            <surname>Westphal</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stadler</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ermilov</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bin</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chakraborty</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Saleem</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ngomo</surname>
            ,
            <given-names>A.C.N.</given-names>
          </string-name>
          , et al.:
          <article-title>Distributed Semantic Analytics Using the SANSA Stack</article-title>
          . In: International Semantic Web Conference. pp.
          <volume>147</volume>
          {
          <fpage>155</fpage>
          . Springer (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Pellissier</given-names>
            <surname>Tanon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Stepanova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Razniewski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Mirza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Weikum</surname>
          </string-name>
          , G.:
          <article-title>Completeness-Aware Rule Learning from Knowledge Graphs</article-title>
          . In: International Semantic Web Conference. pp.
          <volume>507</volume>
          {
          <fpage>525</fpage>
          . Springer (10
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Suchanek</surname>
            ,
            <given-names>F.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kasneci</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weikum</surname>
          </string-name>
          , G.:
          <article-title>Yago: A Core of Semantic Knowledge</article-title>
          .
          <source>In: Proceedings of the 16th International Conference on World Wide Web</source>
          . pp.
          <volume>697</volume>
          {
          <fpage>706</fpage>
          . WWW '07,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          , New York, NY, USA (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Voj</surname>
          </string-name>
          r, S.,
          <string-name>
            <surname>Zeman</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuchar</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kliegr</surname>
          </string-name>
          , T.:
          <article-title>EasyMiner.eu: Web Framework for Interpretable Machine Learning Based on Rules and Frequent Itemsets</article-title>
          .
          <source>KnowledgeBased Systems</source>
          <volume>150</volume>
          ,
          <fpage>111</fpage>
          {
          <fpage>115</fpage>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Wirth</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hipp</surname>
          </string-name>
          , J.: CRISP-DM:
          <article-title>Towards a Standard Process Model for Data Mining</article-title>
          .
          <source>In: Proceedings of the 4th International Conference on the Practical Applications of Knowledge Discovery and Data Mining</source>
          . pp.
          <volume>29</volume>
          {
          <fpage>39</fpage>
          .
          <string-name>
            <surname>Citeseer</surname>
          </string-name>
          (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <source>World Wide Web Consortium and others: RDF 1.1 Concepts</source>
          and Abstract
          <string-name>
            <surname>Syntax</surname>
          </string-name>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>