Implementing Semantic Join Operators Efficiently