001/**
002 * 
003 */
004package org.dllearner.algorithms.isle.index;
005
006import org.semanticweb.owlapi.model.OWLEntity;
007
008import java.util.Set;
009
010/**
011 * @author Lorenz Buehmann
012 *
013 */
014public interface Index {
015        
016        /**
017     * Returns a set of documents based on how the underlying index is processing the given
018     * search string.
019     *
020     * @param entity Entity specifying the documents to retrieve
021     * @return set of documents retrieved based on the given query string
022     */
023        Set<AnnotatedDocument> getDocuments(OWLEntity entity);
024        
025        /**
026     * Returns a set of documents based on how the underlying index is processing the given
027     * search string.
028     *
029     * @param entity Entity specifying the documents to retrieve
030     * @return set of documents retrieved based on the given query string
031     */
032        long getNumberOfDocumentsFor(OWLEntity entity);
033        
034        /**
035     * Returns a set of documents based on how the underlying index is processing the given
036     * search string.
037     *
038     * @param entities Entities specifying the documents to retrieve
039     * @return set of documents retrieved based on the given query string
040     */
041        long getNumberOfDocumentsFor(OWLEntity... entities);
042
043        /**
044     * Returns the total number of documents contained in the index.
045     *
046     * @return the total number of documents contained in the index
047     */
048        long getTotalNumberOfDocuments();
049}