PyDHNet: A Python Library for Dynamic Heterogeneous Network
Representation Learning and Evaluation
Hoang Nguyen
hoang.cam.nguyen@ryerson.ca
Toronto Metropolitan University, ON,
Canada
Radin Hamidi Rad
radin@ryerson.ca
Toronto Metropolitan University, ON,
Canada
Ebrahim Bagheri
bagheri@ryerson.ca
Toronto Metropolitan University, ON,
Canada
ABSTRACT
Network representation learning and its applications have received
increasing attention. Due to their various application areas, many re-
search groups have developed a diverse range of software tools and
techniques to learn representation for different types of networks.
However, to the best of our knowledge, there are limited works
that support representation learning for dynamic heterogeneous net-
works. The work presented in this demonstration paper attempts
to fill the gap in this space by developing and publicly releasing an
open-source Python library known as, PyDHNet,a Python Library
for Dynamic Heterogeneous Network Representation Learning and
Evaluation. PyDHNet consists of two main components: dynamic
heterogeneous network representation learning and task-specific
evaluation. In our paper, we demonstrate that PyDHNet has an ex-
tensible architecture, is easy to install (through PIP) and use, and
integrates quite seamlessly with other Python libraries. We also
show that the implementation for PyDHNet is efficient and enjoys a
competitive execution time.
CCS CONCEPTS
• Computing methodologies → Learning latent representa-
tions;• Mathematics of computing → Graph algorithms;• In-
formation systems → Retrieval models and ranking.
KEYWORDS
Network Representation Learning, Dynamic Heterogeneous Net-
work, Network Application
ACM Reference Format:
Hoang Nguyen, Radin Hamidi Rad, and Ebrahim Bagheri. 2022. PyDHNet:
A Python Library for Dynamic Heterogeneous Network Representation
Learning and Evaluation. In Proceedings of the 31st ACM International
Conference on Information and Knowledge Management (CIKM ’22), Oc-
tober 17–21, 2022, Atlanta, GA, USA. ACM, New York, NY, USA, 5 pages.
https://doi.org/10.1145/3511808.3557181
1 INTRODUCTION
Network representation learning is the task of mapping a graphi-
cal network structure into a lower dimensional embedding vector
Permission to make digital or hard copies of all or part of this work for personal or
classroom use is granted without fee provided that copies are not made or distributed
for profit or commercial advantage and that copies bear this notice and the full citation
on the first page. Copyrights for components of this work owned by others than ACM
must be honored. Abstracting with credit is permitted. To copy otherwise, or republish,
to post on servers or to redistribute to lists, requires prior specific permission and/or a
fee. Request permissions from permissions@acm.org.
CIKM ’22, October 17–21, 2022, Atlanta, GA, USA
© 2022 Association for Computing Machinery.
ACM ISBN 978-1-4503-9236-5/22/10. . . $15.00
https://doi.org/10.1145/3511808.3557181
space. The embedded vectors should be compact to practically effi-
cient while still capturing and maintaining network properties for
various downstream network tasks. With the increasing importance
of the network representation learning task, several open-source
libraries and tools have been progressively developed and shared
in the community [7, 11, 12, 17, 22, 25]. We summarize some of
the main libraries for this task in Table 1. As shown in the table,
the majority of existing libraries are designed for learning network
representation for static networks. In other words, they consider
the graph to be a single snapshot and do not support for evolving
graphs over time. Furthermore, these libraries often overlook the
need for more complex network representations by only allowing
for homogeneous node and edge types in the network.
From the existing libraries, DynamicGEM and CTGCN are among
the first to allow representations to be learnt for dynamically evolv-
ing graphs. However, both of these libraries are limited by only
supporting homogeneous networks. In contrast, OpenAttHetRL
and Space4HGNN are the only two libraries that support for net-
work heterogeneity; however, they do not support for network
dynamism. The work in this paper illustrates our work on an
open-source python-based network representation library, called
PyDHNet, which supports both network heterogeneity and network
dynamism. Mentioned features are not currently supported by any
other available libraries. We believe that PyDHNet is an extremely
valuable contribution to the community in many application do-
mains, such as social networks, biological dataset and traffic moni-
toring data, to name just a few, deal with graphs that rely on efficient
representations through dynamic heterogeneous graphs.
The purpose of this demonstration can be enumerated as follows:
(1) we will introduce PyDHNet, which allows users to both ef-
ficiently and effectively learn network representations for
dynamic heterogeneous networks;
(2) we will show how the structure of PyDHNet has been de-
signed based on software engineering principles make it
easily extensible for adding new features. Our developed
software library is modularized and hence easy to maintain
and work with;
(3) we will demonstrate the PyDHNet consists of a standalone
evaluation library that supports for the testing the perfor-
mance of the learnt representations on different downstream
tasks such as node classification and link prediction, which
makes it ideal for comparative analysis and replicable re-
search.
The rest of this demonstration paper is organized as follows:
We will first provide an overview of our representation learning
technique and how it differentiates itself from other existing work
in Section 2. Next, the software architecture of PyDHNet is briefly
4936