A unified framework for flexible query answering over heterogeneous data sources