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

fr.lirmm.graphik.graal.elder.labeling.LabelingFunction Maven / Gradle / Ivy

package fr.lirmm.graphik.graal.elder.labeling;

import fr.lirmm.graphik.graal.elder.core.Premise;
import fr.lirmm.graphik.graal.elder.core.RuleApplication;
import fr.lirmm.graphik.graal.elder.core.SGEdge;
import fr.lirmm.graphik.graal.elder.core.Statement;
import fr.lirmm.graphik.graal.elder.preference.PreferenceFunction;

public abstract class LabelingFunction {
	
	public static final String BDLwithTD="BDLwithTD", BDLwithoutTD="BDLwithoutTD",
			PDLwithTD="PDLwithTD", PDLwithoutTD="PDLwithoutTD";
	
	/**
	 * Labels a permise
	 * @param premise a permise
	 * @return the label given to the premise
	 */
	public abstract String label(Premise premise);
	
	/**
	 * Labels a rule application
	 * @param ruleApplication a rule application
	 * @return the label given to the rule application
	 */
	public abstract String label(RuleApplication ruleApplication);
	
	/**
	 * Labels a statement
	 * @param statement a statement
	 * @return the label given to the statement
	 */
	public abstract String label(Statement statement);
	
	/**
	 * Labels an edge
	 * @param edge an edge
	 * @return the label given to the edge
	 */
	public abstract String label(SGEdge edge);
	
	
	/**
	 * returns the preference function used.
	 * @return the preference function used by the labeling
	 */
	public abstract PreferenceFunction getPreferenceFunction();
	
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy