1. A method performed by at least one computer processor, the method comprising: (A) obtaining first data representing a first part of a sentence, wherein the first part of the sentence comprises a first one of a subject, a predicate, and an object; (B) obtaining second data representing a second part of the sentence, wherein the second part of the sentence comprises a second one of the subject, the predicate, and the object; (C) identifying a synonym of the first part of the sentence; (D) identifying a synonym of the second part of the sentence; (E) forming a query from the synonym of the first part of the sentence and the synonym of the second part of the sentence; and (F) searching a dataset using the query to identify a subset of the dataset.