Retrieving information from heterogeneous freight data sources to answer natural language queries