analysis, standard graph algorithms. It is optimum for denoting networks of different types, like classic graphs, random graphs, and artificial networks. Thus, it takes advantage of Python’s ability to import data from external sources. The package NetworkX consists of many functions of graph generators and facilities to manipulate (read and write) the graphs in so many formats, such as .edgelist, .adjlist, .gml, .graphml, .pajek, and so on.
In the last section, we will provide glimpses of NetworkKit. NetworKit is also a Python module, and it can be used as an alternative for NetworkX. In NetworkKit, performance-aware algorithms are written in C++ (often using OpenMP for shared-memory parallelism) and exposed to Python via the Cython toolchain.
2.2 SNA and Graph Representation
A network, in general, is a set of objects/nodes with interconnections. Now thinking about why we want to study/analyze networks because networks are everywhere, for examples, social networks, friendship networks, email communication networks, Networks of relatives. Transportation and Mobility Networks [1], Information Networks, Internet, websites relations, Biological networks, protein interactions, financial networks, and so on. Network analysis helps in understanding complex phenomena.
2.2.1 The Common Representation of Graphs
1 a. Undirected:The edges do not have any directions.Directed Networks:The edges have directions.Figure 2.1 Comparison directed and undirected graph.
2 b. Simple:The graph has only one link type.Figure 2.2 Simple graph.Figure 2.3 Multigraph.Multigraph:The graph can have more than one same link type.
3 c. Unweighted:The edges in the graph do not contain weight.Weighted:The edge in the graph contains value (numerical), which is known as weight.Figure 2.4 Weighted graph.
Figure 2.5 Unweighted graph.
Other important graphs:
1 Regular graph,
2 Complete graph,
3 Path,
4 Cycle,
5 Bipartitie graph,
6 Euler graph,
7 Hamilton graph,
8 Planner,
9 Tree and forest, and so on.
2.2.2 Important Terms to Remember in Graph Representation
a. Centrality measures
Centrality measures are a significant indicator used in network analysis. There are different types of centrality measures. Some prominent measures are given as follows:
– Betweenness centralityAssuming the important nodes connect other nodes. The betweenness centrality is defined as the cumulative sum of ratios of the paths between two nodes through a node to the total number of shortest paths available between those nodes.
– Closeness centralityAssuming in a connected graph, closeness centrality is a measure of centrality in the given network. The node is closer to all nodes if it is more central.
– Degree centralityAssuming the networks where all nodes are connected and one or more than one nodes have predominant connections in comparison with other neighbouring nodes For instance, in an undirected graph, the degree centrality is defined by the number of connections attached to each node.
– Eigenvector centralityAssuming the networks where all nodes are connected and one or more than one nodes have predominant connections in comparison with other neighboring nodes. Eigenvector centrality is an algorithm that measures the influence or connectivity of nodes [2]. Relationships to high-scoring nodes contribute more to the score of a node than connections to low-scoring nodes. A high score means that a node is connected to other nodes that have high scores.
– PageRank centralityAssuming the networks where all nodes are connected and one or more than one node have predominant connections in comparison with other neighboring nodes. For instance, nodes relate to links representing appropriate weights and weights are updated when the node centrality/significance changes in the directed network [3].
b. Geodesic distance
c. Networks
– Distributed
– Centralized
– Decentralized
2.3 Tools To Analyze Network
There are some traditional and basic tools, which are still helpful to analyze the small network. The following explanations will provide the advantages and limitations of two traditional tools.
2.3.1 MS Excel
MS Excel is one of the basic software packages from Microsoft, which is popular among the users. Along with the mathematical operations, it can also be used to analyze social network [4]. The packages like NodeXL
NodeXL
NodeXL is intended to be used by user with less programming experience. Various graph formats, like UCINet.dl, edgelists, and so on, have been supported by NodeXL.
Some of the activities that can be done with this package are as follows:
1 a. data importing,
2 b. data representation,
3 c. graph analysis,
4 d. graph visualization.
Figure 2.6 NodeXL network overview discovery and exploration in excel [5].
NetMap
It is another social networking tool for Excel, which is fast and user friendly. It is highly used to map the network visually [6]. The main motivation of the tool is to find the linkage among the partners. It is calculated based on the linkage towers. If the linkage tower is higher, then the partners are highly influential and vice versa.
2.3.2 UCINET
It is an extensive network analysis package, which can be run in Windows. However, other machines, like Linux or Mac, can also use it under VMWare or Parallel or BootCamp. It includes a visualization tool called NetDraw, which shows the picturized output of the network.
Summary
The overall drawback of this traditional tools are as follows [7]:
1 It is maily used only in Windows,
2 Requires more RAM for better performance,
3 Can be good for small data set,
4 Too slow to run more nodes.
2.4 Importance of Analysis
Analyzing the social network is significant to monitor the activities among the groups. In recent days, SNA has been used to find a strategic application to build better team. Cultural issues and influences within a group can be understand which will help to structure the world better place [8]. Deep understanding of biological systems, change in natural phenomena, target