OLAP4LD

From www.b-kaempgen.de
(Redirected from Olap4ld)
Jump to: navigation, search

OLAP4LD is an Open-Source OLAP engine on Linked Data that is programmed in Java and implementing the Open Java API for OLAP (olap4j).

Info

Longer description

  • Olap4ld is an OLAP engine on Linked Data, i.e., different from ROLAP engines such as Mondrian which use relational databases with star schemas for storing multidimensional data, olap4ld uses Linked Data technologies for accessing and storing multidimensional data.
  • Olap4ld is written in Java.
  • Olap4ld executes queries written in the MDX language, reads data from a triple store, and presents the results in a multidimensional format via a Java API (olap4j).

Quick facts

  • What is the relationship between olap4j and olap4ld: olap4ld implements olap4j. Therefore, an olap4ld driver can be used by any OLAP client that supports olap4j.
  • What is the relationship between olap4ld and the RDF Data Cube Vocabulary: olap4ld understands data that is published as Linked Data reusing widely-adopted Linked Data vocabularies such as RDF, SKOS, and particularly the W3C-standard for publishing multidimensional datasets, RDF Data Cube Vocabulary (QB).
  • What multidimensional data model does olap4ld use? It has adopted the multidimensional data model that olap4j uses, i.e., of data cubes, dimensions, measures, etc., see Olap4ld Metadata Schema.
  • How are queries represented and executed in olap4ld? We use a common OLAP algebra for operations over multidimensional datasets, see Olap4ld Query Execution.

Benefits of using olap4ld

How does it cost to build applications using OLAP4LD, compare to other QB visualizations? Costs should be less since either client (Saiku, JPivot, XMLA-server/XMLA4JS) or server (EmbeddedSesame, OpenVirtuoso...) implementations of olap4ld could be reused.

For client analysis application developers over Web-distributed multidimensional datasets

  • Since OLAP4LD implements the Open Java API for OLAP, olap4j, any olap4j-compliant client (illustrated at the top of the figure) such as Saiku and JPivot can provide a user interface on top of OLAP4LD. This is the same benefit as when using olap4j in general; a client application (user interface on top of olap4ld/olap4j drivers) will work on any olap4j / olap4ld driver.
  • Developers are motivated to create analytic applications that work on both olap4j drivers such as Mondrian and olap4ld drivers such as EmbeddedSesame. Such analytic applications profit from the high-level abstraction and standard API for analytical queries and from the possible performance optimisations provided by the OLAP server (e.g., aggregate views). Client developers do not need to think about Linked Data specificities if they use an olap4ld driver implementation.
  • In that sense, olap4ld is similar to Mondrian: implementations of olap4ld Linked Data Cubes Engines such as OpenVirtuosoEngine can be used to analyse data pre-processed in a triple store and implementations such as EmbeddedSesame can be used to analyse datasets published as Linked (Open) Data.
  • Therefore, as a OLAP4LD client developer one benefits from the metadata and analytical query abstraction and can concentrate on the interaction and visualisation part. As a consumer of QB datasets, one has only need to make sure that datasets are properly published for the Linked Data Cubes Engine used.

For developers of analytical engines over Web-distributed multidimensional datasets

  • In that sense, olap4ld is similar to olap4j: olap4ld is a common API for OLAP servers over Linked Data sources, so developers can build OLAP servers that can be used by various analytic applications developed for olap4j. Similar to developers of client tools, developers of OLAP servers profit from the high-level abstraction and standard API for analytical queries over Linked Data sources (this time, only provided by olap4ld).
  • Therefore, as a OLAP4LD Linked Data Cubes Engine developer one benefits from the metadata and analytical query abstractions and can concentrate on accessing and processing of Linked Data sources, e.g., retrieving data from distributed sources, entity consolidation, validation/normalisation, and updates.

More information