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

eu.monnetproject.lemon.oils.Scalar Maven / Gradle / Ivy

package eu.monnetproject.lemon.oils;

import eu.monnetproject.ontology.DatatypeProperty;
import eu.monnetproject.ontology.LiteralValue;
import eu.monnetproject.ontology.ObjectProperty;


/**
 * A class, whose membership is based on a a datatype property
 * @author John McCrae
 */
public interface Scalar {
    /**
     * The degree to which the binding between the class and the datatype property
     * holds, specified fuzzily as the percentage of known examples belong to the
     * class
     */
    enum Degree {
        /** >50% */
        weak,
        /** >70% */
        medium,
        /** >90% */
        strong,
        /** >99% */
        veryStrong
    }
    
    /**
     * @return The property this class is defined by
     */
    DatatypeProperty getBoundTo();
    
    /**
     * 
     * @return The degree of the binding, or null if not degree is specified
     */
    Degree getDegree();
    
    /**
     * 
     * @return A threshold for class membership, or null if no threshold is specified
     */
    LiteralValue getThreshold();
    
    /**
     * 
     * @return  The object property that indicates greaterThan for instances of this
     * class or null if no comparator is specified
     */
    ObjectProperty getComparator();
    
    /**
     * 
     * @return Get this as a Class Object
     */
    eu.monnetproject.ontology.Class asClass();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy