Skip to main content
Documentation

Elements

Diafunc projects are built up of three types of elements: entities, links and events.
They are the basic building blocks: every construct in a project, however complex, is made of them.
linkEntityEntityEntityEntityEntityEntityEventEventEventEventEventEvent

Types

An element can have any type: a user-defined type whose meaning is specific to the project, or a predefined type that comes with additional platform features.
Predefined entity types are for example: notebook, function, model, scene, chart, ...
EntityEntityEventtypetypetypelink

Attributes

Elements can have any number of attributes. An attribute is a key-value pair, and attributes are the main way Diafunc stores information.
EntityEntityEventlinkattribute1 = valueattribute2 = valueattribute3 = valueattribute1 = valueattribute2 = valueattribute3 = valueattribute1 = valueattribute2 = valueattribute3 = valueattribute1 = valueattribute2 = valueattribute3 = value

Meta Attributes

Attributes may also have attributes, which are called meta attributes. They can be used to store information about particular attributes, for example: dimension, scale, description, visibility, ...
EntityEntityEventlinkattribute1 = value· metaAttribute1 = value· metaAttribute2 = value· metaAttribute3 = valueattribute1 = value· metaAttribute1 = value· metaAttribute2 = value· metaAttribute3 = valueattribute1 = value· metaAttribute1 = value· metaAttribute2 = value· metaAttribute3 = valueattribute1 = value· metaAttribute1 = value· metaAttribute2 = value· metaAttribute3 = value

Tags

Elements can be tagged. Tags can for example be used to semantically cluster elements or to attach additional information to them.
EntityEntityEventlinktag1, tag2, tag3tag1, tag2, tag3tag1, tag2, tag3tag1, tag2, tag3

Entities

Entities are the graph's nodes and the central information units at Diafunc: notebooks, functions, tables, models, charts and scenes are all entities. Their identification, predefined types and contents are covered in detail on the Entities page.

Links

Links connect entities and thereby build up the project graph. Each link is directed and links a source entity to a target entity, but the graph can be traversed in both directions, forward and backward.
A link is identified by its source entity, its target entity and a link id. Multiple parallel links between the same entities in the same direction can exist with different link ids.
SourceEntityTargetEntitylink id 1link id 2

Events

Events are short-lived information units. They can be fired by functions, can trigger function evaluations and are removed automatically once they have expired.
An event is always related to an entity. A global event can be related to the project entity, a specific event to the entity it concerns.
Events are identified by an entity and an event id. A particular event occurrence is additionally identified by its occurrence id, and multiple occurrences may exist for the same event id.
EntityEventEventEventEventEvent

What next?