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 java.util.Set;
018    
019    import org.semanticweb.owlapi.model.OWLAxiom;
020    
021    import ch.uzh.ifi.attempto.acewiki.core.Sentence;
022    
023    /**
024     * This class represents a sentence with an OWL representation.
025     * 
026     * @author Tobias Kuhn
027     */
028    public interface OWLSentence extends Sentence {
029    
030            /**
031             * Returns a set of OWL axioms that represent this sentence.
032             * 
033             * @return The OWL axioms.
034             */
035            public abstract Set<OWLAxiom> getOWLAxioms();
036    
037            /**
038             * Returns true if this sentence has an OWL representation.
039             * 
040             * @return true if this sentence has an OWL representation.
041             */
042            public abstract boolean isOWL();
043    
044            /**
045             * Returns true if this sentence has an OWL or SWRL representation.
046             * 
047             * @return true if this sentence has an OWL or SWRL representation.
048             */
049            public abstract boolean isOWLSWRL();
050    
051            /**
052             * Returns a pretty-printed OWL representation of this sentence.
053             * 
054             * @return The pretty-printed OWL representation.
055             */
056            public abstract String getPrettyOWL();
057    
058    }