Semantic-based Geographical Matchmaking in Ubiquitous Computing