# Difference between revisions of "Importing a Pajek Graph"

(→Contributors:) |
(→Multi-Population Pajek Graph Example) |
||

(39 intermediate revisions by 5 users not shown) | |||

Line 1: | Line 1: | ||

− | == | + | ==Multi-Population Pajek Graph Example== |

− | |||

− | + | This page is about the new '''Pajek''' format which is used in STEM releases since version 1.4.0 and in current milestone and integration builds. The old format that was used prior to 1.4.0 is still supported. Examples and documentation of the old format are available at the website download page for [http://www.eclipse.org/stem/download_sample.php?file=MultiPopulationExample_PajekGraphs.zip Multi-Population Pajek Graph Example]. | |

− | + | ||

− | + | ||

− | === | + | == File Format == |

− | + | ||

− | + | STEM allows users to create a custom graph using a format similar to the '''Pajek''' ([http://vlado.fmf.uni-lj.si/pub/networks/pajek/]) format. The PajekNetGraphGenerator, which is available in the graph creation dialogue of STEM, can create user-defined graphs for STEM and is based on this format. | |

− | + | The format specification is as follows. | |

− | + | ||

− | + | ||

− | + | ||

− | + | ||

+ | *Vertices [number of nodes] | ||

+ | [node number] [node name] [longitude] [latitude] [additional optional parameters] // spec for a new node | ||

+ | [node number] [node URI] // spec for reference to existing node | ||

+ | ... | ||

+ | *Edges | ||

+ | [origin node number] [destination node number] popID [populationID] rate [rate] // spec for migration edges | ||

+ | [containing node number] [contained node number] // spec for containment edges | ||

+ | ... | ||

− | == | + | == Node Format == |

− | + | ||

− | + | ||

− | + | ||

− | + | ||

− | + | ||

− | + | ||

− | == | + | |

− | + | ||

− | + | The keyword "*Vertices [number of nodes]" is the starting point for the nodes section. New nodes and references to existing nodes can be defined. The formats are as follows. | |

− | + | === New Node === | |

− | + | '''[node number] [node name] [longitude] [latitude] [optional parameters]:''' | |

+ | *node number – unique node number (1, 2, 3, ...). Successive numbering of nodes is obligatory. | ||

+ | *node name – unique name consisting of letters a..zA..Z and digits 0..9. | ||

+ | *longitude, latitude – coordinates of the node. All values can be entered, but real world coordinates are: -180 <= longitude <= 180, 0 <= latitude <= 90. | ||

− | + | '''Optional parameters:''' | |

+ | *popID – identifier of a population of the node. This parameter may be used repeatedly. | ||

+ | *popCount – number of individuals living in the node. This parameter may be used repeatedly. The associated popID is the last mentioned one. | ||

− | + | '''Example:''' | |

− | + | 1 Berlin 13.398889 52.500556 popID men popCount 1682900000 popID women popcount 1753500000 | |

− | + | ||

− | * | + | === Node Reference === |

+ | '''[node number] [node URI]:''' | ||

+ | *node number – unique node number (1, 2, 3, ...). Successive numbering of nodes is obligatory. | ||

+ | *node URI – URI of the node in STEM. If the URI starts with ''stem://org.eclipse.stem/node/geo/region/'', this prefix can be omitted. | ||

− | + | '''Examples:''' | |

+ | 1 stem://org.eclipse.stem/node/geo/region/FR-IF | ||

+ | 1 FR-IF | ||

− | + | == Edges Format == | |

− | + | The keyword "*Edges" is the starting point for the edges section. Two types of edges can be described; they are migration edges and containment edges. The formats are as follows. | |

− | === | + | === Migration Edges === |

− | * | + | '''[origin node number] [destination node number] popID [populationID] rate [rate]:''' |

+ | *origin node number – number of the node the population migrates from. Has to be defined as node number in *Vertices. | ||

+ | *destination node number – number of the node the population migrates from. Has to be defined as node number in *Vertices. | ||

+ | *populationID – defines the ID of the migrating population. | ||

+ | *rate - number population members migrating per day. | ||

− | * | + | '''Optional parameters:''' |

+ | *date - specification a of date at which the migration rate is different from the standard value specified in the obligatory parameters. ISO 8601 standard is used (YYYY-MM-DD). This parameter may be used repeatedly. | ||

+ | *rate - migration rate for the specified date. This parameter may be used repeatedly. The associated date is the last mentioned one. | ||

− | + | '''Example:''' | |

− | + | 1 2 popID beef rate 1.0 date 2012-01-01 rate 10.0 | |

− | === | + | === Containment Edges === |

− | + | '''[containing node number] [contained node number]:''' | |

+ | *containing node number – number of the node that contains the other node. Has to be defined as node number in *Vertices. | ||

+ | *contained node number – number of the node that is contained by the other node. Has to be defined as node number in *Vertices. | ||

− | + | '''Example:''' | |

− | + | ||

− | + | ||

− | + | *Vertices 3 | |

+ | 1 Berlin 1 1 popID men popCount 100 popID women popCount 110 | ||

+ | 2 Bonn 1.5 1 popID men popCount 100 popID women popCount 110 | ||

+ | 3 Germany 1.2 1.2 | ||

+ | *Edges | ||

+ | 1 2 popID men rate 0.1 | ||

+ | 2 1 popID women rate 0.2 | ||

+ | 3 1 | ||

+ | 3 2 | ||

− | + | Running the downloadable pajek scenario the map view should appear as shown below. | |

− | + | [[Image:STEM_PajekExample.png|600px]] | |

− | |||

− | |||

− | == | + | == Using the dialog == |

+ | [[Image:STEM_PajekDialog.png|right|300px]] | ||

+ | The dialog to import a Pajek graph from a file is shown on the right. It is available in the STEM Graph Dialog. The following parameters are available for importing. | ||

+ | *Pajek File - The file from which the graph is imported. A file dialog is available to select the file. | ||

+ | *Scaling Factor - A factor by which all coordinates specified in the file are scaled during import. If node has the coordinates 10.0/20.0 in the file and the scaling factor is 2.0, the node's resulting coordinates in STEM are 20.0/40.0. | ||

+ | *Node Size - In STEM each imported node appears as a square for visualization. This parameter specifies the edge length of the squares for all imported nodes. | ||

+ | *Use global Region Names - If selected, the URIs for the imported nodes will be of the type ''stem://org.eclipse.stem/node/geo/region/*****''. This has the advantage, that the nodes can be accessed by just using that last part of the URI ''*****''. This option should only be used if node names specified in the Pajek file are unique and do not occur in other STEM graphs. If not selected, the node URIs will contain the graph's URI. | ||

+ | *Move Nodes to Containers - If selected, all nodes that are contained by another node from a different graph will be moved close to this container. That means that coordinates specified for these nodes in the Pajek file will be ignored. | ||

+ | == Tutorial == | ||

− | + | A tutorial on how to import a Pajek graph that contains discrete migration events for a STEM graph is available at [[STEM Import Discrete Transportation Events|Import Discrete Transportation Events]]. Discrete events can be used to model commodity flows, e.g. the transportation of beef from slaughterhouses to supermarkets in order to model the spread of a foodborne disease. | |

− | + | == Contributors == | |

− | + | ||

+ | The PajekNetGraphGenerator was created and developed by the Department of Biological Safety of the Federal Institute for Risk Assessment in Germany. | ||

+ | |||

+ | Armin A. Weiser, Matthias Filter, Christian Thöns | ||

+ | Dept. Biological Safety | ||

+ | Federal Institute for Risk Assessment | ||

+ | 12277 Berlin | ||

+ | Germany |

## Revision as of 12:53, 19 September 2013

## Contents

## Multi-Population Pajek Graph Example

This page is about the new **Pajek** format which is used in STEM releases since version 1.4.0 and in current milestone and integration builds. The old format that was used prior to 1.4.0 is still supported. Examples and documentation of the old format are available at the website download page for Multi-Population Pajek Graph Example.

## File Format

STEM allows users to create a custom graph using a format similar to the **Pajek** ([1]) format. The PajekNetGraphGenerator, which is available in the graph creation dialogue of STEM, can create user-defined graphs for STEM and is based on this format.
The format specification is as follows.

*Vertices [number of nodes] [node number] [node name] [longitude] [latitude] [additional optional parameters] // spec for a new node [node number] [node URI] // spec for reference to existing node ... *Edges [origin node number] [destination node number] popID [populationID] rate [rate] // spec for migration edges [containing node number] [contained node number] // spec for containment edges ...

## Node Format

The keyword "*Vertices [number of nodes]" is the starting point for the nodes section. New nodes and references to existing nodes can be defined. The formats are as follows.

### New Node

**[node number] [node name] [longitude] [latitude] [optional parameters]:**

- node number – unique node number (1, 2, 3, ...). Successive numbering of nodes is obligatory.
- node name – unique name consisting of letters a..zA..Z and digits 0..9.
- longitude, latitude – coordinates of the node. All values can be entered, but real world coordinates are: -180 <= longitude <= 180, 0 <= latitude <= 90.

**Optional parameters:**

- popID – identifier of a population of the node. This parameter may be used repeatedly.
- popCount – number of individuals living in the node. This parameter may be used repeatedly. The associated popID is the last mentioned one.

**Example:**

1 Berlin 13.398889 52.500556 popID men popCount 1682900000 popID women popcount 1753500000

### Node Reference

**[node number] [node URI]:**

- node number – unique node number (1, 2, 3, ...). Successive numbering of nodes is obligatory.
- node URI – URI of the node in STEM. If the URI starts with
*stem://org.eclipse.stem/node/geo/region/*, this prefix can be omitted.

**Examples:**

1 stem://org.eclipse.stem/node/geo/region/FR-IF 1 FR-IF

## Edges Format

The keyword "*Edges" is the starting point for the edges section. Two types of edges can be described; they are migration edges and containment edges. The formats are as follows.

### Migration Edges

**[origin node number] [destination node number] popID [populationID] rate [rate]:**

- origin node number – number of the node the population migrates from. Has to be defined as node number in *Vertices.
- destination node number – number of the node the population migrates from. Has to be defined as node number in *Vertices.
- populationID – defines the ID of the migrating population.
- rate - number population members migrating per day.

**Optional parameters:**

- date - specification a of date at which the migration rate is different from the standard value specified in the obligatory parameters. ISO 8601 standard is used (YYYY-MM-DD). This parameter may be used repeatedly.
- rate - migration rate for the specified date. This parameter may be used repeatedly. The associated date is the last mentioned one.

**Example:**

1 2 popID beef rate 1.0 date 2012-01-01 rate 10.0

### Containment Edges

**[containing node number] [contained node number]:**

- containing node number – number of the node that contains the other node. Has to be defined as node number in *Vertices.
- contained node number – number of the node that is contained by the other node. Has to be defined as node number in *Vertices.

**Example:**

*Vertices 3 1 Berlin 1 1 popID men popCount 100 popID women popCount 110 2 Bonn 1.5 1 popID men popCount 100 popID women popCount 110 3 Germany 1.2 1.2 *Edges 1 2 popID men rate 0.1 2 1 popID women rate 0.2 3 1 3 2

Running the downloadable pajek scenario the map view should appear as shown below.

## Using the dialog

The dialog to import a Pajek graph from a file is shown on the right. It is available in the STEM Graph Dialog. The following parameters are available for importing.

- Pajek File - The file from which the graph is imported. A file dialog is available to select the file.
- Scaling Factor - A factor by which all coordinates specified in the file are scaled during import. If node has the coordinates 10.0/20.0 in the file and the scaling factor is 2.0, the node's resulting coordinates in STEM are 20.0/40.0.
- Node Size - In STEM each imported node appears as a square for visualization. This parameter specifies the edge length of the squares for all imported nodes.
- Use global Region Names - If selected, the URIs for the imported nodes will be of the type
*stem://org.eclipse.stem/node/geo/region/******. This has the advantage, that the nodes can be accessed by just using that last part of the URI*******. This option should only be used if node names specified in the Pajek file are unique and do not occur in other STEM graphs. If not selected, the node URIs will contain the graph's URI. - Move Nodes to Containers - If selected, all nodes that are contained by another node from a different graph will be moved close to this container. That means that coordinates specified for these nodes in the Pajek file will be ignored.

## Tutorial

A tutorial on how to import a Pajek graph that contains discrete migration events for a STEM graph is available at Import Discrete Transportation Events. Discrete events can be used to model commodity flows, e.g. the transportation of beef from slaughterhouses to supermarkets in order to model the spread of a foodborne disease.

## Contributors

The PajekNetGraphGenerator was created and developed by the Department of Biological Safety of the Federal Institute for Risk Assessment in Germany.

Armin A. Weiser, Matthias Filter, Christian Thöns Dept. Biological Safety Federal Institute for Risk Assessment 12277 Berlin Germany