Relational Data Mining and Inductive Logic Programming

Inductive logic programming, or ILP for short, is traditionally concerned with detecting patterns in data in form of logical programs (as Prolog code). Initially, ILP was used for the automatic program synthesis and is based on inductive inference in a subset of first order logic. However, ILP has been extended over time to cover a wider range of tasks, such as classification & regression, clustering, and pattern mining to name a few. ILP can be used to find patterns and hidden regularities in relational data. In contrast to traditional pattern mining assuming that the data is given in form of attribute-value based on a single relational table, relational data mining is able to analyse data in multi-relational form. That means that examples can possess a variable number of attributes, which can include other objects with properties. Within ILP these examples or objects can be described as Prolog programs. More specialized approaches use a more domain specific description of objects. This includes for examples approached for sequence and graph mining. Furthermore, research topics around inductive databases (link) build on parts on relational data mining.