Tasks Taxonomy for Graphs: Difference between revisions
No edit summary |
m Reverted edits by 94.23.1.18 (Talk); changed back to last version by Markus |
||
(22 intermediate revisions by 9 users not shown) | |||
Line 1: | Line 1: | ||
== Low-Level Tasks == | == Low-Level Tasks == | ||
From [Amar et al. 2005] and [Lee et al 2006]. | |||
* General Tasks | |||
{|border="1" | |||
|- | |||
|'''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 | |||
{|border="1" | |||
|- | |||
|'''Task'''||'''Description''' | |||
|- | |||
|Find Adjacent Nodes ||Given a node, find its adjacent nodes. | |||
|} | |||
== Graph Task Taxonomy == | == 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 === | === Topology-based Tasks === | ||
{| border="1" | |||
|- | |||
|'''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. | |||
|- | |||
| Connectivty | |||
| | |||
*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 === | === Attribute-based Tasks === | ||
{| border="1" | |||
|- | |||
|'''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 === | === Browsing Tasks === | ||
{| border="1" | |||
|- | |||
|'''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. | |||
|- | |||
| Revisit | |||
| | |||
* 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 === | === 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. | |||
Examples: | |||
* 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 == | ||
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?”) | |||
== References == | |||
* [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. |
Latest revision as of 22:39, 4 June 2012
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) |
|
|
Accessibility (direct or indirect connection) |
|
|
Commmon Connection |
|
|
Connectivty |
|
|
Attribute-based Tasks
Task | Description | Examples |
On the Nodes |
|
|
On the Links |
|
|
Browsing Tasks
Task | Description | Examples |
Follow Path |
|
|
Revisit |
|
|
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.
Examples:
- 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?”)
References
- [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.