1. A computer implemented method comprising: receiving category data specifying a subject matter category of a search query; providing user interface data to a client device, wherein the user interface data causes the client device to present an interactive user interface tool that allows a user of the client device to select graph search elements to generate a graph search query, wherein providing user interface data to the client device comprises: selecting a proper subset of graph search elements from a set of graph search elements based on the category data, wherein the user interface data causes the client device to present the interactive user interface tool that allows the user of the client device to select from among graph search elements in the subset of graph search elements; receiving, from the client device, a graph search query specifying user-selected graph search elements selected and arranged by a user to form a user-constructed graph, each graph search element corresponding to one of a graph node or a graph edge connecting graph nodes and representing relationships between the graph nodes, the graph search query specifying at least two graph nodes and at least one graph edge connecting the at least two graph nodes; generating graph search query metadata representing the graph search elements of the graph search query and relationships of the graph search elements of the graph search query; comparing the graph search query metadata to content metadata sets, wherein each content metadata set represents content elements of a content item presented on a respective web resource and relationships of the content elements; determining similarity scores between the content metadata sets and the graph search query metadata based on the comparison; and selecting one or more of the web resources on which the content items are presented based at least in part on the similarity scores of the respective content metadata sets.