![]() |
|
![]() |
|
| PJMappingTab from The University of Aberdeen |
![]() |
PJMappingTab fact-file
What's the Problem?Due to their ability to provide an explicit definition of a domain, ontologies are one of the most commonly used forms of domain knowledge representation. The popular Protégé environment provides an extensive ontology, instance creation and maintenance environment in one tool. One way to reason over this knowledge base is provided by the JessTab Protégé plug-in, which provides a bridge between the Java Expert System Shell (JESS) rule engine and the Protégé knowledge base. However such rule sets are explicitly tied to the knowledge base for which they were developed as they are required to name particular classes and slots. Although an unavoidable requirement, this can greatly hinder reusing a set of JessTab rules developed for one ontology/knowledge base with additional knowledge bases. In particular, the developer could manually define mappings between the class and slot names in the JessTab rules and those in the second and subsequent knowledge bases. However this would be a tedious and very error-prone process. Towards a SolutionPJMappingTab is a Protégé tab-plug-in which supports the user in achieving reuse of a JessTab rule set. By automating many of the procedures the user would otherwise be required to perform manually, PJMappingTab simplifies and accelerates the process of modifying a JessTab rule set for reuse. The reuse process supported by PJMappingTab, consists of two phases. In the first phase a set of JessTab rules are modified to remove all references to the ontology for which they were developed. This process involves extracting, from the ontology, all the class names along with all the slot names and each slot’s data type. All occurrences of a class name in the rules are then replaced by an abstract class name consisting of a prefix and the original class name. Similarly all occurrences of a slot name are replaced by an abstract slot name consisting of a prefix, the original slot name and the slot data type to produce a set of abstract, ontology independent JessTab rules. The second phase consists of mapping between the abstract rules and the concepts defined within the ontology they are to be (re)used with. The abstract references in the abstract rules are used to create a list of classes (and their respective slots) that were used by the rules. PJMappingTab supports a mapping process between the extracted classes and those of the second ontology. In particular, PJMappingTab supports this by providing an automatic mapping feature which suggests mappings based on lexical analysis and comparisons of the classes and slot names while also ensuring slot data type compatibility. The lexical analysis and comparisons utilize checks ranging from simple string comparison, minor spelling variation and WordNet based synonym look up. Additionally the tool provides a simple user interface which allows the user to correct and/or complete the mapping process. Having defined and performed mappings for all the concepts extracted from the rules, the rules are then ready to be executed against the target ontology. Future DevelopmentsMapping between very disparate concepts, for example famine and bankruptcy would be quite difficult. We intend associating roles with each of the concepts and then doing the mapping in smaller steps. Suppose the role “lack-of-resource” has been added to each of the concepts then the mapping process would be: famine à lack-of-resource and lack-of-resource à bankruptcy. Screenshot Obtaining the Technology Another tool and associated web service have been developed to extract ontologies from CLIPS, JESS and JessTab rule sets. A further note describing this tool is being prepared. Technical requirements This technology is also available as a web service. See http://www.csd.abdn.ac.uk/~dcorsar/software/PJMappingTab/webservice.php for details. Further Reading Other Relevant Documents Relevant Links
|