Inference Rules

The definitions of superclass–subclass relationships between classes and of transitivity properties for associations already allow powerful inferencing of knowledge not coded in the topic map. But a topic map may contain further knowledge that could be inferred if we specify the inference rules.

Below is an inference rule for our example, assuming that projects are run only by employees and not by freelancers (where $employee is an instance of the class employee).

If $employee is a team member in project $project

And $employee works for company $company

And $project has customer $customer

Then $company has customer $customer.

Here's the rule in a more verbose form, which is closer to the topic map constructs.

If topic $employee

Get XML Topic Maps: Creating and Using Topic Maps for the Web now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.