1. A method performed by at least one computer processor, the method comprising: (A) obtaining, from a user, 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, from the user, 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 first query from the synonym of the first part of the sentence and the synonym of the second part of the sentence, comprising: (E)(1) selecting a first form for the first query, wherein the first form specifies a first one of the following sequences: subject, predicate, object; subject, predicate; subject, object; predicate, object; (E)(2) forming the first query in the first form the forming comprising: (E)(2)(a) if the first form specifies the sequence subject, predicate, object, then forming the first query to include a subject followed by a predicate followed by an object, wherein the subject, predicate, and object are selected from the first part of the sentence, the second part of the sentence, the synonym of the first part of the sentence, and the synonym of the second part of the sentence; (E)(2)(b) if the first form specifies the sequence subject, predicate, then forming the first query to include a subject followed by a predicate, wherein the subject and predicate are selected from the first part of the sentence, the second part of the sentence, the synonym of the first part of the sentence, and the synonym of the second part of the sentence; (E)(2)(c) if the first form specifies the sequence subject, object, then forming the first query to include a subject followed by an object, wherein the subject and object are selected from the first part of the sentence, the second part of the sentence, the synonym of the first part of the sentence, and the synonym of the second part of the sentence; and (E)(2)(d) if the first form specifies the sequence predicate, object, then forming the first query to include a predicate followed by an object, wherein the predicate and object are selected from the first part of the sentence, the second part of the sentence, the synonym of the first part of the sentence, and the synonym of the second part of the sentence; and (F) searching a dataset in memory using the first query to identify a first subset of the dataset; (G) providing, to the user, executed by the computer processor, output representing the subset of the dataset wherein the sentence differs from the first query.