onto.Person
Definition
Some classes may refer to people and these are usually asked using "who".
Examples
- "Who sold most car insurance policies in my agency?" means "Which employee sold ..."
- "Who asked the most questions yesterday?" means "Which user asked the most questions..."
Limitations
If you define multiple classes as People, it is harder for the AI agent to pick the one a "who" question refers to. The behavior can then feel inconsistent to users, e.g. a "who" question sometimes returns a customer, sometimes an employee.
Usage
For this to work, you will have to add an extends: onto.Person. Like this:
kb {
class User {
name.en: "User"
from_table: USERS
sql: "${USERS.USER_ID}"
name_sql.en: "${USERS.USER_NAME}"
// Make User extend a Person
extends: onto.Person
...
}
} Notice that sometimes your class will already be extending a concept from our ontology (onto). Many times this will already allow you to ask 'who' questions directly, e.g. for extends: onto.Employee or extends: onto.Customer.