As described in the W3C RDF Data Cube Recommendation document data cubes are structurally well-formed if they comply to speciﬁc integrity constraints . Those constraints can be used to validate and if necessary to improve the quality of a data cube. For CubeViz, we translated those constraints into SPARQL queries using an ASK-clause returning boolean values. The queries were integrated into the Integrity Analysis Component of CubeViz, whose GUI is depicted in Fig. 3. If a query returns false, the corresponding constraint is marked in the GUI in red and can be selected in order to reuse and modify them with a conﬁgured query editor. This functionality supports the discovery of potential modelling or conversion ﬂaws.
Additionally, this component is used to introspect the selected RDF model for all included data cubes. If the introspection query (given in Listing 2) returns a positive result, the Faceted Data Selection and Chart Visualization components are activated.
Listing 2. Data cube introspection query.
Given that the introspection was successful, speciﬁc structural parts of the identiﬁed data cube are queried in order to create a faceted search interface. All components of a DSD have to be integrated into any observation of the respective DS. In order to discover those observations the user has to select values that are referenced by those components. First the user needs to select a DS of a data cube in order to analyse the DSD that is the basis for all further facets. Second the user has to select the measure and attribute property used to identify the representation of values. The last mandatory facet is used to oﬀer the selection of dimensions and its respective elements of interest. CubeViz is processing and visualizing values exactly as they are represented in the data cube and does not support aggregate functions such as SUM, AVG, MIN and MAX. As a consequence, users have to select at least one element of each dimension. Furthermore, if materialized slices are aggregated within the selected DS an optional facet will be generated to oﬀer a selection from the retrieved slices.
Fig. 3. GUI presenting results of the statistical and integrity analysis.
Generation of Dialogues
The detected facets and their generated GUI representations are integrated into a ﬁlter form. To select/deselect elements of facets for extracting subsets of the DS, respective interface elements are dynamically created. According to the type of facet (mandatory/optional) a conﬁgurable amount of elements (min/max) is selectable. Additionally, the label and textual description of components are retrieved using SPARQL queries and added to the interface. As illustrated in Fig. 4 the selected amount of facet elements is displayed after conﬁrmation. Already discovered RDF resources are cached on the client-side and will be re-used in the Chart Visualization component.
One of the major advantages of faceted exploration is the avoidance of possibly empty result sets. To avoid empty sets of observations after facet selection, the set of selectable elements of all further facets in combination with its respective count of observations is being calculated using respective SPARQL queries. Every selected combination of a component and its respective element is represented by a triple pattern that is conditionally used to retrieve the set of observations and all facet elements.
To lower the barrier of exploring a data cube from scratch, an initial pre-selection algorithm is started after a positive introspection. As described in Sect. 3.4 it is possible to integrate and conﬁgure charts visualizing one or multiple dimensions. The determined maximum amount of dimensions respectively chart axis is used
Fig. 4. Facets and dialogues.
as input for the pre-selection algorithm. After extracting all obligatory facets exactly one element per facet is pre-selected. According to the number of discovered dimensions and the maximum amount of processable chart axis, dimensions are randomly selected for which more than one element can be selected. To avoid confusing visualizations the amount of pre-selected elements is limited to 10 respectively 30 % of the set of elements. During manual selection these limits are not relevant.
-  w3.org/TR/vocab-data-cube/#wf-rules