The Protégé Axiom Language

The Protégé Axiom Language (PAL) extends the Protégé-2000 knowledge modeling environment with support for writing and storing logical constraints and queries about frames in a knowledge base. More than just a language, PAL is a plugin toolset that comprises engines for checking constraints and running queries on knowledge bases, as well as a set of useful user interface components. The primary use of PAL is to detect incomplete and/or inconsistent entry of information in a Protégé knowledge base.

When entering instances in Protégé, an end-user is guided by facet-based constraints that impose restrictions on the values that can fill each slot. However, these facet-based constraints only ensure that the local value of each slot is valid; they do not monitor the relationships among values of different slots of an instance, nor of different instances. The Protégé Axiom Language provides a way to make arbitrary assertions about groups of concepts. The PAL engine can check to make sure that the assertions hold across the entire knowledge-base. For example, if, in the newspaper project, we know that editors always earn more than the employees they are responsible for, we can express that piece of knowledge as a constraint. Then, checking the constraint tells us if certain instances of employee or editor have been entered incorrectly in the knowledge base. Similarly, queries can be created to determine which instances satisfy a particular assertion. 

Although PAL is fundamentally a constraint- and query-creation language, the PAL plug-in provides much more:

In this documentation, we will use examples from the sample newspaper project to illustrate the various ways in which PAL can be used. 


Introduction/The Protégé Axiom Language

Next: PAL Constraints

PAL Table of Contents