Skip to main content



Some classes may refer to people and these are usually asked using "who".


  • "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..."


If you define multiple classes as People, it may be harder for Veezoo to disambiguate. Also, it could be that the behavior is not very consistent for the users, e.g. sometimes I see a customer, sometimes an employee.


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.