Definitions

 
Definitions
 
1

Overview

 
 
Visualizing information with TouchGraph Navigator involves transforming what started out as data in a file or database into a graph consisting of nodes and edges.
 
As data is loaded and transformed into visualization different names are used to describe the structures that hold the data and the representations that display it.
2

Raw Data, Tables, Fields

 
 
Raw Data: The Loading Wizard can load data from many different file formats and databases.  Prior to being processed the data is known as raw data.
 
Tables:  A table is an arrangement of data that looks like a rectangular grid consisting of rows and columns. The first step in loading data is to convert the files and databases into a series of tables.
 
Table Creation: How tables are created depends on the original file format. Databases for instance already store data in tables so the data is loaded in its original form. A CSV file also represents a single table. An Excel file contains worksheets where each worksheet can contain a single table (the worksheets might not be popery formatted however). Graph data formats such as VNA can usually be split into a table of nodes and a table of edges.  More complicated transformations are applied to generate tables from XML
 
Table Names:   Each table is assigned a unique name.  Where the name comes from depends on the file / database that was loaded.  For Excel files, the table name come from the worksheet name.  Tables in databases already have names.  A table created from a graph file format may simply be called "node table" or "edge table".  Tables created from file formats that don't contain a table such as CSV are given a name based on the order they were encountered.
 
Fields: A field describes the content in each column of the table. For instance an "address" field indicates that all the values in that column of the table would contain an address.  Each field has a name, a data-type (ex: text, integer, date, url), and an optional delimiter. A delimiter is used to indicate that a value in a single row+field is actually multiple values delimited by a character or string.
 
3

Entities, Relations, Types, Attributes

 
 
When data is loaded by the TouchGraph Navigator it is converted into Entities and Relations.
 
Entity: An entity is a small unit of data that has a unique id and a single entity type.  For instance "John Smith" can be the id for an entity of type "Person".
 
Relation: A relation connects two entities.  Each relation has a single relation type. For instance there can be a "Friendship" type relation between two people named "Bob" and "Ben".
 
Entity Type / Relation Type:
  • An entity type, such as "Person" collectively describes all entities such as "John" and "Jane" that belong to that type.
  • Likewise a relation type such as "Friendship" collectively describes all relations such as a friendship between "Bob" and "Ben" and a friendship between "John" and "Jane" that belong to that type.
 
Attribute: Entity types and relation types have associated attributes. 
  • For instance a "Person" entity type can have attributes including name, address, and birth date. 
  • Likewise a "Friendship" relation type can have an attributes including start a date when the friends met and a measure of intensity. 
 
Attribute Value: Entities and Relations have values for attributes of the associated entity type / relation type.  For instance "John" is an entity whose value for "address" is "new york", and whose value for "birth date" is "1978".
 
Record / Record Type:
  • Record is a general name for entities and relations, so both an entity and a relation can be called a record. 
  • Likewise record type is a general name for entity types and relation types.
 
4

Entity/Relation Types from Tables

 
 
Each entity type and relation type usually corresponds to at least one table.
 
Suppose we're loading an excel file which has a table called "Senators" containing a list of senators.  Each senator in the table has a name, state, party, and date of birth.  A second table called "Bills" contains a list of bills where each bill has a name, a senator sponsor, and senator cosponsors.
 
One entity type from one table: We can create an entity called Bill which will only appear in the "Bills" table. 
 
Multiple entity types from one table: Multiple entity types can be created from the same table.  For instance the "Senators" table can be used to create Senator, State and Party entity types.
 
One entity type from multiple tables: entity types and relation types can also combine information from multiple tables into a single type.  For instance Senators are mentioned in two tables.  The "Senators" table contains most information about senators.  Senators are also mentioned in the Bills table which specifies which senators introduced and cosponsored which bills.  We could also add a third table called "Senator Biography" which would contain a long description of each senator separate from our original "Senators" table.  All this information could be merged in a single senator entity type.
 
Fields and Attributes: Fields of a table become attributes of an entity type / relation type. 
  • Fields in a table used by an entity type / relation type can be ignored so that they do not become attributes.
  • An entity type / relation type that uses multiple tables can cause several fields that have the same name to be combined into a single attribute.
     
Schema: The end result produced by the Loading Wizard is a schema which describes how entity types and relation types are created from tables.
5

Dynamic Relation Types, Dynamic Attributes

 
 
Dynamic Relation Types: TouchGraph Navigator allows dynamic relation types to be created by combining existing relation types.  For instance a relation type between entity types A and B and a relation type between entity types B and C can be combined into a dynamic relation type between A and C.  These dynamic relation types do not directly correspond to any table in the data, though they are based on other relations types that do correspond to loaded tables.
 
Dynamic Attributes: TouchGraph Navigator can create dynamic attributes that do not directly correspond to any field.  For instance we can create a dynamic attribute called "friend #" for an entity type person that will keep track of how many friendship relations that person has.  Even though "fiend #" may not have been a field in a table we can still compute its value.
 
6

Graph, Nodes, Edges

 
 
Graph: The Graph visualization consists of Nodes and Edges which correspond to Entities and Relations.
 
Nodes: A node is visual representation of an entity in the graph.  A node is centered around a specific location of the screen.  It can have one or more of the following visual elements: a label, an image, a surrounding shape of a particular size, a tag or icon, colors for each of the preceding. The node's visual elements are derived from attributes of the entity.  For instance the label text is an attribute value and the size of the circular halo is proportional to another attribute value.
 
Edges: An edge is visual representation of a relation in the graph.  An edge is a line that connects two nodes.  It can have one or more of the following visual elements: a thickness, a dash pattern, an arrow, a tag, colors for each of the preceding. The edge's visual elements are derived from attributes of the edge.  For instance the thickness of an edge can be proportional to an attribute value.
 
7

GUI Tables, Info Panel

 
 
The TouchGraph Navigator GUI consists of a Table panel and an Info Panel which provide another way to look at Entities / Relations in addition to the Graph
 
GUI Tables: The Table Panel component lets the user select an entity type or relation type to be displayed in a GUI Table.  Entities and Relations are displayed as individual rows of a GUI Table.  The column headers of a GUI Table show the attribute types, and each row below the column header shows the values for those attributes.
 
Info Panel: The Info Panel above the Tables Panel shows a view of one entity or relation at a time.  The info panel contains html where each attribute and its value is shown as a paragraph.
 
8

Project File

 
 
Project file: a project file is a file with a .tgnp extension that stores all the properties of the visualization. 
The contents of a project file include:
  • The Schema
  • Settings (graph appearance and filter settings)
  • Graph layout, Node / Edge positions + Visibility, Colors
  • Selected Nodes
  • Table GUI layout,  Divider location between tables / graph, table column visibility, sort order