In google's api.ai, to process such a sentence:
"What is John Doe's email?"
I create a prebuilt entity called "given-name" and "last-name" to get the name "John Doe"
How to do the same with Microsoft Bot Framework/Luis?
In Ms LUIS you need to add utterances base on your questions, and assign entity in that phrase. you can refer below links.
http://aihelpwebsite.com/Blog/EntryId/4/Creating-Intelligent-Web-Applications-With-LUIS
https://docs.microsoft.com/en-us/azure/cognitive-services/luis/home
I hope this answer will help you.
You don't do it with the Bot Framework, not directly. Bot Framework help you build your conversation flow but doesn't come with built-in NLU. You are likely to use LUIS (also luis.ai) which it supports natively and do your intent detection and entity extraction there. You can also consume your api.ai agent from the Bot Framework if you like. I did that to support a language that LUIS doesn't speak yet (more details - http://www.pveller.com/integrating-bot-framework-with-api-ai/)
UPDATE
Expanding on my comment. Here's how I approached extracting a contact
entity in one of my bot prototypes. These are JSON snippets from the exported LUIS model:
"entities": [
{
"name": "Contact"
}
],
"model_features": [
{
"name": "Contact",
"mode": true,
"words": "John Smith,John Doe,Mary Jay,Robin Smith",
"activated": true
}
],
"utterances": [
{
"text": "please email to john smith and robin smith",
"intent": "Email",
"entities": [
{
"entity": "Contact",
"startPos": 16,
"endPos": 25
},
{
"entity": "Contact",
"startPos": 31,
"endPos": 41
}
]
}
]