Olap4ld - Olap4j Driver Component

From www.b-kaempgen.de
Jump to: navigation, search

Interfaces between olap4j and Linked Data Engine in olap4ld

  • Asking a query, schematically:

Olap4ld olap query sequence diagram v2.png

Metadata queries

Analytical queries

Overview: Current olap4ld transformation pipeline

  1. MDX (SELECT ... ON COLUMNS .. ON ROWS WHERE)
  2. MDX Parse Tree
  3. Initial Logical Query Plan

How to get from MDX to Initial Logical Query Plan

  • Parse Tree is created by olap4j.
    • Select node
  • From Parse Tree to Initial Query Plan:
    • A cellset is created and the metadata from the parse tree retrieved.
      • cube <= Note, here, metadata queries to the cube and its elements are issued via Olap4ldDatabaseMetadata.executeMetadataRequestOnLdce(), e.g., to identify elements in the MDX query and to resolve functions such as Member().
      • COLUMN axis: columnPositions and columnHierarchies
      • ROW axis: rowPositions and rowHierarchies
    • An Initial Query Plan from the cellset metadata is created
      • BaseCubeOp - First, all metadata about the cube is transformed from olap4j metadata to List<Node[]> so that it can be inserted to Base-cube. We could also not have such parameters and have the Base-cube evaluator do that. In my opinion, Base-cube should do more, anyway: Load and validate one single data cube.
      • RollupOp - Contains all in MDX mentioned dimensions.
      • SliceOp - Contains all not in MDX mentioned dimensions.
      • DiceOp
      • ProjectionOp
      • DrillAcrossOp
  • OLAP cellset (cube, filter, hierarchies, positions, column, hierarchies, positions, row, hier, positions...)
  • OLAP query
    • OLAP query (cube, slicerrollups, dices, projections)
    • Initial Logical Query Plan
  • cellset Metadata (MetaData cube, filterAxisMetaData with axis and hierarchies, axisMetaData with axis and hierarchies, filter cell set axis with axis and filter positions, cell set axes with axis and positions)

CellSets

Cellset schematically.png