VIKI Network Graph

From extensions

VIKI stands for Visualization and Knowledge Integration. The VIKI Network Graph extension displays the relationships of wiki content as the inbound, outbound, and second order links for a list of wiki pages. Graph nodes represent wiki or web pages, while links between nodes indicate page links.

Links are directional. If two pages link to each other, the link is bidirectional. Some wiki pages contain hyperlinks to external web pages. These pages are displayed on the graph using a wi-fi icon and support limited interaction.

The graph is pannable and zoomable using either the mouse scroll action or the zoom bar located at the bottom of the graph. Individual nodes may be dragged around and rearranged. The graph uses a D3 directed force layout graph topology which automatically revises node positions to a local equilibrium state to avoid overlap whenever nodes are dragged.

The graph is initialized with a user-defined list of wiki pages, along with all pages directly linked to these pages. The user may choose to elaborate a node. Elaboration involves retrieving and displaying all linked pages for the given node’s page.

Elaboration expands the VIKI graph. Users expand the graph to explore the structure of the wiki. Elaborated nodes are also called hub nodes, and the length of links to hub nodes is longer for improved graph visibility. Users may also choose to hide individual nodes and/or hide entire hubs to focus down the graph to areas of interest.


Users may right click on a given node to bring up a context menu of options. Below is a list of all possible options, but not all nodes may have all options as appropriate.

  • Freeze: this node becomes frozen in position while other nodes may move around it
  • Visit Page: opens the page represented by the node in a new tab or window
  • Elaborate: elaborates a node, as discussed previously
  • Show Categories: Pops up a JavaScript alert listing the categories this page belongs to. (Under construction.)
  • Hide Node: Removes this node and links to it from the VIKI graph.
  • Hide Hub: Removes this hub node and all nodes immediately linked to it from the VIKI graph, unless the linked node is itself a hub.
  • Show All: Adds all previously-hidden nodes and links back into the VIKI graph.

To embed a VIKI graph into a page, the following parser function syntax is used:

{{ #viki:pageTitles=First Page Title, Second Page Title,…|width=width|height=height|delimiter=delimiter|secondOrderLinks=<true or false> }}


  • pageTitles: a list of wiki pages (given by title) to comprise the initial graph (optional, default: the current page)
  • width: the desired width (in pixels) of the graph (optional, default: 1200)
  • height: the desired height of the graph (optional, default: 600)
  • delimiter: the desired delimiter that separates between pageTitles (optional, default: ,)
  • secondOrderLinks: boolean value for whether to calculate and display 2nd order links, which is performance-expensive (optional, default: the value of $wgVIKI_Second_Order_Links, if set, or false if not)
Download.png Download links and installation instructions may be found here:

VIKI Plugin System

VIKI is designed to be extensible, with a built-in hook system. Developers can write MediaWiki extensions which serve as plugins to the core VIKI architecture to enhance or modify the VIKI graph behavior. Details about the plugin structure can be found at this page.


VikiSemanticTitle is a plugin to the VIKI Network Graph extension to handle pages which use semantic page naming. In semantic page naming, the name of a page is not a human-readable title, but rather something of a systematic format (e.g. "Item:1"), and the title of the page is set via a semantic property. Because VIKI Semantic Title shows page titles for nodes, this plugin ensures that the proper page display title is used rather than the systematic title.

See also the SemanticTitle extension for more details on semantic page naming.

The citation pages used to demonstrate Semantic Rating were constructed using Semantic Titles. Instead of displaying node names using actual page names such as Item:1, Item:2, etc., the semantic property Property:Full Title as the semantic page title.

Download.png Download links and installation instructions may be found here:


VikiTitleIcon is a plugin to the VIKI extension which adds support for Title Icon. If a page has a title icon, the title icon will render as the node logo for that page in place of its wiki logo.

Download.png Download links and installation instructions may be found here: