1. A system for searching through a corpus by using a query, the corpus comprising a plurality of items, and the system comprising: a first computer hosting a server node, the first computer comprising a processor and a non-transitory memory to store instructions; and a second computer hosting a user interface node in communication with the first computer, wherein the second computer is configured to receive a first query input and to transmit the first query input to the first computer; wherein the processor executes the instructions to: use the received first query input to determine a first search term corresponding to a subject of the query and to prompt a user for entry of a second query input after receiving the first query input, by causing first known relationships corresponding to the first search term to be listed, wherein the subject corresponds to a class type, property, name, or literal that matches the first query input; use the received second query input to determine a second search term corresponding to a predicate of the query and to prompt the user for entry of a third query input, after receiving the second query input, by causing second known relationships corresponding to the second search term to be listed, wherein the predicate is one of the first known relationships corresponding to the first search term; use the received third query input to determine a third search term corresponding to an object of the query, wherein the object corresponds to a class type, person, or location within a range of the second search term; use the first, second, and third search terms to determine a contextual relationship therebetween; and use the query formed by the first, second, and third search terms and the determined contextual relationship to perform a first comparison against the corpus to determine a ranked list of results.