Semantic Integration and Query Optimization of Heterogeneous Data Sources