-
Notifications
You must be signed in to change notification settings - Fork 1
Interfaces
maphih edited this page Sep 5, 2025
·
1 revision
Several interfaces are important for providing non-entailment explanation services. All of the following interfaces can be found in the module evee-protege-core:
- The most important interface is
INonEntailmentExplanationService, which is the core connection point between the Protégé interfaces and classes on the one side and the Evee interfaces and classes on the other side. - The interfaces
IExplanationLoadingScreenEventGeneratorandIExplanationLoadingScreenEventListenerare used to enable communication between the loading screen displayed during computation of an explanation and the main view component displayed to the user. - The interfaces
ISignatureModeificationEventGeneratorandISignatureModificationEventListenerare used to allow a specific explanation service to modify the signature selected in the main UI displayed in the Protégé viewMissing Entailment Explanation. - The interfaces
IPreferencesChangeEventGeneratorandIPreferencesChangeListenerare used to enable theNonEntailmentGeneralPreferencesManagerto send aGeneralPreferencesChangeEventto its listeners. These events are used to change the layout displayed in the viewMissing Entailment Explanationand to enable/disable a simplified view.
The INonEntailmentExplanationService extends the following interfaces:
- The Protégé interface
ProtegePluginInstancewhich all Protégé plugins need to extend. - The Evee interface
IExplanationGenerator<T>(foudn in the moduleevee-data), which is an Evee interface that all non-entailment explanation services need to implement. This interface specifies a method to return some result of typeTand another method that returns some error message. Note that the generic return type allows using this interface in various places. This interface is for example also used by the classEveeProofGenerationThreadwhere the return type is an object implementing the interfaceIProof. - The Evee interface
ISignatureModificationEventGenerator(found in the moduleevee-protege-core), which is responsible for allowing information about signature changes to be propagated to the relevant classes. - The Evee interface
IOWLNonEntailmentExplainer(found in the module evee-data) which extends the interfaceINonEntailmentExplainer(also found in the moduleevee-data) and replaces the generic types of this interface with the relevant classes of the OWL API. The interfaceINonEntailmentExplainerspecifies the core functionalities neccessary to generate explanations for non-entailments.
Note that in the non-entailment explanation plugins, the implementatin of the method supportsExplanation of the interface INonEntailmentExplainer should be very fast, as this method is called whenever the explanation service is changed, whenever the missing entailment is edited and whenever the vocabulary is changed.