In order to extract observations according to user interests, ﬁlter criteria from the facet selection component are translated into a corresponding SPARQL query. The resulting set of observation resources is serialized in JSON and sent back to the client. On the client-side the result set will be analysed according the amount of disjunctive dimensions and the respective amount of elements in order to select suitable charts. After identifying suitable chart implementations the ﬁrst one is launched and renders the visualization using the received set of observations. All further suitable charts can be selected using a respective GUI element without querying the observations again.
CubeViz comprises an abstraction layer to mediate between the retrieval of observations and the APIs used to generate and visualize charts. Currently, charts such as pie, bar, column, line and polar chart are implemented using the APIs Data Driven Documents (D3js) and HighCharts. Every chart is implemented using a deﬁned interface and comprises a mechanism to convert the set of observations in combination with the meta data about dimension properties into the chart-speciﬁc input format.
Most of the implemented chart visualizations can be adjusted using preconﬁgured chart options. Hence, it is possible to enable the display of measure values in addition to its graphical representation, to switch axis / dimensions, to switch the value scale between linear and logarithmic or to enable a normal or percentage stacking. Additionally it is possible to combine charts such as a polar chart with a column chart (see Fig. 2).
On the Linked Data Web, URIs are used to identify resources. In a domainagnostic tool such as CubeViz, it is not feasible to integrate static mappings between data items and their graphical representations. Most of the chart APIs have a limited amount of pre-deﬁned colors used for colouring dimension elements or select colors completely arbitrarily. In order to display dimension elements in a deterministic manner and to support users to quickly recover selected elements in diﬀerent charts we integrated a colouring algorithm that uniquely assigns URIs of each dimension element corresponding RGB color codes.
Below the generated charts an additional tabular representations of the selected data items is given (cf. Fig. 5). On the one hand they can be used as legend containing additional meta data. On the other hand this view oﬀers support for resolving data inaccuracies with functionality for editing values, that automatically updates the chart representation.
After exploring, conﬁguring and possible adaption of values users are able to share the created output. Sharing functionality is implemented via a button, which triggers the gathering of all information necessary to reproduce the created output, storing them server-side and returning a shareable link containing an identifying hash code for the particular view conﬁguration. Furthermore, it is possible to export selected data as CSV and RDF in Turtle notation.
Fig. 5. Interactive CubeViz legend.