Links
Icon
Additional References
- To understand the Links concept, read the Basic Concepts and Entities chapters.
- Refer to the Modeling Guide chapter for basic modeling operations.
- For an in-depth examination of the built-in properties and behaviors of Links, refer to the relevant detailed chapters.
- For relational networks and how they interact with Agents, refer to the related content in the chapter on Interactions between Entities.
- Detailed guidelines and rules for customizing link behaviors are available in the Processes chapters.
- For a visual representation of the Link network, please see the Network Charts chapter.
Key Points
Understand the "network" as a collection of Link populations
- In a Link network, "nodes" correspond to Agent individuals, while edges correspond to Link individuals that connect pairs of Agents.
- There is no concrete "network" object within the system.
- Network "nodes" are not concrete objects but rather intersections representing the geometric relationship of the connection. In the network, individual agents merely occupy these node positions.
- Network edges are concrete Link objects. The built-in property,
Ends
stores the two endpoint Agent entity objects[start_agent_object, end_agent_object]
. - The Link population entails all the information about a "network," including its nodes and edges.
Relationship between Links and Other Objects
- If an individual agent is connected as a node in a network, destroying this individual (for example, if
agent_single_object.Die
is called) will also destroy the network node. All Links connected to that node will be destroyed as well. These changes will be reflected in the Network Charts. - If a network node is deleted (for example, if
link_observer.RemoveNode(agent_single_object)
is called), it will not affect the existence of the original agent that served as that node (which will still be visible in the WorldView Charts). However, the link entities related to the node will be destroyed, which will also be reflected in the Network Charts. - If a model lacks a Link component, any Link-related operations (such as creating Link) will trigger runtime errors.
- For information about built-in properties and built-in behaviors that depend on Link entities, refer to the table in the Detailed Specifications chapter.
Basic Settings for Links
Directivity
- You can choose whether a Link is unidirectional or bidirectional.
- The
Ends
built-in property of a Link is formatted as[start_agent_object, end_agent_object]
. When selecting a bidirectional Link, the order of agents is irrelevant.
Repeatable
-
Non-repeatable (default, set to
False
): When a Link is set to non-repeatable, two agent individuals can't have more than one link with the same directionality and instance population. Only one such link can exist between them. If an attempt is made to create another such Link during modeling, the system will ignore it.Example of a non-repeatable Link- Suppose there is a unidirectional, non-repeatable Link instance named LK1:
- If a unidirectional Link from Agent A to Agent B (A->B) already exists, you can create a reverse, i.e., a B->A unidirectional Link. In this case, two unidirectional relationships exist between the two Agents, belonging to the LK1 population.
- However, if you attempt to create another A->B LK1 Link, the system will ignore it. Hence, only one A->B LK1 Link remains.
- Suppose there is a unidirectional, non-repeatable Link instance named LK1:
-
Repeatable (set to
True
): Links with identical directional characteristics can exist multiple times, allowing you to create the same endpoint relationships repeatedly during modeling.Example of a repeatable Link- Suppose there is a bidirectional, repeatable Link instance named LK2:
- If a bidirectional link exists between Agents A and B, you can create another bidirectional link between Agents A and B. As a result, there will be two LK2 Links between Agents A and B.
- It is advised not to use repeatable Links unless you are experienced using them.
- Suppose there is a bidirectional, repeatable Link instance named LK2:
Individual Properties Settings
The setup methods are similar to those described in the Individual Properties Settings for Agents.
Example
Model Example
- In this model, there is an Agent population named Users. The individuals within this population randomly form links, creating a network.