Data Mining Query Language (DMQL) – For Knowledge Discovery

Free Machine Learning courses with 130+ real-time projects Start Now!!

In this Data Mining Tutorial, we will study Data Mining Query Language. As we will study every concept related to Query Language in Data Mining (DMQL), First we will study Query Language, Data Mining Query Language motivation and design.

Further, will learn the syntax for every task and specification. Moreover, we will cover standardization and Query Language purposes.

Introduction to Data Mining Query Language

It was proposed by Han, Fu, Wang, et al. for the DBMiner data mining system. Although, it was based on the structured Data Mining Query Language. These query languages are designed to support ad hoc and interactive data mining. Also, it provides commands for specifying primitives.

We can use Data Mining Query Language to work with databases and data warehouses as well. We can also use it to define data mining tasks. Particularly we examine how to define data warehouses and data marts in DMQL.

Motivation to Data Mining Query Language

It can provide the ability to support ad-hoc and interactive data mining.

Syntax of Data Mining Query Language

Syntax of DMQL for specifying task-relevant data

use database database_name


use data warehouse data_warehouse_name
in relevance to att_or_dim_list
from relation(s)/cube(s) [where condition]
order by order_list
group by grouping_list

Syntax – Specifying Kind of Knowledge

Syntax for Characterization, Discrimination, Association, Classification, and Prediction.

a. Data Mining Characterization

The syntax for characterization is −

mine characteristics [as pattern_name]
analyze {measure(s) }

Technology is evolving rapidly!
Stay updated with DataFlair on WhatsApp!!

The analyze clause, specifies aggregate measures, such as count, sum, or count%

b. Data Mining Discrimination

The syntax for Discrimination is −

mine comparison [as {pattern_name]}
For {target_class } where {t arget_condition }
{versus {contrast_class_i }
where {contrast_condition_i}}
analyze {measure(s) }

c. Data Mining Association

The syntax for Association is−

mine associations [ as {pattern_name} ]
{matching {metapattern} }

d. Data Mining Classification

The syntax for Classification is −

mine classification [as pattern_name]
analyze classifying_attribute_or_dimension

e. Data Mining Prediction

The syntax for prediction is −

mine prediction [as pattern_name]
analyze prediction_attribute_or_dimension
{set {attribute_or_dimension_i= value_i}}

Syntax – Concept Hierarchy Specification

We use the following syntax to specify concept hierarchies−

use hierarchy <hierarchy> for <attribute_or_dimension>

We use different syntaxes to define different types of hierarchies such as−

-schema hierarchies

define hierarchy time_hierarchy on date as [date,month quarter,year]

– set-grouping hierarchies

define hierarchy age_hierarchy for age on customer as
level1: {young, middle_aged, senior} < level0: all
level2: {20, …, 39} < level1: young
level3: {40, …, 59} < level1: middle_aged
level4: {60, …, 89} < level1: senior

-operation-derived hierarchies

define hierarchy age_hierarchy for age on customer
as {age_category(1), …, age_category(5)}
:= cluster(default, age, 5)< all(age)

-rule-based hierarchies

define hierarchy profit_margin_hierarchy on item as
level_1: low_profit_margin < level_0: all

if (price – cost)< $50
level_1: medium-profit_margin < level_0: all

if ((price – cost) > $50) and ((price – cost) ≤ $250))
level_1: high_profit_margin < level_0: all

Syntax – Interestingness Measures Specification

Interestingness measures and thresholds can be specified by the user with the statement −

with <interest_measure_name> threshold = threshold_value

Syntax – Pattern Presentation & Visualization Specification

We have a syntax, which allows users to specify the display of discovered patterns in one or more forms.

display as <result_form>

Data Mining Languages Standardization

This will serve the following purposes −

  • Basically, it helps the systematic development of data mining solutions.
  • Also, improves interoperability among multiple data mining systems and functions.
  • Generally, it helps in Promoting education and rapid learning.
  • Also, promotes the use of data mining systems in industry and society.

Purposes – Data Mining Query

Data Mining Queries are useful for many purposes are:

  • Apply the model to new data, to make single or multiple predictions. You can provide input values as parameters, or in a batch.
  • Get a statistical summary of the data used for training.
  • Extract patterns and rule of the typical case representing a pattern in the model.
  • Extract regression formulas and other calculations that explain patterns.
  • Get the cases that fit a particular pattern.
  • Retrieve details about individual cases used in the model. Also, it includes data not used in an analysis.
  • Retrain a model by adding new data, or perform cross-prediction.


As a result, we have studied Data mining Query Language for Knowledge Discovery and it’s all related concepts. Also, we have covered all syntax’s specification and standardization along with Query Language purposes.

I hope this blog will help you to understand the concept of Data Mining Query Language (DMQL). Furthermore, if you feel any query feel free to ask in a comment section.

Did we exceed your expectations?
If Yes, share your valuable feedback on Google

follow dataflair on YouTube

Leave a Reply

Your email address will not be published. Required fields are marked *