Title: Foundations of the Semantic Web: Ontology Engineering
1Foundations of the Semantic WebOntology
Engineering
- Lab 2 Untangling Ontologies
- Open World Reasoning
- Alan Rector colleagues
SETUP Download Teaching-4-01-people-tangled.
daml existentials-and-universals.damlfrom
www.cs.man.ac.uk/rector/CS646 Get the
supplementary handout Existentials Universals
2Normalise the person hierarchystarting from
Teaching-4-01-people-tangled.daml
- Create the necessary properties, roles, and value
types to separate sex, academic rank, age group,
ethnicity - There should be a separate functional property
for each - There should be a separate ValueType for each
- The values under the value type should be
disjoint - Each kind of Person should be definedDefine a
student as a Person who attends an
Academic_institution - Classify and check the classification is correct
- When you are satisfied with the classification,
- Define a set of probe classes to test if the
appropriate kinds of people are disjoint or not.
3Add additional information
- A Subclass axiom to say thatAll academic staff
are adults - A new kind of Teaching_activity called Seminar
- Define a Professorial seminar as a Seminar
given by a Professor - Define an Assisted professorial seminar as a
seminar given by a professor and at least one
other member of academic staff
4Add rules about professorial seminars
- Add a new property enrolled_in and define an ACS
student as a student enrolled in the ACS_course - Should enrolled in be functional? Why or why not?
- Add an axiom to say that all ACS students must
take a Professorial seminar - Define a Student taking a professorial seminar
- Classify? Is the classification correct?
- Define a probe to check if a violation of the
axiom causes an inconsistency
5If you have not done so already, download
existentials-and-universals.daml
- Work through the exercises on the separate sheet
- Be sure you understand how to fix the problem
6EquivalenceAnother way to check understanding
- When preparing to change a class, it is often
useful to create a one or more trial subclasses
and clasify the result. - If you think two different definitions should be
equivalent, they should come out equivalent when
classified, consider - Define two different subclasses of third year
module - Third_year_module_try_1 complete
Third_year_module and restriction
(includes allValuesFrom (Lecture or Exam)) - Third_year_module_try_2 complete
Third_year_module and not
(restriction includes someValuesFrom Lab) - Refer to the explanation on slides 79-82 in
Handout 1 to modify the rest of the KB so that
the two definitions are equivalent as shown in
slide 81.
7Prepare the Module hierarchy for normalisation
- Define a class ACS_course, Third_year_course, and
CS_course - Change the definition of ACS_module and
Third_year module to be that they belong_to the
ACS_course, Third_year_course, etc. - Define Test_Module Module and restriction
belongs-to someValuesFrom ACS_course - Classify it. Does it come out as equal to
ACS_module? If not why not? - Refer to Separate handout on Definitions,
Descriptions, Restrictions Axioms
8Domain and Range Constraints
- Add appropriate domain and range constraints to
all properties - Have you made anything unsatisfiable?
- Have you made any changes in the hierarchy
- Should you have?