Tasks Taxonomy for Graphs

From InfoVis:Wiki
Revision as of 16:29, 6 May 2007 by Markus (talk | contribs) (Reverted edit of, changed back to last version by Markus)
Jump to navigation Jump to search

Low-Level Tasks

From [Amar et al. 2005] and [Lee et al 2006].

  • General Tasks
Task Description
Retrieve Value Given a set of cases, find attributes of those cases.
Filter Given some conditions on attributes values, find data cases satisfying those conditions.
Compute Derived Value Given a set of data cases, compute an aggregate numeric representation of those data cases.(e.g. average, median, and count)
Find Extremum Find data cases possessing an extreme value of an attribute over its range within the data set.
Sort Given a set of data cases, rank them according to some ordinal metric.

Determine Range Given a set of data cases and an attribute of interest, find the span of values within the set.

Characterize Distribution Given a set of data cases and a quantitative attribute of interest, characterize the distribution of that attribute’s values over the set.
Find Anomalies Identify any anomalies within a given set of data cases with respect to a given relationship or expectation, e.g. statistical outliers.
Cluster Given a set of data cases, find clusters of similar attribute values.
Correlate Given a set of data cases and two attributes, determine useful relationships between the values of those attributes.
Scan Quickly review a set of items.
Set Operation Given multiple sets of items, perform set operations on them. For example, find the intersection of the set of nodes.

  • Graph Specific Tasks
Task Description
Find Adjacent Nodes Given a node, find its adjacent nodes.

Graph Task Taxonomy

Examples are illustrated using 4 types of graphs:

  • (FOAF): friend-of-a-friend
  • (FW): food web
  • (GO): gene ontology
  • (ARM): airport routing map

Topology-based Tasks

Task Description Examples
Adjacency (direct connection)
  • Find the set of nodes adjacent to a node?
  • How many nodes are adjacent to a node?
  • Which node has a maximum number of adjacent nodes?
  • (FOAF) Find the names of the direct friends of Eric.
  • (FW) How many kinds of organisms do golden eagles eat?
  • (FOAF) Who is the most popular person?
Accessibility (direct or indirect connection)
  • Find the set of nodes accessible from a node.
  • How many nodes are accessible from a node?
  • Find the set of nodes accessible from a node where the distance is less than or equal to n.
  • How many nodes are accessible from a node where the distance is less than or equal to n?
  • (FOAF) Who are your friends, your friends’ friends, and so on?
  • (FOAF) How many friends are you connected to in this way?
  • (ARM) To what cities can we go from Seoul, Korea by changing planes only once?
Commmon Connection
  • Given nodes, find a set of nodes that are connected to all of them.
  • (FOAF)Find all the people who know both John and Jack.
  • Find the shortest path between two nodes.
  • Identify clusters.
  • Identify connected components.
  • Find bridges.
  • Find articulation points.
  • (ARM) What is the shortest path from Seoul, Korea to Athens, Greece?
  • (FOAF) Count the number of clusters.
  • (FW) There may be subgraphs independent of each other. Count the number of connected components in the graph.
  • (FOAF) Who is the person whose removal from the graph results in an unconnected graph?
  • (FW) Which is the eating link whose removal from the graph results in an unconnected graph?

Attribute-based Tasks

Task Description Examples
On the Nodes
  • Find the nodes having a specific attribute value.
  • Review the set of nodes.
  • (FOAF) Who do you know from the people currently shown on screen?
  • (FOAF) How many people do you know from the ones currently shown on screen?
  • (FOAF) Are there any foreign-sounding names?
On the Links
  • Given a node, find the nodes connected only by certain types of links.
  • Which node is connected by a link having the largest/smallest value?
  • (GO) Find the nodes connected by “is-a” relationships from the “Biological Process” node.
  • (FW) If a link has an attribute representing the percentage of the diet, what is main food of American crow?

Browsing Tasks

Task Description Examples
Follow Path
  • Follow a given path
  • (FOAF) A user looks into A’s friend B, B’s friend C, and C’s friend D.
  • (FW) Follow the flow of energy from grasses, to a rabbit that eats grass, to a carnivore that eats the rabbit, and to a carnivore that eats that carnivore.
  • Return to a previously visited node.
  • (FOAF) After they follow a path in the above task, they may want to see A’s other friends.
  • (FW) Find another carnivore that eats the same rabbit.

Overview Tasks

This is a compound exploratory task to get estimated values quickly. For example, we might ask users to estimate the size of the social network. Note that sometimes it is more important to be able to estimate the answer than to get an accurate one. Some of the topology tasks can be done easily using an overview of the graph as well. For example, using particular layout algorithms, it is easy to see whether or not there are clusters and connected components. Other algorithms help to find shortest paths between nodes. Overview also helps to find patterns.


  • estimate size of the network
  • estimate the number of connected components
  • is the network clustered?
  • can you identify different patterns of connection?
  • (FOAF) has the network a small-world structure?

High-Level Tasks

High-Level tasks which are not a combination of lower level tasks.

  • When we compare two or more food webs, we can ask the following questions: What do they have in common? What are the differences among those food webs? Is there any missing or conflicting information?
  • Due to errors in the data, several nodes may represent the same entity. For example, the co-authorship graphs often have duplicate author nodes. One important task is to identify whether two or more nodes represent the same person.
  • How has the graph changed over time?

Other tasks

There seems to be a set of tasks in the world that match very few of these, but show up often. I welcome others' ideas of how to categorize them:

"what is the general structure of this graph?" http://www.networkweaving.com/blog/2006/09/nola-networks.html

"what is the distribution of vertex degree in this graph?" (That is, "how are well-linked nodes different from under-linked nodes?") http://research.microsoft.com/research/pubs/view.aspx?type=Publication&id=1601

"how many As are linked to Bs? How many As link to other As?" http://www.crookedtimber.org/2005/05/25/cross-ideological-conversations-among-bloggers/

I see things like this so often that they seem to dominate my understanding of how people think of graphing today. (Wattenberg obviously saw the same; his paper from CHI ’06 would do poorly on almost all of the tasks you discuss, but is incredibly effective for questions like “is Sales talking to Engineering?”)


  • [Amar et al. 2005] Amar, R., Eagan, J., and Stasko, J. Low-Level Components of Analytic Activity in Information Visualization, Proceedings of the Symposium on Information Visualization (InfoVis ’05), pp. 111-117, 2005.
  • [Lee et al. 2006] Lee, B., Plaisant, C., Parr, CS., Fekete, JD. and Henry, N. Task Taxonomy for Graph Visualization, In BEyond time and errors: novel evaLuation methods for Information Visualization (BELIV'06), Venice, Italy, May 2006, to be published.