Introduction

Structures built upon great quantities of networked entities, such as computer networks and social networks, have an undeniable central role in our everyday life. The need to study these complex real-world topologies, together with the growing ability to carry out these studies thanks to technological advances, recently made the use of complex network models pervasive in many disciplines such as computer science, physics, social science, as well as in interdisciplinary research environments.

Nowadays, it is straightforward to experience the use of complex networked data, thanks to the fact that collecting multirelational data from the Web is generally a simple and inexpensive task. Just think about the quantity of online social media platforms, crowdsourced data, online knowledge bases, and so on, that can be collected and studied with relatively low effort.

Nevertheless, besides relational data that can be modeled in a network topology, it is easy to recognize a quantity of “extra” features which serve as an inestimable source of information, that can be conveniently embedded in a network, thus enhancing the expressive power of the topology itself. Examples are given by temporal aspects of the data, quantitative and/or qualitative properties of the nodes, different relations between a common set of entities and different existence probabilities.

In this paper, we refer with the term Feature Rich-Networks to all the complex network models that expose one or more features in addition to the network topology. Some examples of feature-rich networks, which will be described in the paper, are:

  • Attributed graphs, e. g. networks enclosing (vectors of) generic attributes on nodes and edges (“Attributed graphs” section);

  • Heterogeneous information networks, e. g. networks modeling heterogeneous node and edge types (“Heterogeneous information networks” section);

  • Multilayer networks, e. g. representing different online/offline relations between the same set of users (“Multilayer networks” section);

  • Temporal networks, e. g. modeling discrete/continuous time aspects in networked data (“Temporal networks” section);

  • Location-aware Networks, e. g. useful for the definition of recommender system (RecSys) applications like itinerary routing and points of interest (PoIs) planning (“Location-aware networks” section);

  • Probabilistic networks, e. g. networks modeling uncertain relations, such as sensor networks, or networks inferred from survey data (“Probabilistic networks” section).

Please note that the definition of feature-rich network has been kept intentionally wide and flexible, with the aim to gather under a common denomination a series of network models exhibiting different structures and that were introduced for different needs, but that at the same time show some common characteristics and can lead to similar problems. For the same reason, the overview is not meant to be exhaustive, and other network models may exist which can be referred to as feature-rich ones.

In this paper, we will provide an insight in the current status of research in feature-rich network analysis and mining, describing the main types of feature-rich networks and related applications. The aim is to show how embedding features in complex network models can make it possible to improve solutions to classic tasks (e. g. centrality, community detection, link prediction, information diffusion, and so on) and to focus on domains and research questions that have not been deeply investigated so far.

Attributed graphs

Together with the relational information (i.e., the graph), many data sources may also provide attributes describing the relationships or the entities of the network leading to the notions of a node-attributed graph or an edge-attributed graph, respectively. When the attributes are associated with the relationships, the network can be represented by a weighted graph where the weights, usually used to measure the strength of the tie between the corresponding nodes, are replaced by a vector whose components correspond to attributes characterizing their relation. For instance, in a co-authorship network, the link between two coauthors can be described not only by the total number of their co-publications but also by their dates or by the number for each co-publications subtype (e. g. conference, journal, etc.). So, a vector can be assigned to the edges to take into account these attributes. Note that in specific cases, alternative network models may be used, such as temporal networks (cf. “Temporal networks” section) for modeling interactions over time or multiplex networks (cf. “Multilayer networks” section) for modeling each attribute by a specific relationship. The concept of (node-) attributed networks refers rather to the case where attributes are assigned to the nodes for describing the corresponding entities. In a friendship network, e. g. the actors can be described by their genre and their age.

In literature, different definitions have been introduced. A first model has been defined by Zhou et al. (2009), an alternative by Yin et al. (2010):

Definition 1

(Attributed Network - Zhou et al. (2009)) An attributed network is defined as a graph G = (V, E) where V and E denote sets of nodes and edges; each node vV is associated with a is associated with a vector of attributes (vj,j∈{1,.. p})

Definition 2

(Attributed Network with bipartite graph - Yin et al. (2010)) An attributed network is represented by

  • a graph G = (V, E) describing the relationships between the entities, and

  • a bipartite graph Ga=(VVa,Ea) describing the relationships between the entities and the attributes in such a way that each node v from V is connected to attribute-nodes from Va.

The choice of one of these models depends on the type and the number of the features retained to describe the entities of the network: The second definition is more appropriate when few categorical attributes are considered.

In different tasks, taking into account the attributes in addition to the relational information allows to improve the performance of the methods. Thus, attributed networks have been used with success for link prediction, inferring attributes or community detection (Zhou et al. 2010; Yang et al. 2013; Gong et al. 2014; Combe et al. 2015; Atzmueller et al. 2016). However, it is necessary to be careful because structure and attributes may disagree (Peel et al. 2017). Nevertheless, due to the homophily effect and to social influence, they are likely to be aligned, e. g. (McPherson et al. 2001; La Fond and Neville 2010; Mitzlaff et al. 2013; Mitzlaff et al. 2014; Atzmueller and Lemmerich 2018). Consequently, one can hope to benefit from the two sources, notably when one is missing or noisy. Finally it should be mentioned that generators have been recently designed to automatically build attributed networks (Akoglu and Faloutsos 2009; Palla et al. 2012; Kim and Leskovec 2012; Largeron et al. 2017). Such benchmarks are particularly useful for evaluating the performance of algorithms able to handle the two kinds of data.

A well known subcategory of attributed graphs includes the models used for direct organization and modeling of knowledge elements, e. g. given by concepts, their properties and (inter-)relations. Rooted in the theory on semantic networks (Sowa 2006), such models are known as knowledge networks or knowledge graphs (Bizer et al. 2009; Hoffart et al. 2013). In such network structures, data is integrated into a comprehensive knowledge model capturing the relations between concepts and their properties in an explicit way, cf. (Bizer et al. 2009; Hoffart et al. 2013; Ristoski and Paulheim 2016). For instance, entities (concepts) are usually represented as nodes, there can be categories (labels) associated to node, and conceptual relations are given by directed edges between the nodes (Pujara et al. 2013). Following Paulheim (2017), from the point of construction, a knowledge network then mainly describes real world entities and their interrelations. The possible classes and relations can then also be potentially interrelated in an arbitrary way. Knowledge networks can be exploited in many ways, for example, in order to facilitate modeling, mining, inference, and reasoning. Then, tasks that are supported by knowledge networks include, for example, advanced feature engineering, e. g. (Atzmueller and Sternberg 2017; Wilcke et al. 2017). Furthermore, the constructed knowledge graph can serve as a data integration and exploration mechanism, such that the considered relations and additional information about the contained entities can be utilized by advanced graph mining methods, that work on such feature-rich networks, e. g. by mining the respective attributed graph, e. g. (Atzmueller et al. 2016; Atzmueller et al. 2017). Knowledge graphs thus have a broad range of applications, ranging from knowledge modeling and structuring, cf. (Bizer et al. 2009; Hoffart et al. 2013) to advanced graph mining applications in diverse domains (Ristoski and Paulheim 2016; Wilcke et al. 2017; Atzmueller et al. 2016; Atzmueller and Sternberg 2017).

Heterogeneous information networks

The definition of Heterogeneous Information Network (HIN) models rises from the observation that sophisticated real-world networks can hardly be represented with standard network topologies. Most of real-world connections happen between entities that can be considered as different kinds, and describe different types of relations. A practical example is given by a bibliographic information network, containing entities of type paper, venue and author, where different relation types can connect nodes of different entity types (e. g. authorship between author and paper, publication between paper and venue, and so on) or even nodes of the same type (e. g. coauthorship between authors, citation between papers).

While HINs are a powerful tool to model real-world situations, on the other side the modeling process should be carried out by looking for a good trade-off between homogeneous networks (i. e. all nodes of the same type) and complete heterogeneity (i. e. each node establishes a different entity type), since both extremes would result in a loss of information. For this reason, the authors in Sun and Han (2012) propose a typed, semi-structured heterogeneous network model, defined as follows:

Definition 3

(Heterogeneous Information Network) An information network is defined as a directed graph \(G = (\mathcal {V}, \mathcal {E})\) with an object type mapping function \(\tau : \mathcal {V} \rightarrow \mathcal {A}\) and a link type mapping function \(\phi : \mathcal {E} \rightarrow \mathcal {R}\), where each object \(v \in \mathcal {V}\) belongs to one particular object type \(\tau (v) \in \mathcal {A}\), each link \(e \in \mathcal {E}\) belongs to a particular relation \(\phi (e) \in \mathcal {R}\), and if two links belong to the same relation type, the two links share the same starting object type as well as the ending object type. When the types of objects \(|\mathcal {A}| > 1\) or the types of relations \(|\mathcal {R}| > 1\), the network is called heterogeneous information network; otherwise, it is a homogeneous information network.

Given a complex heterogeneous information network, it is necessary to provide its meta level (i. e. schema-level) description for better understanding the object types and link types in the network. Therefore, the concept of network schema is proposed, in order to describe the meta structure of a network (Sun and Han 2012):

Definition 4

(Network Schema) The network schema, denoted as \(T_{G} = (\mathcal {A},\mathcal {R})\), is a meta template for a heterogeneous network \(G = (\mathcal {V}, \mathcal {E})\) with the object type mapping \(\tau : \mathcal {V} \rightarrow \mathcal {A}\) and the link mapping \(\phi : \mathcal {E} \rightarrow \mathcal {R}\), which is a directed graph defined over object types \(\mathcal {A}\), with edges as relations from \(\mathcal {R}\).

The network schema of a heterogeneous information network has specified type constraints on the sets of objects and relationships between the objects. These constraints make a heterogeneous information network semi-structured, guiding the exploration of the semantics of the network (Sun and Han 2012). This HIN model has been successfully used for several mining tasks, such us ranking-based clustering combinations (Sun et al. 2009; Sun et al. 2009), transductive and ranking-based classification (Ji et al. 2010; Ji et al. 2011), similarity search (Sun et al. 2011) and relationship prediction (Sun et al. 2012; Deng et al. 2014), and, more recently, learning of object-event embeddings (Gui et al. 2017) and named entity linking (Shen et al. 2018). However, the notion of HIN is general enough to include other network models which are inherently heterogeneous in node and relation types, e. g. networks related to the Internet-of-Things (George and Thampi 2018; Misra et al. 2012; Qiu et al. 2016).

Multilayer networks

Multilayer network models provide a powerful and realistic tool for the analysis of complex real-world network systems, enabling an in-depth understanding of the characteristics and dynamics of multiple, interconnected types of node relations and interactions (Dickison et al. 2016). While they can be seen as a form of HIN (cf. “Heterogeneous information networks” section), the main idea here is to model the different relations which may occur between the same set of entities in different layers. The layers can be seen as different interaction contexts, while the participation of an entity to different layers can be seen as a set of different instances of the same entity. When the only inter-layer edges (i. e. edges linking instances in different layers) are the coupling edges (i. e. edges linking different instances of the same entity), this model is generally referred to as Multiplex Network. As a practical example, in social computing, an individual often has multiple accounts across different social networks. Multilayer networks can be easily used to link distributed user profiles belonging to the same user from multiple platforms, thus enabling the definition of advanced mining tasks, e. g. multilayer community detection (Kim and Lee 2015; Loe and Jensen 2015). Similarly, different layers can be used to model online and offline relations of different types happening in a social network (Gaito et al. 2012; Dunbar et al. 2015), such as followship, like/comment interactions, working relationship, lunch relationship, etc. A multilayer network model which has become very popular in literature is that proposed by Kivela et al. (2014):

Definition 5

(Multilayer Network) Let \(\mathcal {L} = \{L_{1}, \ldots, L_{\ell }\}\) be a set of layers and \(\mathcal {V}\) be a set of entities. We denote with \(V_{\mathcal {L}} \subseteq \mathcal {V} \times \mathcal {L}\) the set containing the entity-layer combinations in which an entity is present in the corresponding layer. The set \({E_{\mathcal {L}} \subseteq V_{\mathcal {L}} \times V_{\mathcal {L}}}\) contains the undirected links between such entity-layer pairs. We hence denote with \(G_{\mathcal {L}} = (V_{\mathcal {L}}, E_{\mathcal {L}}, \mathcal {V}, \mathcal {L})\) the multilayer network graph with set of nodes \(\mathcal {V}\).

Another multilayer network model, specifically conceived to represent multilayer social networks, is proposed by Magnani and Rossi in Dickison et al. (2016):

Definition 6

(Multilayer Social Network) Given a set of actors \(\mathcal {A}\) and a set of layers \(\mathcal {L}\), a multilayer network is defined as a quadruple \(G = (\mathcal {A}, \mathcal {L}, V, E)\) where (V,E) is a graph, \(V \subseteq \mathcal {A} \times \mathcal {L}\) and EV×V.

In this model the concept of an Actor is a model upon the physical user, while the Nodes can be seen as the “instances” of the actor/user in different contexts/layers (e. g. accounts on different online social networks, or participation in different offline social networks).

Beyond the social networks domain (Dickison et al. 2016; Perna et al. 2018), multilayer networks have been successfully used to model relations and address mining tasks in different domains, such as airline companies (Cardillo et al. 2013), protein-protein interactions (Bonchi et al. 2014), offline – online networks (Scholz et al. 2013), bibliographic networks (Boden et al. 2012), communication networks (Kim and Lee 2015; Bourqui et al2016), and remote sensing data (Interdonato et al. 2017).

Temporal networks

Real world phenomena are dynamic by nature, i. e. entities participating in a phenomenon and the interactions between them evolve over time, and each interaction typically happens at a specific time and lasts for a certain duration. Temporal networks (Li et al. 2017;Zignani et al. 2014) are the model used to represent these dynamic features in network graphs. Temporal networks have been referred to with different other terms, such as evolving graphs, time-varying graphs, timestamped graphs, dynamic networks, and so on.

Holme and Saramaki (2012) identify two main classes of temporal network, namely contact sequences and interval graphs. A contact sequence network is suitable for cases where there’s a set of entities V interacting with each other at certain times, and the durations of the interactions are negligible. Typical systems suitable to be represented as a contact sequence include communication data (sets of e-mails, phone calls, text messages, etc.), and physical proximity data where the duration of the contact is less important (e.g. sexual networks) (Holme and Saramäki 2012). A contact sequence network can be defined as follows:

Definition 7

(Contact sequence network) A contact sequence network G=(V,C) is defined by a set of vertices V with an associated set of contacts C, where each contact cC is a triple (i,j,t) where i,jV and t is a timestamp denoting a time of contact between i and j. A contact sequence network can be equivalently defined as G=(V,E,T,f), where E is a set of edges, T is a set of non-empty timestamp lists, and f:ET is a function associating each edge to its timestamp list such that for each eE exists f(e)=Te={t1,...,tn}.

If the duration of the interactions is considered (i. e. each edge is active at certain time intervals), then the interval graph model is more suitable:

Definition 8

(Interval graph) An interval graph G=(V,E,T,f) is defined by a graph G=(V,E), a set of lists of time intervals T, and a function f:ET associating a list of time intervals to each edge eE, such that Te={(t1,t1′),...,(tn,tn′)}, with each couple (ti,ti′) denoting the beginning and ending time of a time interval.

Examples of systems that are natural to model as interval graphs include proximity networks (where a contact can represent that two individuals have been close to each other for some extent of time), seasonal food webs where a time interval represents that one species is the main food source of another at some time of the year, and infrastructural systems like the Internet (Holme and Saramäki 2012). In both cases (i. e. starting from a contact sequence network or from an interval graph), a static time aggregated graph can be derived, where an edge between two nodes i and j exists if and only if there is at least a contact between i and j. Temporal networks have been used to address problems in different domains, such as community detection in dynamic social networks (Rossetti et al. 2017), activity pattern analysis of editors (Yasseri et al. 2012), temporal aspects of protein interaction (Han et al. 2004) and gene-regulatory networks (Lèbre et al. 2010), analysis of temporal text networks (Vega and Magnani 2018), analysis of epidemic spreading (Moinet et al. 2018;Onaga et al. 2017) and problems related to mobile devices (Tang et al. 2011;Quadri et al. 2014), just to name a few.

Location-aware networks

As discussed for the time dimension (cf. “Temporal networks” section), in several cases modeling networks from real-world phenomena may require taking into account spatial features. The use of location-based (e. g. georeferenced) information is commonly related to specific research fields, e. g. the ones connected to geographical issues and analyses. Nevertheless, in recent years the increasing availability of gps-equipped mobile devices gave rise to the development of location-based social networking (LBSN) services, such as Foursquare, Facebook Places, Google Latitude, Tripadvisor and Yelp. Consequently, several research approaches have been proposed which make use of geographical and spatio-temporal features in social network analysis problems.

Based on the analysis inBao et al. (2015), in typical cases different types of location-aware networks can be defined, depending on which informations are extracted from the LBSN:

Definition 9

(Location-location graph) A location-location graph G=(V,E) is a graph where nodes in V represent locations and directed edges in EV×V represent the relation between two locations. The semantic of the relation can be defined in different ways, e.g. distance between the location (i. e. expressed as edge weight), similarity or visits by the same users.

Definition 10

(User-location graph) A user-location graph G=(U,V,E) is a bipartite graph where nodes in U represent users, nodes in V represent locations and directed edges in EU×V represent relations between users and locations. The semantic of the relation can be flexible, e.g. may indicate that a user visited or rated a certain location.

Definition 11

(User-user graph) A user-user graph G=(V,E) is a graph where nodes in V represent users and directed edges in EV×V represent relations between users. Some typical edge semantics here may be physical distances, friendship on a LBSN, or features derived from users’ location histories (e.g. edges may connect users having visited a common location).

Location-aware networks built upon LSBN data are generally used for Point-of-Interest (POI) recommendation tasks (Bao et al. 2015;Zhang and Chow 2015;Liu 2018), with the aim to combine geographical and social influence in the recommendation process. A location-based Influence Maximization problem is addressed inZhou et al. (2015), exploiting LSBN to carry out product promotion in a Online to Offline (O2O) business model. A location-aware multilayer network is proposed inInterdonato and Tagarelli (2017), for a POI recommendation task, which integrates location-aware features from a LSBN (Foursquare), geographical features from Google Maps and conceptual features from Wikipedia on different layers.

Networks based on geographical features can also be extracted from remote sensing data, i. e. satellite images. An approached based on evolution graphs is proposed inGuttler et al. (2017), in order to detect spatio-temporal dynamics satellite image time series. Different evolution graphs are produced for particular areas within the study site, which store information about the temporal evolution of a specific geographical area. Then the graph are both studied separately and compared to each other in order to provide a global analysis on the dynamical evolution of the site.

Probabilistic networks

When using networks to model real-world complex phenomena, it is easy to incur in situations where the existence of the relationship between two entities is uncertain. The sources of this uncertainty can be manifold, e. g. links may be derived from erroneous or noisy measurements, inferred from probabilistic models (Monti and Boldi 2017), or even intentionally obfuscated for various reasons. A practical example is offered by biological networks representing protein and gene interactions. Since the interactions are observed through noisy and error-prone experiments, link existence is uncertain, and a major part of uncertainty may arise in social networks for reasons related to data collection (e. g. data collected through automated sensors, inferred from anonymized communication data or from self-reporting/logging data (Adar and Ré 2007)), or because the network structure is based on prediction algorithms (e. g. approaches based on link prediction (Liben-Nowell and Kleinberg 2007)), or simply because actual interactions in online and offline social networks are difficult to measure. Similar issues may happen when coping with Temporal (cf. “Temporal networks” section) and Location-aware (cf. “Location-aware networks” section) networks, always due to data collection (von Landesberger et al. 2017;Wunderlich et al. 2017). In specific cases, uncertainty in the link structure may also be intentionally injected in a network for privacy reasons (Boldi et al. 2012).

All these situations can be handled by using probabilistic network models, often referred to as uncertain graphs, whose edges are labeled with a probability of existence. This probability represents the confidence with which one believes that the relation corresponding to the edge holds in reality (Parchas et al. 2015). A typical probabilistic network, referred to as Uncertain Graph, is defined inParchas et al. (2015):

Definition 12

(Uncertain Graph) An uncertain graph is defined as a triple \(\mathcal {G}=(V,E,p)\), where function p:E→(0,1] assigns a probability of existence to each edge.

Following the literature, the authors consider the edge probabilities independent (Potamias et al. 2010;Jin et al. 2011), and assume possible-world semantics (Abiteboul et al. 1987;Dalvi and Suciu 2004). Specifically, the possible-world semantics interprets \(\mathcal {G}\) as a set \(\{G=(V,E_{G})\}_{E_{G} \subseteq E}\) of 2|E| possible deterministic graphs (worlds), each defined by a subset of E. The probability of observing any possible world \(G=(V,E_{G}) \sqsubseteq \mathcal {G}\) is:

$$ Pr(G)= \prod_{e \in E_{G}} p(e) \prod_{e \in E \backslash E_{G}} (1-p(e)) $$
(1)

Nevertheless, the expressive power enabled by a probabilistic network schema naturally carries with it an explosion in complexity, e. g. the exponential number of possible worlds may even prevent exact query evaluation on the graph. More specifically, even simple queries on deterministic graphs become #P-complete problems on uncertain graphs, and also approximated approaches based on sampling may be too expensive in most cases. To overcome these issues, Parchas et al. propose to create deterministic representative instances of uncertain graphs that maintain the underlying graph properties (Parchas et al. 2015).

Conclusions and future challenges

In this paper, we discussed the main feature-rich network models, namely Attributed Graphs, Heterogeneous Information Networks, Multilayer Networks, Temporal Networks, Location-aware Networks and Probabilistic Networks. Table 1 summarizes the main features exposed for nodes and edges for each discussed model. We introduced the term Feature-rich Network in order to refer to all the complex network models that expose one or more features in addition to the network topology. We kept the definition intentionally wide, with the aim to gather under a common denomination a series of network models which were introduced for different needs, but that at the same time show some common characteristics and can lead to similar problems. Given the flexibility of the definition, this overview is not meant to be exhaustive, and many other feature-rich network models (e. g. data-driven ones) may exist or may be defined in different domains. The use of Feature-rich Networks can intuitively be perceived as beneficial for most research tasks based on graph data, given the greater quantity of information carried by the network object with respect to classic ones. Nevertheless, their expressive power has not been yet fully valued, therefore there is an emergence for providing insights into how the study of feature-rich network models can pave the way for the definition of domain-specific problems that might not be adequately addressed by classic ones. Moreover, the research community also needs an insight in how correctly handling a richer feature set can lead to the definition of network analysis and mining methods that are able to address classic tasks (e. g. community detection, link prediction, information propagation, and so on), improving upon classic models in terms of results quality, while limiting the impact on their efficiency and scalability. Moreover, the use of feature-rich network models may be beneficial for problems in interdisciplinary research fields. In fact, the interplay among researchers from different fields can help modeling most interesting features, and finding new semantics for well-known network analysis tasks. A (non exhaustive) list of domains which usually cope with interdisciplinary research environments and that would benefit from the use of these models include social sciences, physics, remote sensing, health care support, crime and crisis management.

Table 1 Table summarizing the main features exposed for nodes and edges for the discussed feature-rich network models