Entities
Entities are the central information units at Diafunc.
Identification
Each entity is identified by a project-wide unique entity id. By default UUIDs (v4) are generated automatically.
Entity Ids can be used to directly access entities. It's also possible to use custom ids to simplify access.
Entity Ids can be used to directly access entities. It's also possible to use custom ids to simplify access.
Types
Entities can be typed. Either custom types or predefined types may be used.
The predefined types provide additional support through the Function Development Kit (FDK) and functionalities at the user interface.
The predefined types provide additional support through the Function Development Kit (FDK) and functionalities at the user interface.
Predefined Types
| Entity Type | Description | FDK API |
|---|---|---|
| animation | Animation of a 3D visualization | |
| body | Physical body within a 3D scene | |
| canvas | Canvas for a 2D visualization | |
| chapter | Chapter of a notebook | |
| chart | Graphical representation of data | |
| class | Classification unit | |
| contents | Contents unit (Table of contents / TOC) | |
| directory | Cataloging structure which contains references to other entities | |
| drawing | Drawing at a canvas | |
| field | Set of points within a space (e.g. vector field in 3D space) | |
| file | Binary file | |
| function | Intelligent function to map the project graph | |
| heightMap | Height map for a terrain | |
| image | Two-dimensional image | |
| instance | Instance of a class | |
| layout | Layouting unit in a notebook | |
| message | Textual message for a scene | |
| metric | Numerical value | |
| model | Automated analysis model | |
| module | Logical unit | |
| notebook | Interactive computational notebook | |
| object | Independent information unit | |
| point | Point within a field | |
| project | Diafunc project (root entity of the project graph) | |
| scene | Particular 2D or 3D visualization | |
| sky | Sky within a 3D scene | |
| spacer | Spacing unit in a notebook | |
| table | Big data table for structured data | |
| terrain | Terrain within a 3D scene | |
| text | Textual output in a notebook | |
| texture | Texture for Terrains | |
| visualization | Visualization of some entities within a 3D scene |
Linking
Entities can be linked to one another. It's possible to have large amounts of links at each entity. There can also be multiple links between two entities in the same direction.
Events
Events can be fired by functions and can also trigger the evaluation of functions. Each event is always related to a particular entity.
Content
An entity can have any kind of binary content. The data can be of any size.
Notebook
Interactive computational notebooks allow to express data science in a modern way. It's possible to mix up data, logic and visualizations to describe ideas and concepts.
This kind of Literate Programming leads to reproducible research and open access in data science.

This kind of Literate Programming leads to reproducible research and open access in data science.

Function
Intelligent Functions are user-defined functions that can analyze and modify the project graph.


Table
Big Data Tables allow the utilization of large amounts of structured data.


Model
Automated analysis models automatically discover relationships and patterns.


Chart
Charts are graphical representations of data.


Scene
Scenes are particular visualizations in 2D or 3D. They can be viewed at the diafunc cockpit.

