who has/got the [param] [value]?
who is the one/guy/person with [param] [value]?
who is the one/guy/person with [value] being/as his/her [param]?
whose [param] is [value]?
who has the nickname boogie?
who got the nickname boogie?
whose nickname is boogie?
who is the guy with nickname boogie?
who is the guy with boogie as his nickname?
whose date of birth is 2018/12/19
whose military rank is general?
who is the [param] of [value]?
who is the owner of Google?
who is/was [param] [value]?
who is called boogie?
who is nicknamed boogie?
who was born on 2018/12/19?
who [param] [value]?
who owns Google?
who is a [value]?
who is a female?
who is a soccer player?
who is boogie? (this one does not have a)
who is [value]?
who is female?
who is left-handed?
who xxx and yyy?
who has the nickname BangBang and was born on 2018/12/19?
which [NPI] [NPI-value] ... ? (replace who with which [param] [value])
which owner of Google was born on 2018/12/19?
which [value] ... ? (replace who with which [value] )
which soccer player was born on 2018/12/19?
who ... with [NPP] (being) [NPP-value]?
who was born on 2018/12/19 with nickname BangBang?
who is a [APV-value] [NPV-value]?
who is a female soccer player?
who is a [APV-value] [NPI] [NPI-value]?
who is a female owner of Google?
who has/got the [param] [value] and the [param] [value]? (omit the second has/got)
who has nickname the admiral and military rank lieutenant?
who is (both) the [param] [value] and the [param] [value]? (omit the second is, and if the param is the same, omit the second param too)
who is both the owner of Google and (the owner of) Facebook?
who is the [NPI] [NPI-value] [PVP] [PVP-value]?
who is the owner of Google born on 2018/12/19?
Some questions are not easy to be composed using templates, here are some examples:
Implicit gender
who killed himself?
now => wikidata.person(), gender == enum(male) && manner_of_death == 'suicide'?
The parameter name is omitted, and at the same time the value might be very different from how people talk about it in natural language:
who was killed by someone? who was murdered?
now => @wikidata.person(), manner_of_death == 'homicide' => notify;
who was killed by an accident?
now => @wikdiata.person(), manner_of_death == 'accident' => notify;
who killed himself/herself? who suicided?
now => @wikidata.person(), manner_of_death == 'suicide' => notify;who is left-handed?
now => @wikidata.person(), handedness == 'left' => notify;
Two parameters combined in one noun phrase (this might be solved with qualifier)
who is the CEO of Google?
now => @wikidata.person(), employer == 'Google' && position_held == 'CEO' => notify;
Others
who is 7 feet tall?
who is left handed
Some questions require ThingTalk changes.
who is the CEO of Google?
now => @wikidata.person(), position_held == 'CEO' && position_held.of == 'Google' => notify;who was the owner of Google?
who is a student at Stanford?
who graduated from Stanford?
Who have two advisors?
now => @wikidata.person(), num_of(advisors) == 2 => notify;
who is an undrafted basketball player?
now => @wikdiata.person(), sport == 'basketball' && has(drafted) => notify;