001    // This file is part of AceWiki.
002    // Copyright 2008-2012, AceWiki developers.
003    // 
004    // AceWiki is free software: you can redistribute it and/or modify it under the terms of the GNU
005    // Lesser General Public License as published by the Free Software Foundation, either version 3 of
006    // the License, or (at your option) any later version.
007    // 
008    // AceWiki is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
009    // even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
010    // Lesser General Public License for more details.
011    // 
012    // You should have received a copy of the GNU Lesser General Public License along with AceWiki. If
013    // not, see http://www.gnu.org/licenses/.
014    
015    package ch.uzh.ifi.attempto.acewiki.owl;
016    
017    import org.semanticweb.owlapi.model.OWLClassExpression;
018    import org.semanticweb.owlapi.model.OWLNamedIndividual;
019    
020    import ch.uzh.ifi.attempto.acewiki.core.Question;
021    
022    /**
023     * This class represents questions with OWL representations.
024     * 
025     * @author Tobias Kuhn
026     */
027    public interface OWLQuestion extends OWLSentence, Question {
028    
029            /**
030             * Returns the OWL class expression for this question. All individuals that belong to this
031             * class expression can be considered answers to the question.
032             * 
033             * @return The OWL class expression.
034             */
035            public abstract OWLClassExpression getQuestionOWLClass();
036    
037            /**
038             * Returns the OWL individual for this question. For questions like "What is Switzerland?", the
039             * respective individual ("Switzerland") is returned. In all other cases, null is returned.
040             * 
041             * @return The OWL individual.
042             */
043            public abstract OWLNamedIndividual getQuestionOWLIndividual();
044    
045    }