Semantic Knowledge Discovery from Heterogeneous Data Sources