http://Ka.rsten-Winkler.de

 
 Home » hypKNOWsys » Project WUM » Syntax of MINT   E-Mail 

 

Syntax of the Mining Language MINT V1.2

A MINT query SELECTs a template containing a list of variables and wildcards. The variables must be bound to such values that the predicates in the whereClause are satisfied.

query ::= 'SELECT' selectList fromClause [whereClause]

Query structure: MINT V1.2 only supports the output of the template specified in the fromClause without further manipulation.

selectList ::= templateVar

Specifying the query template: A template consists of node variables and wildcards.

fromClause ::= 'FROM' nodeRef ',' templateRef
nodeRef ::= 'NODE' 'AS' nodeVar*
templateRef ::= 'TEMPLATE' template 'AS' templateVar
template ::= ['#'] [wildcards] (nodeVar [wildcards])*

The special symbol # denotes the beginning of a sequence. So the template a * b is different from # a * b, in that variable a may appear anywhere in the first template, while it must appear at the sequence beginning in the second template. The wildcards in MINT V1.2 can be annotated with constraints:

wildcards ::= '*' | '['low_boundary';'high_boundary']'

The wildcard * stands for zero or more events, if it appears by itself. If a constraint interval is used as a wildcard, the permissible number of events must belong to this interval. Note that the interval is closed at both ends. This means that infinity is a legal high boundary value. All elements of a template must be separated from each other using a blank space, e.g. # [0;1] a * b.

Introducing predicates: This is SQL-like syntax, but the queries are applied to groups of sequences.

whereClause ::= 'WHERE' condition ('AND' condition)*
condition ::= stringCondition | numericCondition
 
stringCondition ::= columnReference stringCompOp stringLiteral
columnReference ::= nodeVar '.' columnName
stringCompOp ::= '=' | '!=' | '>' | '>=' | '<' | '<=' |
'contains' | 'startswith' | 'endswith' |
'!contains' | '!startswith' | '!endswith'
 
numericCondition ::= numericReference numericCompOp numericLiteral
numericReference ::= columnReference |
'( ' columnReference numericOperator columnReference ' )'
numericCompOp ::= '=' | '!=' | '>' | '>=' | '<' | '<='
numericOperator ::= '+' | '-' | '*' | '/'

A numeric expression must involve at most two column references and must be linear. The columns currently supported are:

In the current version, numeric expressions involve at most two column references and are always linear. Column names and string operators must be typed in lower case letters.

For the following examples of MINT queries, consider this small demo web site:

After importing this access log file into WUM, the users' sessions (threshold: 30 min. maximum session duration) were determined and afterwards aggregated into this aggregated tree:

Have a look at the following example MINT queries:

Please make sure that your MINT queries conform to the following syntax rules:

 

 Top of the PageLegal Notice   December 3, 2004