BACKGROUND

Generally, a visualization is a way or a type of rendering to present data to a user. For example, a visualization may be a bar graph, a chart, a scatter plot, etc. When data from a data set is visualized or presented, such as by a visualization system, visualizations are often tightly coupled with the data set that is being presented. This means that a data set may be presented using merely one type of visualization. For example, when a data set is two-dimensional or 2-D, the data set may include one or more columns of data entries and one or more rows of data entries. The columns of the data set may represent features or fields, while the rows of the data set may correspond to records of those features or fields. However, as a data set is updated, such as when the number of rows or the number of columns changes, the generated visualization may no longer remain effective. That is, program code or source code for generating a visualization may follow assumptions related to a structure of the data set or a format of the data set. As a result, a visualization generated from this source code may be tightly coupled with the data set. In this way, data sets are often presented in a limited manner, such as by making certain assumptions about the structure of data, for example.

Data sets tend to be dynamic by nature because an incoming data set or a received data set can take many forms. As an example, a scatter plot is a type of visualization which can be used to represent data from a data set as one or more points in two-dimensional (2-D) space or three-dimensional (3-D) space. Scatter plot visualizations are capable of handling multi-dimensional data, but rely on data sets to be hierarchically arranged or hierarchically compared (e.g. one number being smaller than, equal to, or greater than another number). When a field of a data set is not hierarchically arrange-able or hierarchically comparable, scatter plot visualizations may not be as useful. In other words, if a new field (which is not hierarchically comparable) is added to a data set, the new field may ‘break’ an associated visualization. In other scenarios, the added field may be omitted or ignored by the visualization, thereby adding little or no value to the visualization. Similarly, if a previously available field is no longer available, the existing visualization may not function properly.

In some scenarios, a basic property of a field of a data set may change when new information or data is received, thereby changing properties of a data set. For example, data of a data set related to a graph of a social network (e.g., where the nodes of the graph represent entities or individuals and the edges of the graph represent connections or relationships between entities) may often change on the fly or on an ongoing basis. That is, new information about existing connection can become available, like someone owing money to another connected person, or one person being a mentor of another person, for example. In other scenarios, it may not be known what type of data will be received, such as a number of columns or fields, a number of rows or records, properties of the data set, etc.

The dynamic nature of data sets can be addressed by implementing a search. For example, if a visualization requires a field or field type, corresponding fields may be searched within the data set. This means that the visualization can be agnostic of the location of that particular field within the data set. In other words, the visualization can be independent of the location of a field in the data set. Additionally, a format of a data set may be changed (e.g., such as from an integer data type to a decimal data type) without necessarily compromising the meaning of the data set. Although some degree of flexibility can be achieved, these attempts merely adjust data sets to conform to requirements which are hard coded into the source code for generating visualizations.

BRIEF DESCRIPTION

This brief description is provided to introduce a selection of concepts in a simplified form that are described below in the detailed description. This brief description is not intended to be an extensive overview of the claimed subject matter, identify key factors or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.

One or more embodiments of intelligent data management are provided herein. A presentation can be realized based on properties of a data set (e.g., the number and type of fields or columns in the data set). A system for data presentation, data presentation system, or an intelligent data presentation system can visualize, render, or present data of a data set using a variety of schemes, formats, visualizations, or presentations based on one or more data set properties. Additionally, the data presentation system can detect one or more capabilities of a device (e.g., device capabilities) or one or more properties of a device (e.g., device properties) and render or select an appropriate presentation or visualization based on these capabilities or properties. Because the capabilities or properties of a device can be taken into account when selecting a presentation or visualization, presentations, renderings, or interfaces can be generated, selected, or presented in a more effective manner.

As an example, a pool of one or more presentations may be rendered or generated for a data set and a presentation may be selected or matched from the pool of presentations as a best fit for a device based on one or more device properties or one or more device capabilities. According to other aspects, a single presentation may be selected as a best fit for a device and be rendered or presented by the device. Here, the selection of the presentation can be based on one or more of the device properties, device capabilities, or data set properties. That is, in some scenarios, multiple presentations or a pool of presentations may be generated or selected, while one presentation may be generated (e.g., from a pool of available or possible presentations) in other scenarios.

As a result, presentations, interfaces, or renderings can be rendered or presented in a dynamic manner when a new type of data set or a new field of a data set is encountered or consumed. This means that different presentations can be presented in different scenarios, such as after a data set is changed or updated, or when a data set is accessed from different devices having different properties or capabilities. For example, when a user accesses his or her banking data on a first mobile device (e.g., mobile phone or smartphone), a first presentation may be presented, while a second presentation (e.g., different than the first presentation) may be presented when the user accesses the banking data on second mobile device (e.g., different than the first mobile device, such as having a different screen size, etc.). As another example, if a mobile device is associated with a data plan or has limited data usage or a slower network speed than another device, a first presentation presented on a mobile device may include high level information or be in text format, while a second presentation presented on a desktop computer may include more detailed information or have more graphical content or higher resolution content. In yet another example, a first presentation may be presented while a device is in a first mode (e.g., a vehicle in drive) and a second presentation may be presented while a device is in a second mode (e.g., a vehicle in park).

Further, a presentation may be selected based on potential interactions a user may have with the presentation. Similarly, potential interactions may be determined based on device capabilities, which may include capabilities enabled via peripherals attached to the device (e.g., a mouse, a motion sensor, an image capture device, etc.), and the like. In this way, data sets can be loosely coupled with presentations or visualizations. Data sets may be decoupled such that a data presentation system can dynamically select a proper, matching, or best fit presentation from a pool of presentations for a corresponding data set or a newly encountered data set having a new data set type according to one or more device properties.

The following description and annexed drawings set forth certain illustrative aspects and implementations. These are indicative of but a few of the various ways in which one or more aspects are employed. Other aspects, advantages, or novel features of the disclosure will become apparent from the following detailed description when considered in conjunction with the annexed drawings.

