Skip to content

Types of Objects in Rose

There are three basic types of data in Rose: Timeseries, Maps, and Logic. This section will explain the differences, use cases, and how these types of data interact.


As the name implies, a timeseries is two-dimensional dataset with one dimension being time. In Rose, we visualize timeseries as a line chart with the x-axis being time and the y axis dependent on the units of the underlying data.


Map, our term for table. Maps are the most versatile data structure in Rose. They can contain almost anything (including timeseries and other maps) and can be a powerful tool for bulk data transformations, aggregating rosecodes, and as a crosswalk between concepts (example: "United States of America" to "usa").

See also: Simple Map Transformations


In Rose, you can think of Logic as an assignment operator. They can be used to rename complex transformations to simple rosecodes.

In a code module <>, all you have to type is:

new.rosecode = old.rosecode

The can be more than just a timeseries, it can be a dataset with functions called on it, or even other logic objects.

The new rosecode then keeps track of all the underlying data and transformations.

Central to Rose is the idea of Logic trees (visible by clicking the "Explore Tree" button in any visualization), which trace the provenance of your data, facilitating reproducible, transparent analyses.

See also: Trees and Logic


Lastly, there is customizable metadata associated with timeseries and maps (visible as a popup by clicking "Details" in any visualization). The metadata is a useful way to track additional data that is relevant but not critical to your data. Metadata is also a two-dimensional dataset, with user created key-value pairs.

Suggested fields to include in your metadata:

  • Data source
  • Link to data source
  • Detailed description of data
  • Data units
  • Data owner


Actors are simply users on the Rose platform.