Social Networks Visualiser (SocNetV)
- version 0.43.1 -
Homepage: http://socnetv.sourceforge.net
Author: Dimitris B. Kalamaras
email: dimitris_kalamaras@compupress.gr
Contents
- Overview
- Installation
- Command Line Usage
- Interface
- Menus' description
- Feedback
- Open source and GPL
- Frequently Asked Questions
- Overview
Social Networks Visualiser (SocNetV) is a Linux
GPL program designed to allow people draw,
visualise and layout social networks. SocNetV
can read and write various network file
formats, such as PAJEK, sociomatrix and dot.
It enables the user to visually modify
an existing network or draw a new network
using the mouse. Network and actor properties,
such as distances, centralities, diameter etc,
can be easily computed. Also, SocNetV can create
random networks given a link probability.
SocNetV is developed on Qt 3.0+, an application
development toolkit based on C++, using
KDevelop 3.1.1, the open-source development
framework.
SocNetV is published under the General Public
Licence (see section 9).
A word to the wise:
This program is NOT antagonistic to any
commercial/scientific SNA programs, like
PAJEK, visone, UCINET, AISee, KrackPlot,
which are developed by groups of
professionals and scientists.
SocNetV is rather a personal trip to learn SNA
and C++ programming. If you find it useful
I'll be glad. But be aware that there is
no warranty of efficiency, correctness or
usability.
2. Installation
Prerequisities
Installation of SocNetV is straightforward.
All you need is a working Linux distro, with
the following packages installed:
a) g++ 3.4
b) Qt 3.0+
Most distros have these packages installed by default.
Installation Steps
1) Download the latest version of SocNetV.
2) Untar (decompress) the archive using:
tar zxfv SocNetV-v0.XX.tar.gz
3) cd socnetv
4) $QTDIR/bin/qmake
5) make
6) Run SocNetV by issuing:
./socnetv
3. Command Line Usage
SocNetV is primarily a Linux GUI program.
Nevertheless, some command line options
are available. Type:
a) ./socnetv filename.net
to start snv with network named
filename.net loaded.
b) ./socnetv -v
to print version of snv and exit.
c) ./socnetv -d
to enable debugging mode, in which
snv prints comprehensive messages
about what it is doing.
4. Interface
The user can interact with SocNetV in two ways:
a) from the menus and the toolbar, or
b) by right/left/both-clicking on the canvas.
The window of SocNetV is composed of, from
top to bottom:
- a menu bar,
- a tool bar,
- a canvas, and
- a status bar.
The menu bar provides familiar GUI menus
such as FILE, EDIT, VIEW and HELP as well
as more network-oriented menus such as
NETWORK, LAYOUT, STATISTICS. Menu commands
are explained in detail below.
The tool bar provides the common GUI
instructions, i.e. open file (network), save
file (network), print network and display a
help file.
The canvas, occupying the 80% of the SocNetV
window, is the place where networks
are drawed and displayed. The initial
background color of the canvas is gainboro.
Key elements of SocNetV are Actors and Links.
In the terminology of graph theory, Actors
and Links are called Vertices and Edges,
respectively.
In SocNetV, Actors and Links are graphical
items displayed on a canvas, which occupies
the most of the SocNetV window. There is a
multiplicity of actors and edges shapes,
styles, and colors, enabling the user to
discern various patterns.
The canvas lets the user to interact with
the network in multiple ways producing
different results:
a) by left-clicking on an actor and moving
the pointer; The actor moves.
b) by left-clicking on an actor or a link;
Actor information is displayed on the
status bar.
c) by right-clicking on an actor; A menu
appears carrying commands, such as
add link, remove Actor, change value,
change color, change label etc.
d) by right-clicking on a link; A menu
appears carrying commands, such
as remove link, change weight,
change color, etc.
e) by left-clicking on the canvas; A menu
appears with general commands, such as:
add actor, change all actors color,
change all edges color, draw bezier, etc.
f) by middle-clicking (three-button mouse)
or pressing both mouse buttons (two-button
mouse) while pointing an actor; The pointer
changes shape to a "small hand". Middleclicking
or both-mouse-clicking on another
Actor will instantly create a link between
those two Actors.
g) by double-clicking on the canvas, a new actor is created and displayed.
Inside SNA
A social configuration, such as a network,
can be represented by a graph.
Formally, a graph G is represented as G=(V,E),
where V is the set of vertices and E is the
set of edges betweem vertices. In SocNetV, a graph
vertice is called "actor" while edges are
called edges or more often links.
In line with the work of Harary, links can
have signs (+) and (-) reflecting positive
or negative, respectively, relations between
actors. Moreover, links can have arrow heads
indicating a "direction" of the relationship
from an actor to another. In SocNetV, those
links are called arcs or inLinks and outLinks.
Thus, an outLink/arc from Actor A to Actor B
with a positive sign might mean "A likes B"
while a negative arc from B to A is the
sociogrammatic equivalent to "B dislikes A".
Moreover, each Actor may hold a color, a size
and a value. Colors, usually, express a common
structural property of a group of Actors.
Values will be used in the future when network
dynamics (simulation) will be implemented.
Sizes are used only to display actors at
different sizes.
Structural Analytic Indices
Of major importance to Social Network Analysis
is the so-called centrality of each actor
inside the network, as well as the overall
network centralisation. An actor's centrality
is a magnitude of structural importance.
SocNetV provides the following indices:
InDegree
OutDegree
Degree
Closeness
Betweeness
Informational (not yet implemented)
Graph
Stress
Distances are computed using a simple
implementation of Dijksta's shortest
path algorithm.
Although SocNetV is not a professional
program nor a rivalry to acknowledged
SNA programs, it can handle pretty large
networks, i.e. 0-1000 actors.
Bear in mind that when the network becomes too big, centrality calculations will be time-consuming.
5. Menus' Description
File Menu
+ Open:
Opens a network file. SocNetV can read
pajek, list, sociomatrix, dot, DL.
+ Save:
Saves the active network to a file.
SocNetV asks you for the file format.
+ Save As:
Saves the active network to a given
file. SocNetV asks you for the file format.
+ Import:
Imports a network file. Same as open.
The difference is that you tell SocNetV
the format of the network file.
+ Export:
Exports the network file to
BMP, PNG (image)
pajek, sociomatrix, dot, dl, list
+ Quit:
Save and exit.
Network Menu
+ View Network File:
Displays the text of the network file
loaded.
+ View Sociomatrix:
Creates and displays the adjacency
matrix of the active network.
+ Random Network:
- Uniform
Creates and draws a random network
of uniform distribution. SocNetV asks
you for a link probability.
- Gaussian
<not implemented>
- Lattice
<not implemented>
+ Matrix Algebra:
- Pow
Raises the adjacency matrix to a
given power. Then, it displays
the result to a nice "celled" format.
- Inverse
Find and display the inverse, if
exists, of the adjacency matrix.
- Determinant
Finds and displays the determinant
of the adjacency matrix.
Edit Menu
---------
+ Actor:
- Find
Finds an actor by either its number
or its label.
- Add
Adds a new actor in the network.
- Remove
Removes an existing actor from
the network using his number.
Alternatively, you may click on an
actor and then choose this menu option.
SocNetV will remember your choice and
remove that actor. Another option
is to right click on the actor and
select "Remove" from the pretty menu
that pops up.
- Change Label
Changes the label of an existing
actor. Alternatively, you may click on
an actor and then choose this menu option.
SocNetV will remember your choice and
change that actor's label.
Another option is to right click on
the actor and select "Change Label"
from the pretty menu that pops up.
- Change Color
Changes the color of an existing
actor by its number.
Alternatively, you may click on an
actor and then choose this menu option.
SocNetV will remember your choice and
change that actor's color.
Another option is to right click on
the actor and select "Change Color"
from the pretty menu that pops up.
- Change Value
Changes the value/size of an existing
actor by its number.
Another option is to right click on
the actor and select "Change Size"
from the pretty menu that pops up.
+ Link:
- Find
<not implemented>
- Add
Adds a new link. SocNetV asks for the
number of the source actor and
the target actor. Alternatively,
middle clicking (or both clicking)
on two actors will create the desired
link automatically.
Another option is to right-click on
an actor and select "add link" in
the pop-up menu. SocNetV will ask for
the target actor and draw the
new link.
- Remove
Removes an existing link. SocNetV asks for
the number of the source actor and
the target actor. Alternatively, and
more easily, right-click on the link
you want removed and select "Remove"
in the pop-up menu.
- Change Color
Changes color of an existing link.
SocNetV asks for the number of the source
actor and the target actor.
Alternatively, and more easily,
right-click on the link you want and
select "Change color" in the pop-up menu.
- Change Weight
-
+ Actors<->Links
If selected, SocNetV will transform each
actor to a link and each link to
an actor.
Layout Menu
-----------
In circles by centrality....
- By Degree Centrality:
Relocates actors on the circumference
of circles of common centre but
different radius. Greater radius and,
therefore, actors more distant from
the centre of the canvas reflect less
degree centrality.
- By Closeness Centrality:
Relocates actors on the circumference
of circles of common centre but
different radius. Greater radius and,
therefore, actors more distant from
the centre of the canvas reflect less
closeness centrality.
- By Betweeness Centrality:
Relocates actors on the circumference
of circles of common centre but
different radius. Greater radius and,
therefore, actors more distant from
the centre of the canvas reflect less
betweeness centrality.
- By Informational Centrality:
Relocates actors on the circumference
of circles of common centre but
different radius. Greater radius and,
therefore, actors more distant from
the centre of the canvas reflect less
informational centrality.
In levels by centrality...
WIP
+ Physical models
Spring Embedder
Statistics Menu
+ Active Actors:
Counts and displays the amount of
active actors in the network.
+ Active Links:
Counts and displays the amount of
active actors in the network.
+ Density:
Calculates and displays the Density
of the active network.
+ Distance:
Calculates and displays the geodesic
distance of two given actors. For
this, SocNetV asks for two actorNumbers.
+ Matrix of Distances:
Calculates and displays the complete
matrix of distances.
+ Diameter:
Calculates and displays the diameter
of the network, which is the maximum
of the minimum geodesic distances
between all actors.
+ Centralities:
- Degree
- Closeness
- Betweeness
- Informational
- Stress
- Graph
Options Menu
+
View Menu
+ View progress bars (Default ON)
Toggles the progress bars during
various (time-costly) operations.
This is something you might want
to enable if you want to monitor
the progress of the operation.
On the other hand, progress bar
cost some cpu time.
+ View ToolBar (Default ON)
Toggles the toolbar.
+ View StatusBar (Default ON)
Toggles the statusbar. If you
disable statusbar, then you won't
be able to read the messages SocNetV
displays in the statusBar during
various operations.
Help Menu
+ Help
Opens an embedded html viewer where
you can read this help file.
+ About
Displays short info about SocNetV.
Probably the least interesting
feature. That is why we have added to it
a super special "quote of the day",
which contains more than 10^6 famous
quotes from all over the universe....
+ About Qt
Displays short info about Qt, which
is the programming toolkit of SocNetV.
Check it out. Qt is free for Linux
and is the basis of KDE.
HotKeys
-------
F1: Display this Help file
F5: View the source file
F6: Display the active Sociomatrix
CTRL+D: Compute the network diameter
CTRL+G: Compute the geodesic distance
between two actors
CTRL+M: Compute the matrix of distances
6. Feedback
Although SocNetV is free software, feedback is
strongly encouraged. Please let me now about
any bugs, questions or suggestions. Sent me
an e-mail to:
dimitris.kalamaras@compupress.gr
7. Frequently Asked Questions
I) Does SocNetV run on MS Windows?
Answer:
No. SocNetV is, and will be, Linux only.
II) I cannot compile SocNetV on my linux box.
Can you help me?
Answer:
Ensure you have installed the Qt 3.0+
in your linux box. Read carefully
the "Installation section", follow
the guidelines and you will probably
have a succesful installation.
III) Is there a Debian package of SocNetV?
Answer:
I do not know.
VI) Are there any other SNA programs for
Linux?
Answer: The following programs are available
for our favorite OS:
1) Pajek (via wine)
2) Visone
3) dot (although this is more layout)
4) iSee
5) Any java based program, like <ADD PROGR>
VII) Can I use the code of SocNetV in my Qt or
non-Qt program, as I like?
Answer:
Of course. If you like, spare some
time to send me a copy of your program.
Notice that if you do use some coding
of my own or Qt's, then your program
should probably be licensed under the
GPL.
In short, keep software free!
VIII) When I run SocNetV from Konqueror rather
than command line, toolbar icons are not
displayed. What is wrong?
Answer:
At initial load, SocNetV seeks icons inside
<INSTALLDIR>/src/images
If for any reason you run SocNetV from the
Konqueror then SocNetV is run from your
default Konqueror dir rather than from
where you installed it. Therefore,
run SocNetV at linux command line from where
you in
8. GPL
SocNetV is free software published under the General
Public Licence (GPL). GPL mandates this program
to be 'open-source'. Open-source means:
a) You can copy it as many times as you like.
b) There is no guarrantee or support. Use it
at your own risk.
c) You can modify the code as you like and use
it any way you prefer. The only obligation,
based on the GPL, is that anything created
from SocNetV or by portions or parts of its
code is 'open-source' as well.
d) You cannot make money out of it.
You can find the full GPL text inside the SocNetV tarballs. Please read it
carefully.
