Skip to Content

Entrysets

Storing and Manipulating Tabular Data

This article explains the basics of entrysets, Proto’s tabular data structure.

Introduction

An entryset is the structure used to group data in an orderly arrangement in Proto. Instead of modules only being able to send and receive messages containing a single piece of data, multiple pieces of data can be stored together as an entryset which can then be transmitted between modules and processed as a single message. Once stored in an entryset, data can be filtered, edited, visualized, processed, shared and saved.

Certain modules, such as Entryset Generator, produce entrysets according to their inputs and settings. Others, such as Entryset Filter and Entryset Module, can edit their contents, and still others, such as XY Graph can display them in the Viewer.

Entries and Attributes

The structure of an entryset can be thought of as a table of data similar to a spreadsheet. In an entryset each column is referred to as an “attribute” and each row is referred to as an “entry.” Each of an entryset’s attributes specify a space where an entry can store a piece of data. For example, an entryset could have the following attributes: “Sale Date,” “Salesperson,” and “Revenue.” In this entryset, every entry can store three pieces of data, one for each attribute (“3/21/05”, “Jason”, and “5000”, for example). Each attribute has a unique name as well as an order defined by its index value. Entries are designated and ordered only according to their current index value.

Data Types in Entrysets

Any data type can be stored in a single cell in an entryset. However, some input connectors that accept entrysets also require certain attributes to contain specific data types. For example, the XY Graph requires an entryset with two attributes (the x- and y-coordinate of each entry), but the second attribute must contain only numbers. In other cases it may be important to distinguish which data type an attribute contains in order for it to be processed correctly. If you are sorting entries according to an attribute containing the values “July” and “August”, the ordering will depend on whether the data is treated as text, which would be ordered alphabetically, or dates, which would be ordered temporally.

Proto does not restrict the data types that an entryset can contain. Instead, an entryset tracks updates to its data and, for each attribute, maintains a list of the data types that all data in that attribute can convert to. Refer to the data types article for more information about the conversion capabilities of specific data types. However, it is possible to set a type restriction for an attribute when an entryset is generated or in the Table’s Property Panel. In that case, any incompatible data will not be accepted by the entryset for that attribute.

Saving, Loading and Storing Entrysets

An important function of entrysets is their ability to archive data for storage and reuse in multiple custom modules and amongst multiple users. A ProtoDB is an interface for saving, sharing, and reusing entrysets. Essentially, a ProtoDB is just an entryset stored on the hard disk drive. ProtoDBs are stored in a repository and can be specified as either personal or shared. If a ProtoDB is shared other Proto users in the same workgroup can access the ProtoDB in their custom modules. The ProtoDB Writer enables you to store entrysets, or append, delete, and update entries in an already stored entryset. The ProtoDB Reader accesses entrysets from stored ProtoDBs.