Rephetio: Repurposing drugs on a hetnet [rephetio]

Renaming ‘heterogeneous networks’ to a more concise and catchy term

We have been developing tools and applications [1, 2] for graphs with multiple node and edge types with optional directionality declared by the edge type. Now, we would like to choose the best term for this definition.

We have adopted a nomenclature where graph elements (nodes, edges, paths) are prepended with meta when referring to their type (metanodes, metaedges, metapaths). Support for directionality is necessitated by certain metaedges that connect a metanode to itself (example). Whether our conception of directionality should be mandated by the definition is open for discussion.

Potential names

  • heterogeneous information network — the term used by the foundational works in social network analysis [3, 4, 5] to describe a graph with typed nodes and edges. The 397 occurrences in Google Scholar are of high precision. My major complaints with this term are its verbosity and drabness.
  • heterogeneous network — the term we are currently using but that has a preexisting meaning in computer networking. The term retrieves 2,930 Google Scholar occurrences since 2015 with precision below 50%. I dislike this term's ambiguity and use of "heterogeneous" which is lengthy and esoteric.
  • other options: we would like suggestions for other names. The following criteria are important: brevity, precision (once adopted), intuitiveness, cheer, and accessibility.

Related terms

Below, I list several graph types (out of many [6]) that are related to but distinct from our definition:

  • multipartite graphs — graphs with typed nodes but without typed edges. Sometimes [7] referred to as multitype networks.
  • multigraph — graphs allowing multiple edges between the same source and target nodes but without typed edges.
  • multi-relational graphs — graphs with multiple edge types
  • property graphs — directed multi-relational graphs with edge attributes.

Seeking input

We would like input and suggestions. Some possibilities are polynets, hetnets, multigraphs, typednets, typedgraphs, and multitype networks.

Collectively, we are pioneering a branch of network analysis that will play a prominent role going forward. We do not want to be hindered by vocabulary.

I'm a fan of HetNets. It's short and catchy. It does seem to be used for wireless networking but if it's relatively unique in bioinformatics I think the short and catchy part is a big advantage.

Most people I have discussed this with, would understand what heterogeneous networks mean without much ambiguity. I realize that it may not be completely specific to the kind of work we are doing here, but a balance between specificity and name simplicity needs to be reached. In my view, HetNets does it.

Preliminary adoption of 'hetnet'

I agree with the previous two comments that "hetnet" is a good term. The term transforms "heterogeneous network" into a solid compound noun.

However, I prefer sentence case (hetnet) to camel case (HetNet). Removing the camel case improves the aesthetics and differentiates the term from its computer networking usage.

The term respects its lineage through compatibility with "heterogeneous network" and "heterogeneous information network".

I have begun publicly using the term hetnet. For example, I renamed thehetio.graph module to hetio.hetnet to better describe the content. I also now describe the hetio package as "Hetnets in Python".

Official adoption of 'hetnet'

For the past four months, I have been widely using the term 'hetnet'. I now rarely use the term 'heterogeneous network'. If I think an audience will be unfamiliar with my usage, I'll clarify by saying "a network with multiple types of nodes or edges". Even when I don't explicitly define the term, unfamiliar recipients seem to instinctively understand the concept. And perhaps most importantly, I haven't encountered any objections. Hence, our adoption of hetnet is now official.

In the spirit of this announcement, we'll be changing our project's title from "Repurposing drugs on a heterogeneous network" to "Repurposing drugs on a hetnet".

Meanwhile, the community continues to use an assortment of terms to express the concept. For example, a recent study used the "multiplex network" [1]. The field appears ripe for standardized terminology to emerge.

Anaïs Baudot, coauthor of the PeerJ paper [1] mentioned in my previous post, informed me of a fantastically thorough article [2] on the terminology of complex networks. Quoting from the article's introduction:

In the last couple of years, it has suddenly become very fashionable to study networks with multiple layers (or multiple types of edges) and networks of networks. Unfortunately, the sudden and immense explosion of papers on multilayer networks has produced an equally immense explosion of disparate terminology, and the lack of a consensus (or even generally accepted) set of terminology and mathematical framework for studying multilayer networks is extremely problematic. Additionally, research on generalizing monoplex-network concepts such as degree, transitivity, centrality and diffusion is only in its infancy. We also expect that it will be necessary to define many concepts that are intrinsic to multilayer networks.

This study adopts the term "multilayer network" as a general term for networks with multiple layers. From my understanding a layer is an edge type. However, the definition gets quite technical — the study is coming from a math/physics angle. So while the term multilayer definitely encompasses our concept of a hetnet, I think it fails in terms of simplicity. We like the term heterogeneous because it expresses the underlying and distinguishing feature of our networks: different types. Multilayer feels less intuitive: not everyone conceptualizes different types as layers.

A simple definition of hetnet

Whereas the authors of Multilayer networks have nailed the technical details, I think it's important to have easily accessible definitions to unite the field and help it grow. Therefore I propose the following simple and encompassing definition of hetnet:

hetnet — a network with multiple node or edge types

Depending on your field, 'network' can be replaced with 'graph', 'node' with 'vertex' or 'entity', and 'edge' with 'link', 'arc', or 'relationship'.

The terminology nightmare

The authors of Multilayer networks [2] performed an extremely thorough review of existing terminology. I reproduced their Table 1 of network types that multilayer networks encompass below because it does a great job illustrating the terminology nightmare we face. Not only are there many names for the same concept, but the same name often refers to many concepts. Second, I wanted to make their extensive compilation of references extra accessible. One contributing factor to the lack of standards is poor communication between fields. I'm hoping this Thinklab discussion will help bridge the gaps. And what better way to start the ball rolling than by citing the studies that paved the way for the hetnet.

The columns are defined as follows (see the study [2] for more information):

  • Aligned: Is the network node-aligned (all nodes are shared between all layers)?
  • Disj.: Is the network layer-disjoint (each node is present only in a single layer)?
  • Eq. Size: Do all of the layers have the same number of nodes?
  • Diag.: Are the couplings diagonal?
  • Lcoup.: Do the inter-layer couplings consist of layer couplings?
  • Cat.: Are the inter-layer couplings categorical?
  • |L| denotes the number of possible layers
  • d denotes the number of ‘aspects’ (i.e. the ‘dimensionality’ of the layers)
NameAlignedDisj.Eq. SizeDiag.Lcoup.Cat.|L|dExample refs.
Multilayer networkAny1[3]
Multiplex networkAny1[5, 4]
Any1[6, 7, 8, 9, 10, 11, 12]
21[13, 14, 15]
Any1[17, 18, 19]
Multivariate networkAny1[20]
Multirelational networkAny1[23, 24, 25, 26]
Multirelational dataAny1[27, 28]
Multilayered networkAny1[19, 29, 30, 31]
Multidimensional networkAny1[32, 33, 34, 35, 36, 37, 38]
Multislice networkAny1[40, 41, 42, 43]
Multiplex of interdependent networksAny1[44]
HypernetworkAny1[45, 46]
Overlay network21[47, 48]
Composite network21[49]
Multilevel networkAny1[50, 51]
Any1[16, 52]
Multiweighted graphAny1[53]
Heterogeneous network21[54, 24]
Multitype networkAny1[55, 56, 57]
Interconnected networks21[58, 59]
21[60, 61]
Interdependent networks21[62]
21[65, 66]
Partially interdependent networks21[68]
Network of networksAny1[69]
Coupled networksAny1[70]
Interconnecting networks21[71]
Interacting networksAny1[72, 73]
Heterogenous information networkAny2[74, 75, 76, 77]
Meta-matrix, meta-networkAny2[79, 80, 81]
Status: Completed
Referenced by
Cite this as
Daniel Himmelstein, Casey Greene, Sergio Baranzini (2015) Renaming ‘heterogeneous networks’ to a more concise and catchy term. Thinklab. doi:10.15363/thinklab.d104

Creative Commons License