Phase 1 - Knowledge capture work
In this task you will work with the data.world team on analyzing your questions, understanding what the ontology should be, and identifying the mappings. The three personas - SME, Data expert, Knowledge engineer - are involved and the knowledge engineer drives the discussion. No implementation work happens in this phase. It is all about analyzing questions and understanding what the ontology should and be and what relationship mappings will need to be delivered.
TASK 1: Analyze the questions
Discuss and analyze the questions you prepared as a prep task. Take a question and also break it down into smaller pieces. So one question becomes multiple smaller ones.
This helps remove any ambiguity and make sure all users involved setting up AI Context Engine are aligned.
Identify the CARs in the question: Concepts, Attributes and Relationships (CARs) that are associated with Concepts.
Analyze and ensure that the identified business glossary for the questions is already in data.world. If not, create it.
TASK 2: Understand the ontology requirements
Understand the CARs as an ontology. It is all about understanding and categorizing things and their relationships.
The ontology should be made to model the identified questions.
Start small to lay a strong foundation, ensuring clarity and precision, and facilitating incremental growth. Start with one concept and two attributes, and get a single question working. As an example, in a question What are the Top states by total orders? the class will be “Orders”, and attributes “total order” and “State”. The reason for doing this is:
You aim to demonstrate a successful end-to-end process; showing you can pose a question and receive an answer.
Starting small allows for effective collaboration with Subject Matter Experts. This approach involves minimal commitments and provides the freedom to reverse all changes, if necessary, without losing much work (at most one class and two properties).
This focused beginning encourages constructive criticism from the business, serving as useful input for modeling that can proceed in setting up the tool.
TASK 3 - Identify the mappings
In this task the data.world team will do a deep dive with you and define the concept and attribute mappings and identify the relationships.
The initial model should be as minimal as possible, ideally comprising two concepts connected by one relationship.
As you add more concepts and relationships, complications may arise. Hence, it's always best to start with a less complex model and progressively build upon it.
Example of how we determine the Ontology for a question
In this example we will work with the question:
How many Bills do we have where the Billed Hours are less than the Worked Hours?
NOTE: This is the simple 1-1 direct mapping pattern.
By analyzing this question with an SME, we get the following concepts and attributes of Ontology: Note that every Concept, Attribute, and Relationship of an ontology needs a unique identifier.
Table 1.Item
Details
Concept
Customer
Attributes
Billed Hours associated to Bill (:billedHours)
Worked Hours associated to Bill (:workedHours)
Database schema
The database schema is simple. 8bank_billsum(billsumid, billhrs, workhrs, . . .)
Where billsumid is the Primary key attribute of 8bank_billsum table.
By analyzing the ontology and the schema, and working with a Data Expert, we conclude that the mappings are the following:
Table 2.Item
Details
Table-Concept
8bank_billsum → Bill: Every single row in the 8bank_billsum represents an instance of a Bill
Column-Attribute
8bank_billsum.billhrs → Billed Hours
8bank_billsum.workhrs → Worked Hours