The knowledge graph consists of integrated collections of data and information that also contains huge numbers of links between different data. The data here can represent concepts, objects, things, people and actually whatever you have in mind. The graph fills in the relationships, the connections between the concepts.
Knowledge graphs also allow you to create structures for the relationships in the graph. With it, it’s possible to set up a framework to study data and its relation to other data.
The first stop on your journey starts with Natural language processing, Ontologies and Text mining. It is a wide field of artificial intelligence, you can take reference from here for a research survey on this field.
You can also take reference from the following link: knowledge-graph
Building models is only the first step, the most difficult part of Google's knowledge graph is to actually scale to billions of requests each day. If you want to keep your data as a graph, as in graph theory (like PageRank), for live querying, I suggest you use Bulbs which is a framework which is "Like an ORM for graphs, but instead of SQL, you use the graph-traversal language Gremlin to query the database". You can switch the backend from Neo4j to OpenRDF (useful if you do ontologies) for instance.
For graph analytics, you can use Spark, GraphX module or GraphLab.
I hope this answer helps.
To know more about knowledge graph by going through this online Artificial Intelligence course.