Hi Charith,
In general, I partition this into three parts.
If you have entities which are well-known a priori (e.g., from an ontology) then add those as part of the initial "backbone" of a graph.
Then take your structured data and run entity resolution to generate the nodes, edges, properties for adding more to this "backbone", as kind of semantic overlay. It may link to data records as other nodes in the graph, or link via foreign keys to other data stores.
The third category is for unstructured data, where typically there features needed for entity resolution aren't consistent enough. Instead leverage named entity recognition to extract and label noun phrases, then use relation extraction to label the links between co-occurring extracted entities. If you've run entity resolution earlier on structured data, then it's possible to reuse the ER results (which resemble a "thesaurus" or asset such as WordNet) to train an entity linker. In this case, the NER results will get linked automatically to well-known entities already in the "backbone" of the graph.