Enriching Traditional Databases with Fuzzy Definitions to Allow Flexible and Expressive Searches Victor Pablos-Ceruelo Susana Muñoz-Hernández susana@fi.upm.es Universidad Polité́cnica de Madrid, Spain
Outline Introduction Motivation Goal Database Fuzzification Approach FleSe tool Flexible Queries Syntax Friendly generic interface Conclusions
Outline Introduction Motivation Goal Database Fuzzification Approach FleSe tool Flexible Queries Syntax Friendly generic interface Conclusions
Outline Introduction Motivation Goal Database Fuzzification Approach FleSe tool Flexible Queries Syntax Friendly generic interface Conclusions
Available Crisp data price, age, temperature, distance, ...
Available Crisp data (update and maintenance) price, age, temperature, distance, ...
Available Crisp data (update and maintenance) price, age, temperature, distance, ... Crisp queries price < 200, temperature > 25, film_type=comedy, …
Available Crisp data (update and maintenance) price, age, temperature, distance, ... Crisp queries (limited) price < 200, temperature > 25, film_type=comedy, …
Real World Crisp data (update and maintenance) price, age, temperature, distance, ... Crisp queries (limited) price < 200, temperature > 25, film_type=comedy, … Fuzzy data cheap, expensive, fast, warm, cold, …
Real World Crisp data (update and maintenance) price, age, temperature, distance, ... Crisp queries (limited) price < 200, temperature > 25, film_type=comedy, … Fuzzy data (subjective) cheap, expensive, fast, warm, cold, …
Real World Crisp data (update and maintenance) price, age, temperature, distance, ... Crisp queries (limited) price < 200, temperature > 25, film_type=comedy, … Fuzzy data (subjective) cheap, expensive, fast, warm, cold, … Fuzzy queries very cheap, not expensive, quite old, ...
Real World Crisp data (update and maintenance) price, age, temperature, distance, ... Crisp queries (limited) price < 200, temperature > 25, film_type=comedy, … Fuzzy data (subjective) cheap, expensive, fast, warm, cold, … Fuzzy queries (expressive) very cheap, not expensive, quite old, ...
Desirable Crisp data (update and maintenance) price, age, temperature, distance, ... Crisp queries (limited) price < 200, temperature > 25, film_type=comedy, … Fuzzy world (subjective) cheap, expensive, fast, warm, cold, … Fuzzy queries (expressive) very cheap, not expensive, quite old, ...
Motivation Need to fill the gap between the crisp data (at most available databases) and the desirable fuzzy queries (natural at human mind of databases users)
Outline Introduction Motivation Goal Database Fuzzification Approach FleSe tool Flexible Queries Syntax Friendly generic interface Conclusions
Goal Provide for expressive queries: Syntax and semantics Search engine over crisp databases Automatic tools for databases owners to add fuzzy criteria about their data Generic web interface prototype for searching databases
Outline Introduction Motivation Goal Database Fuzzification Approach FleSe tool Flexible Queries Syntax Friendly generic interface Conclusions
From Crisp till Fuzzy data
From Crisp till Fuzzy data
Fuzzification of crisp data
Outline Introduction Motivation Goal Database Fuzzification Approach FleSe tool Flexible Queries Syntax Friendly generic interface Conclusions
Outline Introduction Motivation Goal Database Fuzzification Approach FleSe tool Flexible Queries Syntax Friendly generic interface Conclusions
FleSe: Flexible Searches FleSe is a framework that allows database owners to define fuzzy search criteria over their data database users to perform fuzzy queries in traditional crisp databases FleSe offers Web interface Parametric database selection Personalization of fuzzy search criteria
Technical details Tomcat server behind an Apache proxy Prolog database (plain text) Java interface Ciao Prolog System (free sw framework) RFuzzy package (over CLP(R))
RFuzzy Library Models Multi adjoint Logic Over Prolog (distributed computation, constraints, finite domains, ...) Sugar Syntax (fuzzy functions defs) Similarity Types Combine crisp and fuzzy information Incomplete information (default values, conditioned)
Extra expressive features Fencing modifiers Negation Personalized concepts Overloaded concepts
Outline Introduction Motivation Goal Database Fuzzification Approach FleSe tool Flexible Queries Syntax Friendly generic interface Conclusions
Queries examples
Query example
Query elements individuals comparison operators fuzzy concepts (restaurant, film, house, ...) comparison operators (equal, distinct, greater, less, similar, ...) fuzzy concepts (big, cheap, close to the beach, ...) fencer modifiers (quite, rather, much, very, little, ...) crisp concepts (prize, size, distance, food type, ...) values (30000, 3, mediterranean, comedy, ...)
Query syntax
Outline Introduction Motivation Goal Database Fuzzification Approach FleSe tool Flexible Queries Syntax Friendly generic interface Conclusions
Generic engine
Table selection
Crisp and Fuzzy concepts
Multi-criteria search
Results
Outline Introduction Motivation Goal Database Fuzzification Approach FleSe tool Flexible Queries Syntax Friendly generic interface Conclusions
Conclusions Query syntax Search flexible engine Prototype: FleSe tool Over traditional crisp databases Search flexible engine Based on constraints Prototype: FleSe tool User friendly interface General Personalized concepts
Conclusions Query syntax Search flexible engine Prototype: FleSe tool Over traditional crisp databases Search flexible engine Based on constraints Prototype: FleSe tool User friendly interface General Personalized concepts Serious attempt for feeling the gap to get expressive flexible searches
Enriching Traditional Databases with Fuzzy Definitions to Allow Flexible and Expressive Searches Victor Pablos-Ceruelo Susana Muñoz-Hernández susana@fi.upm.es Universidad Polité́cnica de Madrid, Spain