A method of generating responses to a query performed by a system for generating responses to a query, the method comprising: receiving, via a virtual chatbot, a first query; automatically identifying a first entity for the first query; automatically accessing a knowledge graph associated with the virtual chatbot; automatically identifying, based on at least the first entity, a first key node in the knowledge graph; automatically performing a graph walk through a portion of the knowledge graph, the graph walk being constrained by at least the first key node, and characterized in that a graph walk is a semantic graph structure assessment to retrieve facts encoded within a graph and associated with a reachability and semantic structure of graph nodes, where reachability is the ability to get from one node to another within a graph; automatically retrieving, via the graph walk, a first result from the knowledge graph; automatically presenting, via the virtual chatbot, a first response to the first query based on at least the first result, wherein the method further comprises: automatically classifying the first query as at least a first query type; and selecting a path for the graph walk based in part on the first query type, wherein the first query type includes at least two clauses, and the method further comprises: automatically splitting the first query into at least a first clause and a second clause, wherein the first clause corresponds to a first sub-query and the second clause corresponds to a second sub-query; automatically retrieving, via the graph walk, a second result from the knowledge graph, wherein the first result represents a result for the first sub-query and the second result represents a result for the second sub-query; and automatically incorporating both the first result and the second result into the first response when presenting the first response. receiving, via a virtual chatbot, a first query; automatically identifying a first entity for the first query; automatically accessing a knowledge graph associated with the virtual chatbot; automatically identifying, based on at least the first entity, a first key node in the knowledge graph; automatically performing a graph walk through a portion of the knowledge graph, the graph walk being constrained by at least the first key node, and characterized in that a graph walk is a semantic graph structure assessment to retrieve facts encoded within a graph and associated with a reachability and semantic structure of graph nodes, where reachability is the ability to get from one node to another within a graph; automatically retrieving, via the graph walk, a first result from the knowledge graph; automatically presenting, via the virtual chatbot, a first response to the first query based on at least the first result, wherein the method further comprises: automatically classifying the first query as at least a first query type; and selecting a path for the graph walk based in part on the first query type, wherein the first query type includes at least two clauses, and the method further comprises: automatically splitting the first query into at least a first clause and a second clause, wherein the first clause corresponds to a first sub-query and the second clause corresponds to a second sub-query; automatically retrieving, via the graph walk, a second result from the knowledge graph, wherein the first result represents a result for the first sub-query and the second result represents a result for the second sub-query; and automatically incorporating both the first result and the second result into the first response when presenting the first response. automatically classifying the first query as at least a first query type; and selecting a path for the graph walk based in part on the first query type, wherein the first query type includes at least two clauses, and the method further comprises: automatically splitting the first query into at least a first clause and a second clause, wherein the first clause corresponds to a first sub-query and the second clause corresponds to a second sub-query; automatically retrieving, via the graph walk, a second result from the knowledge graph, wherein the first result represents a result for the first sub-query and the second result represents a result for the second sub-query; and automatically splitting the first query into at least a first clause and a second clause, wherein the first clause corresponds to a first sub-query and the second clause corresponds to a second sub-query; automatically retrieving, via the graph walk, a second result from the knowledge graph, wherein the first result represents a result for the first sub-query and the second result represents a result for the second sub-query; and automatically incorporating both the first result and the second result into the first response when presenting the first response.