Logistics
- Group project with team size of 2 or 3
- Each group works on a different domain for designing and building an ontology
- Two phases of the project
- Design and build an ontology for the domain of your choice
- Use that ontology in a chatbot to answer questions*
- Expected deliverables
- Demo (team)
- Code, OWL files (team)
- Report* (Individual)
*Template will be provided
Choice of domains
- Healthcare
- Movie
- Transportation System
- Sports (Cricket, Chess, Tennis, Football etc.)
- Geography
- Astronomy
- University
- Biomedicine
- Chemical compounds
Ontology (min. requirements)
- 15 classes
- 2 and 3 levels of class hierarchy
- 3-5 object properties
- 3-5 data properties
- Property hierarchy
- 1-2 subproperty relations
- 1 property chain (encouraged but optional)
- Domain and Range for all the properties
- 8-10 Existential class expressions
- 1-3 Universal class expressions
- 10 Individuals (2-3 differentAs)
- 1 Enumerated class
- 3-5 Disjoint classes
- Use at least 2 ontology design patterns
*Cooking Recipe ontology would be updated to reflect these requirements
Questions for chatbot
- Is A SubClassOf B
- Is a instanceOf A
- Is KB consistent
- Add an axiom and check for consistency
- Generate explanation for inconsistency
- Use ObjectPropertyAssertion + Domain/Range, to infer type of the individual
- Is p SubPropertyOf q
- List characteristics of property p
- Functional property etc.
- Participates in a property chain, SubPropertyOf, ObjectPropertyAssertion, DataPropertyAssertion etc.
- Domain, Range
Questions for chatbot
- Check for corner cases
- Class or property does not exist
- Null or empty query
- Class SubClassOf itself
Notations To Be Used
- <?Class> SubClassOf <Class>
- <Class> SubClassOf <?Class>
- <?Individual> InstanceOf <?Class>
- IsConsistent?
- Add: <syntactically correct axiom>
- Explain ClassExpression
- GetTypes <Individual>
- <?Property> SubPropertyOf <?Property>
- CharacteristicsOf <Property>
<Class> indicates a specific class whereas <?Class> indicates any class. Same for properties
Chatbot library
- A simple UI with a scrollable display area + a text box
- A command line tool
- Any chatbot library of your choice
Extra Credit
- A simple UI (5%)
- Chatbot library (5%)
- Queries in natural language (10%)
- Is <Individual> a <Class>?
- What are the subclasses of <Class>?
- How are <Class1> and <Class2> related to each other?
- ...
- Spell correction can also be used if the queries are in natural language
- Support for synonyms in queries from WordNet (5%)
- A chatbot integrated UI for adding axioms (5%-10%)
- SubClassOf axioms
- ObjectPropertyAssertions
- ...