  Graph embedding techniques allow to learn high-quality feature vectors from
graph structures and are useful in a variety of tasks, from node classification
to clustering. Existing approaches have only focused on learning feature
vectors for the nodes in a (knowledge) graph. To the best of our knowledge,
none of them has tackled the problem of embedding of graph edges, that is,
knowledge graph triples. The approaches that are closer to this task have
focused on homogeneous graphs involving only one type of edge and obtain edge
embeddings by applying some operation (e.g., average) on the embeddings of the
endpoint nodes. The goal of this paper is to introduce Triple2Vec, a new
technique to directly embed edges in (knowledge) graphs. Trple2Vec builds upon
three main ingredients. The first is the notion of line graph. The line graph
of a graph is another graph representing the adjacency between edges of the
original graph. In particular, the nodes of the line graph are the edges of the
original graph. We show that directly applying existing embedding techniques on
the nodes of the line graph to learn edge embeddings is not enough in the
context of knowledge graphs. Thus, we introduce the notion of triple line
graph. The second is an edge weighting mechanism both for line graphs derived
from knowledge graphs and homogeneous graphs. The third is a strategy based on
graph walks on the weighted triple line graph that can preserve proximity
between nodes. Embeddings are finally generated by adopting the SkipGram model,
where sentences are replaced with graph walks. We evaluate our approach on
different real world (knowledge) graphs and compared it with related work.
