<!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>G. Pirrò)</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>From Node Embeddings to Triple Embeddings</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Valeria Fionda</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giuseppe Pirrò</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>DI, Sapienza Università di Roma</institution>
          ,
          <addr-line>Piazzale Aldo Moro, 5, 00185 Roma</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>DeMaCS, University of Calabria</institution>
          ,
          <addr-line>via Pietro Bucci 30B, 87036, Rende</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2021</year>
      </pub-date>
      <volume>000</volume>
      <fpage>0</fpage>
      <lpage>0002</lpage>
      <abstract>
        <p>An extended version of this paper has been published at the the 34th AAAI Conference on Artificial Intelligence (AAAI) with the title “Learning Triple Embeddings from Knowledge Graphs”. Graph embedding techniques allow to learn high-quality low-dimensional graph representations useful in various tasks, from node classification to clustering. Knowledge graphs are particular types of graphs characterized by several distinct types of nodes and edges. Existing knowledge graph embedding approaches have only focused on learning embeddings of nodes and predicates. However, the basic piece of information stored in knowledge graphs are triples and thus, an interesting problem is that of learning embeddings of triples as a whole. In this paper we report on Triple2Vec, a new technique to directly compute triple embeddings in knowledge graphs. Triple2Vec leverages the idea of line graph and extends it to the context of knowledge graphs. Embeddings are then generated by adopting the SkipGram model, where sentences are replaced with walks on a wighted version of the line graph.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Knowledge Graphs</kwd>
        <kwd>Triple Embeddings</kwd>
        <kwd>Line Graph</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        In the last years, learning graph representations using low-dimensional vectors has received
attention as viable support to various (machine) learning tasks, from node classification to
clustering [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Several approaches focused on computing node embeddings for homogeneous
graphs only including one type of edge (e.g., [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]) or knowledge graphs (aka heterogeneous
information networks) characterized by several distinct types of nodes and edges [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] (e.g., [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ],
[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]). There have also been attempts considering edge embeddings in homogeneous graphs
by applying some operator (e.g., average, Hadamard product) to the embeddings of the edge
endpoint nodes [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. In the knowledge graph landscape, node and predicate embeddings are
learned separately and these pieces of information could be aggregate (e.g., [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], [9], [10], [11]).
      </p>
      <p>In this paper we report about a technique to directly learn triple embeddings from knowledge
graph, which builds upon the notion of line graph of a graph; in particular, we leverage the fact
that here triples can be turned into nodes. As an example, the directed line graph obtained from
the knowledge graph in Fig. 1 (a) is shown in Fig. 1 (b), where the two copies of the node Lauren
Oliver, Americans correspond to the triples having nationality and citizenship as a predicate,
respectively. It would be tempting to directly applying embedding techniques to the nodes of</p>
      <p>Morgan Freeman stateOfOrigin
starring nationality Americans
citizenship</p>
      <p>Invictus,
Morgan Freeman</p>
      <p>Morgan Freeman,</p>
      <p>Americans
Invictus
starring</p>
      <p>Matt Damon
birthPlace</p>
      <p>Cambridge
country</p>
      <p>University of Chicago</p>
      <p>city
UnitedStates</p>
      <p>nationality
Lauren Oliver
almaMater</p>
      <p>Chicago
country</p>
      <p>Invictus,
Matt Damon
Matt Damon,</p>
      <p>Cambridge
(a)</p>
      <p>Cambridge,
United States</p>
      <p>Morgan Freeman,</p>
      <p>Americans
LaAumreenricOalinvser, LaAumreenricOalinvser,</p>
      <p>Lauren Oliver,
University of Chicago, University of Chicago</p>
      <p>Chicago</p>
      <p>Chicago,
United States
(b)</p>
      <p>Invictus,
starring,
Morgan Freeman
w16
Invictus,
starring,
Matt Damon</p>
      <p>w15
Matt Damon,
birthPlace,
Cambridge
w14</p>
      <p>Morgan Freeman,
w3 stAatmeOerfiOcaringsin, w4
MornAgamatnieorFnicrwaealie5ntyms,an, LwcaAiutm7irzeeenrnicOsahlinwivpse1,r,0w6 LwanALu8amarteiueonrrneicOanalliinOtvyse,lwirv,e9r,</p>
      <p>almaMater,
University of Chicago, University of Chicago</p>
      <p>Chcicitay,gow12Chicago, w11
country,</p>
      <p>United States
w13
(c)
the directed line graph to obtain triple embeddings. However, we detect two main problems.
The first is that it is impossible to discern between the two triples encoded by the nodes Lauren
Oliver and Americans. The second is that the directed line graph is disconnected and as such, it
becomes problematic to learn triple embeddings via random walks. Therefore, we introduce the
notion of triple line graph  of a knowledge graph . In , nodes are the triples of  and an
edge is introduced whenever the triples of  share an endpoint.</p>
      <p>This construction guarantees that  is connected if  is connected. The triple line graph for
the graph in Fig. 1 (a) is shown in Fig. 1 (c). Unfortunately, directly working with  may lead to
low-quality embeddings because edges in  are added based on adjacency. Thus, we introduce
a mechanism to weight the edges of  based on predicate relatedness [12]. The weight of an
edge between nodes of  is equal to the semantic relatedness between the predicates in the
triples of  represented by the two nodes. As an example, in Fig. 1 (c) the weight of the nodes
of  (M. Damon, birthPlace, Cambridge) and (Cambridge, country, United States) will be
equal to the relatedness between birthPlace and country.</p>
      <p>Finally, to compute edge embeddings we generate truncated random walks, in the form of
sequences of nodes, on the weighted triple line graph. Note that weights based on semantic
relatedness will bias the random walker to obtain similar contexts for nodes in the weighted
triple line graph linked by related predicates. The underlying idea is that similar contexts will
lead to similar embeddings. Finally, the walks are fed into the Skip-gram model [13], which
will give the embeddings of the nodes of the weighted triple line graph that correspond to the
embeddings of the original triples.</p>
      <p>The remainder of the paper is organized as follows. We introduce some preliminary definitions
in Section 2. In Section 3, we introduce the notion of triple line graph of a knowledge graph
along with an algorithm to compute it. Section 4 describes the Triple2Vec approach to learn
triple embeddings from knowledge graphs. In Section 5, we discuss an experimental evaluation.
We conclude and sketch future work in Section 6.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Preliminaries</title>
      <p>A Knowledge Graph (G) is a kind of heterogeneous information network. It is a node and edge
labeled directed multigraph =(, , ) where  is a set of uniquely identified vertices
representing entities (e.g., D. Lynch),  a set of predicates (e.g., director) and  a set of triples
of the form (, , ) representing directed labeled edges, where ,  ∈  and  ∈ . The
line graph =(, ) of an undirected graph =(, ) is such that: (i) each node of 
represents an edge of ; (ii) two vertices of  are adjacent if, their corresponding edges in 
have a node in common. Starting from  it is possible to compute the number of nodes and
edges of  as follows: (i) || = ||; (ii) || ∝ 21 ∑︀∈ 2 − | |, where  denotes the
degree of the node  ∈ .</p>
      <p>The concept of line graph has been extended to other types of graphs, including multigraphs
and directed graphs. The extension to multigraphs adds a diferent node in the line graph for
each edge of the original multigraph. If the graph  is directed, the corresponding line graph
 will also be directed; its vertices are in one-to-one correspondence to the edges of  and its
edges represent two-length directed paths in .</p>
    </sec>
    <sec id="sec-3">
      <title>3. Triple Line Graph of a Knowledge Graph</title>
      <p>As we have discussed in the Introduction, apply the notion of line graph to knowledge graphs
would lead to counter-intuitive behaviors. Consider the graph  in Fig. 1 (a). Fig. 1 (b) shows
the directed line graph , obtained by applying the standard definition, where nodes of  are
in one-to-one correspondence to the edges of . Moreover, from the same sub-figure it can be
noticed that each directed edge of  corresponds to a path of length 2 in .</p>
      <p>At this point, three main issues arise. First, the standard definition associates to each node of
the directed line graph the two endpoints of the corresponding edge; however, the edge labels
in a knowledge graph carry a semantic meaning, which is completely lost if only the endpoints
are considered. As an example, it is not possible to discern between the two copies of the nodes
Morgan Freeman, Americans. Second, the edges of the line graph are determined by considering
their direction. This disregards the fact that edges in  witness some semantic relation between
their endpoints (i.e., entities) that can be interpreted bidirectionally. As an example, according
to the definition of directed line graph, the two nodes (Lauren Oliver, Americans) in  remain
isolated since the corresponding edges do not belong to any two-length path in  (see Fig. 1
(a)-(b)). However, consider the triple (Lauren Oliver, nationality, Americans): while the edge
label from Lauren Oliver to Americans states the relation nationality, the same label in the
opposite direction states the relation is nationality of.</p>
      <p>Hence, in the case of knowledge graphs, two nodes of the line graph must be connected by
an edge if they form a two-length path in the original knowledge graph no matter the edge
direction, as the semantics of edge labels can be interpreted bidirectionally. Finally, triples
encode some semantic meaning via predicates, and the desideratum is to preserve this semantics
when connecting two nodes (i.e., triples of ) in the line graph. Because of these issues, we
introduce the novel notion of triple line graph suitable for KGs.</p>
      <p>
        Definition 1. (Triple Line Graph). Given a knowledge graph  = (, , ), the associated
triple line graph  = (, , ) is such that: (i) each node of  represents a triple of ; (ii) two
vertices of , say 1, 1, 1 and 2, 2, 2, are adjacent if, and only if, {1, 1} ∩ {2, 2} ̸= ∅;
(iii) the function  associates a weight in the range [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ] to each edge of .
      </p>
      <p>We devised an algorithm (outlined in Algorithm 1) to compute the triple line graph  of a
knowledge graph  that is at the core of Triple2Vec for the computation of triple embeddings.
After initializing the set of nodes and edges of  to the empty set (line 1), the algorithm iterates
Input : Knowledge Graph 
Output : : the Triple Line Graph associated to</p>
      <p>Algorithm 1: BuildTripleLineGraph ()
over the triples of the input  and add a node to  for each visited triple (lines 2-3), thus
inducing a bijection from the set of triples of  to the set of nodes of  . Besides, if two triples
share a node in  then an edge will be added between the corresponding nodes of  (lines
5-14). In particular, the data structure () (line 6) keeps track, for each node  of , of the
triples in which  appears as subject or object (lines 7-8). Since such triples correspond to
nodes of the triple line graph, by iterating over pairs of triples in () it is possible to add the
desired edge between the corresponding nodes of  (lines 9-10). The algorithm also considers
a generic edge weighting mechanism (line 11) based on predicate relatedness (Section 4).</p>
      <p>By inspecting Algorithm 1, we observe that  can be computed in time (| |2×  ℎ),
where  ℎ is the cost of computing the weight between nodes in .</p>
    </sec>
    <sec id="sec-4">
      <title>4. Triple2Vec: Learning Triple Embeddings</title>
      <p>We now describe Triple2Vec that directly learns triple embeddings from knowledge graphs.
Triple2Vec includes four main phases: (i) building of the triple line graph (Section 3); (ii) weighting
of the triple line graph edges; (iv) computing walks on the weighted triple line graph; and (v)
computing embeddings via the Skip-gram model.</p>
      <p>Triple Line Graph Edge Weighting. We have mentioned in Section 3 that the number of
edges in the (triple) line graph can be large. This structure is much denser than that of the
original graph and may significantly afect the dynamics of the graph in terms of random walks.
To remedy this drawback, we introduce edge weighting mechanism (line 11 Algorithm 1). The
desideratum is to come up with a strategy to compute walks so that the neighborhood of a
triple will include triples that are semantically related. To this end, we leverage a predicate
relatedness measure [14].</p>
      <p>This measure is based on the Triple Frequency defined as   (,  )=log(1 + , ), where
, counts the number of times the predicates  and  link the same subjects and objects.
Moreover, it uses the Inverse Triple Frequency defined as   ( , )=log |{:|,|&gt;0}| [12].
Based on TF and ITF, for each pair of predicates  and  we can build a (symmetric) matrix
 where each element is  (, )=  (,  ) ×   ( , ). The final predicate relatedness
matrix  can be constructed such that (,  )=(,  ), where  (resp.,  )
is the row of  (resp.,  ) in  . This approach guarantees that the more related predicates in
the triples representing two nodes in the triple line graph are, the higher the weight of the edge
between these nodes.</p>
      <p>Driving the random walks according to a relatedness criterion can capture both the graph
topology in terms triple-to-triple relations (i.e., edges in the triple line graph) and semantic
proximity in terms of relatedness between predicates in triples.</p>
      <p>
        Computing Walks. Triple2Vec leverages a language model approach to learn the final edge
embeddings. As such, it requires a “corpus" of both nodes and sequences of nodes similarly to
word embeddings techniques that require words and sequences of words (i.e., sentences). We
leverage truncated graph walks. The idea is to start from each node of  (representing a triple
of the original graph) and provide a context for each of such node in terms of a sequence of
other nodes. Although walks have been used by previous approaches (e.g., [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]), none of them
has tackled the problem of computing triple embeddings.
      </p>
      <p>Computing Triple Embeddings. Once the “corpus" (in terms of the set of walks ) is
available, the last step of the Triple2Vec workflow is to compute the embeddings of the nodes of
 that will correspond to the embeddings of the triples of the input graph . The embedding
we seek can be seen as a function  :  → , which projects nodes of the weighted triple
line graph  into a low dimensional vector space, where  ≪ | |, so that neighboring nodes
are in proximity in the vector space. For every node  ∈ ,  () ⊂  is the set of neighbors,
which is determined by the walks computed. The co-occurrence probability of two nodes 
and +1 in a set of walks  is given by the Softmax function using their vector embeddings
(1)
(2)
 and +1 :

( ) = log  ( +1 ) + ∑︁ E [log  (−   )],</p>
      <p>
        =1
(( , +1 ) ∈ ) =  ( +1 )
where  is the Softmax function and  +1 is the dot product of the vectors  and +1 . As
the computation of (1) is computationally demanding [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], we use negative sampling to training
the Skip-gram model. Negative sampling randomly selects nodes that do not appear together in
a walk as negative examples, instead of considering all nodes in a graph. If a node  appears
in a walk of another node +1, then the vector embedding  is closer to +1 as compared
to any other randomly chosen node. The probability that a node  and a randomly chosen
node  do not appear in a walk starting from  is given by: (( , ) ̸∈ ) =  (−   ).
For any two nodes  and +1, the negative sampling objective of the Skip-gram model to be
maximized is given by the following objective function:
where  denotes the set of all parameters and  is the number of negative samples. For the
optimization of the objective function, we use the parallel asynchronous stochastic gradient
descent algorithm [15].
      </p>
    </sec>
    <sec id="sec-5">
      <title>5. Experiments</title>
      <p>
        We now report on the evaluation and comparison with related work. Triple2Vec has been
implemented in Python and uses the Gensim1 library to learn embeddings. In the experiments,
we used three real-world data sets. DBLP [16] about authors, papers, venues, and topics,
containing ∼ 16K nodes, ∼ 52K edges, and 4 predicate types. Authors are labeled with one
among four labels (i.e., database, data mining, machine learning, and information retrieval).
Foursquare [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] with ∼ 30K nodes and ∼ 83K edges including four diferent kinds of entities,
that is, users, places, points of interests and timestamps where each point of interest has also
associated one among 10 labels. Finally, we used a subset of Yago [16] in the domain of movies
including ∼ 22K nodes, ∼ 89K edges, and 5 predicate types, where each movie is assigned one or
more among 5 available labels.
      </p>
      <p>Since there are no benchmarks available for the evaluation of triple embedding approaches,
we constructed two benchmarks for triple classification and triple clustering by using the labels
available in the datasets. For DBLP the 4 labels for author nodes have been propagated to paper
nodes and from paper nodes to topic and venue nodes. For Yago, the labels for movies have
been propagated to actors, musicians and directors. For FourSquare, the 10 labels for points of
interest have been propagated to places, users and timestamps. With this reasoning, each node
has been labeled with a subset of labels and nodes of  (i.e., the triples of ) have been labeled
(b) metapath2vec
with the union of the labels associated with the triple endpoints. To each subset of labels we
assigned a diferent meta-label.</p>
      <p>
        We compared Triple2Vec to the following two groups of related approaches: (i)
metapath2vec [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], node2vec [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] implemented in StellarGraph (https://www.stellargraph.io) and
DeepWalk [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] configured with the best parameters reported in their respective papers; that compute
embeddings for each node only (not for predicates), and a triple embedding was obtained by
averaging the embeddings of the triple endpoints; (ii) ConvE [9] and RotatE [11] proposed for
knowledge graph embedding configured with the best parameters reported in their respective
papers and implemented in the pykg2vec (https://github.com/Sujit-O/pykg2vec), that compute
embeddings for each node and each predicate, and triple embeddings were obtained by
concatenating the embeddings of the triple endpoints and the predicate. For sake of space, we only
report the best results obtained by setting the parameters of Triple2Vec as follows: number of
walks per node =10, maximum walk length  = 100, window size (necessary for the context
in the Skip-gram model)  = 10. Moreover, we used =128 as a dimension of the embeddings.
The number of negative samples Γ is set to 50. All results are the average of 10 runs.
Results on Triple Classification. To carry out this task, we trained a one-vs-rest Logistic
regression model, giving as input the triple embeddings along with their labels (the labels of the
node of ). Then, we compute the Micro-F1 and Macro-F1 scores by varying the percentage of
training data. The results of the evaluation are reported in Fig. 2. We observe that Triple2Vec
consistently outperforms competitors. This is especially true in the DBLP and Yago datasets.
We also note that metapath2vec performs worse than node2vec and DeepWalk, although the
former has been proposed to work on knowledge graphs. This may be explained by the fact that
the metapaths used in the experiments [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], while being able to capture node embeddings, fail
short in capturing edge (triple) embeddings. As for the other group of approaches, we can see
that the performance are even worse than the first group in some cases although also predicate
embeddings are considered. This may be since the goal of these approaches is to learn entity
and predicate embeddings for link prediction. Another reason is the fact that these approaches
compute a single predicate and node embedding, which is the same for all triples in which it
appears.
      </p>
      <p>Results on Triple Clustering and Visualization. To have a better account of how triple
embeddings are placed in the embedding space, we used t-SNE [17] to obtain a 2-d representation
of the triple embeddings (originally including  dimensions) obtained from Triple2Vec and
metapath2vec. We only report results for DBLP (Fig. 3) as we observed similar trends in the
other datasets. Moreover, metapath2vec was the system giving the “most graphically readable”
results. We note that while Triple2Vec can clearly identify groups of triples (i.e., triples labeled
with the same labels), metapath2vec ofers a less clear perspective. We can explain this behavior
with the fact that Triple2Vec defines a specific strategy for triple embeddings based on the
notion of semantic proximity, while triple embeddings for metapath2vec have been obtained
from the embedding of endpoint nodes according to predefined metapaths.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Concluding Remarks and Future Work</title>
      <p>
        We discussed a technique to directly learn triple embeddings in knowledge graphs. While for
homogeneous graphs, there have been some sub-optimal proposals [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], for knowledge graphs,
this problem was never explored. The presented solution builds upon the notion of line graph
coupled with semantic proximity. Although existing approaches can be adapted we have shown
that: (i) simply aggregating the embedding of the triple endpoint nodes is problematic when
the endpoint nodes are connected by more than one predicate: (ii) even concatenating node
and predicate embeddings would not work since it is not possible to discriminate the role of the
same entities and predicates in all triples they appear.
[9] T. Dettmers, P. Minervini, P. Stenetorp, S. Riedel, Convolutional 2D Knowledge Graph
      </p>
      <p>Embeddings, in: Proc. of the AAAI Conference, 2018, pp. 1811–1818.
[10] H. Xiao, M. Huang, X. Zhu, TransG: A Fenerative Model for Knowledge Graph Embedding,
in: Proc. of Association for Computational Linguistics, 2016, pp. 2316–2325.
[11] Z. Sun, Z.-H. Deng, J.-Y. Nie, J. Tang, RotatE: Knowledge Graph Embedding by
Relational Rotation in Complex Space, in: Proc. of International Conference on Learning
Representations, 2019.
[12] G. Pirrò, Building Relatedness Explanations from Knowledge Graphs, Semantic Web 10
(2019) 963–990.
[13] T. Mikolov, I. Sutskever, K. Chen, G. S. Corrado, J. Dean, Distributed Representations
of Words and Phrases and their Compositionality, in: Proc. of Proc. of International
Conference on Neural Information Processing, 2013, pp. 3111–3119.
[14] V. Fionda, G. Pirrò, Fact checking via evidence patterns, in: Proc. of International Joint</p>
      <p>Conference on Artificial Intelligence, 2018, pp. 3755–3761.
[15] B. Recht, C. Re, S. Wright, F. Niu, Hogwild: A Lock-Free Approach to Parallelizing
Stochastic Gradient Descent, in: Proc. of Proc. of International Conference on Neural
Information Processing, 2011, pp. 693–701.
[16] Z. Huang, N. Mamoulis, Heterogeneous Information Network Embedding for Meta path
based Proximity, arXiv preprint arXiv:1701.05291 (2017).
[17] L. v. d. Maaten, G. Hinton, Visualizing Data Using t-SNE, J. of Machine Learning Research
9 (2008) 2579–2605.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>H.</given-names>
            <surname>Cai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. W.</given-names>
            <surname>Zheng</surname>
          </string-name>
          ,
          <string-name>
            <surname>K. C.-C. Chang</surname>
          </string-name>
          , A Comprehensive Survey of Graph Embedding: Problems, Techniques, and
          <string-name>
            <surname>Applications</surname>
          </string-name>
          ,
          <source>Transactions on Knowledge and Data Engineering</source>
          <volume>30</volume>
          (
          <year>2018</year>
          )
          <fpage>1616</fpage>
          -
          <lpage>1637</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>B.</given-names>
            <surname>Perozzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Al-Rfou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Skiena</surname>
          </string-name>
          ,
          <article-title>Deepwalk: Online Learning of Social rRpresentations</article-title>
          ,
          <source>in: Proc. of KDD</source>
          ,
          <year>2014</year>
          , pp.
          <fpage>701</fpage>
          -
          <lpage>710</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>A.</given-names>
            <surname>Grover</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Leskovec</surname>
          </string-name>
          , node2vec:
          <article-title>Scalable Feature Learning for Networks</article-title>
          ,
          <source>in: Proc. of Int. Conference on Knowledge Discovery and Data Mining</source>
          ,
          <year>2016</year>
          , pp.
          <fpage>855</fpage>
          -
          <lpage>864</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Q.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Mao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Guo</surname>
          </string-name>
          ,
          <article-title>Knowledge Graph embedding: A Eurvey of Approaches and Applications</article-title>
          ,
          <source>Trans. on Knowledge and Data Engineering</source>
          <volume>29</volume>
          (
          <year>2017</year>
          )
          <fpage>2724</fpage>
          -
          <lpage>2743</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>P.</given-names>
            <surname>Ristoski</surname>
          </string-name>
          , H. Paulheim,
          <article-title>Rdf2vec: RDF Graph Embeddings for Data Mining</article-title>
          ,
          <source>in: Proc. of International Semantic Web Conference</source>
          ,
          <year>2016</year>
          , pp.
          <fpage>498</fpage>
          -
          <lpage>514</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>X.</given-names>
            <surname>Dong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. V.</given-names>
            <surname>Chawla</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Swami</surname>
          </string-name>
          , metapath2vec:
          <article-title>Scalable Representation Learning for Heterogeneous Networks</article-title>
          ,
          <source>in: Proc. of Int. Conference on Information and Knowledge Management</source>
          ,
          <year>2017</year>
          , pp.
          <fpage>135</fpage>
          -
          <lpage>144</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>R.</given-names>
            <surname>Hussein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Cudré-Mauroux</surname>
          </string-name>
          ,
          <article-title>Are Meta-Paths Necessary?: Revisiting Heterogeneous Graph Embeddings</article-title>
          ,
          <source>in: Proc. of Proc. of Conference on Information and Knowledge Management</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>437</fpage>
          -
          <lpage>446</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>T.</given-names>
            <surname>Trouillon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Welbl</surname>
          </string-name>
          , S. Riedel, É. Gaussier, G. Bouchard,
          <article-title>Complex Embeddings for Simple Link Prediction</article-title>
          ,
          <source>in: Proc. of Int. Conf. on Machine Learning</source>
          ,
          <year>2016</year>
          , pp.
          <fpage>2071</fpage>
          -
          <lpage>2080</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>