All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.swrlapi.bridge.TargetSWRLRuleEngine Maven / Gradle / Ivy

There is a newer version: 2.1.2
Show newest version
package org.swrlapi.bridge;

import org.checkerframework.checker.nullness.qual.NonNull;
import org.semanticweb.owlapi.model.OWLAxiom;
import org.semanticweb.owlapi.reasoner.OWLReasoner;
import org.swrlapi.exceptions.SWRLBuiltInException;
import org.swrlapi.exceptions.TargetSWRLRuleEngineException;
import org.swrlapi.owl2rl.OWL2RLEngine;
import org.swrlapi.sqwrl.SQWRLQuery;

import javax.swing.*;

/**
 * This interface defines the methods that must be provided by an implementation of a SWRLAPI-based SWRL rule engine. A
 * {@link org.swrlapi.core.SWRLRuleEngine} uses an implementation of this interface to interact with an underlying rule
 * engine.
 * 

* A SWRL rule engine must also implement an OWL 2 RL reasoner. *

* A target rule engine can communicate with the bridge using the {@link SWRLRuleEngineBridge} interface. * * @see org.swrlapi.core.SWRLRuleEngine * @see org.swrlapi.owl2rl.OWL2RLEngine * @see org.swrlapi.bridge.SWRLRuleEngineBridge * @see org.semanticweb.owlapi.model.OWLAxiom * @see org.swrlapi.sqwrl.SQWRLQuery */ public interface TargetSWRLRuleEngine { /** * Define a target rule engine representation of an OWL axiom. Note that SWRL rules are a type of OWL axiom. * * @param axiom The OWL axiom to define; a SWRL rule is a type of OWL axiom * @throws TargetSWRLRuleEngineException If an error occurs during definition */ void defineOWLAxiom(OWLAxiom axiom) throws TargetSWRLRuleEngineException; /** * Define a target rule engine representation of a SQWRL query. * * @param query A SQWRL query to define * @throws TargetSWRLRuleEngineException If an error occurs in the target rule engine */ void defineSQWRLQuery(SQWRLQuery query) throws TargetSWRLRuleEngineException, SWRLBuiltInException; /** * Run the rule engine. * * @throws TargetSWRLRuleEngineException If an error occurs in the target rule engine */ void runRuleEngine() throws TargetSWRLRuleEngineException; /** * Reset the rule engine. * * @throws TargetSWRLRuleEngineException If an error occurs in the target rule engine */ void resetRuleEngine() throws TargetSWRLRuleEngineException; /** * Return the name of the target rule engine. * * @return The name of the target rule engine */ @NonNull String getTargetRuleEngineName(); /** * Return version information of the target rule engine. * * @return The version of the target rule engine */ @NonNull String getTargetRuleEngineVersion(); /** * * @return An icon for the rule engine */ @NonNull Icon getTargetRuleEngineIcon(); /** * A target rule engine must also define an OWL reasoner implementation. * * @return An OWL reasoner */ @NonNull OWLReasoner getOWLReasoner(); /** * Get the underlying OWL 2 RL reasoner provided by the rule engine. * * @return The underlying OWL 2 RL-based rule engine */ @NonNull OWL2RLEngine getOWL2RLEngine(); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy