01: /*
02: * (c) Copyright 2005, 2006, 2007, 2008 Hewlett-Packard Development Company, LP
03: * [See end of file]
04: */
05:
06: package com.hp.hpl.jena.ontology;
07:
08: import java.util.List;
09:
10: import com.hp.hpl.jena.ontology.impl.OWLLiteProfile;
11: import com.hp.hpl.jena.rdf.model.Resource;
12: import com.hp.hpl.jena.vocabulary.OWL;
13:
14: /**
15: * This interface is currently part of SPI, not the API.
16: * This means that the methods in it may be changed
17: * as part of the Jena development process without
18: * deprecation etc. People other than the Jena development
19: * team are discouraged from making direct use of this interface.
20: * Comments on this interface and how we should progress it,
21: * and generalize it are welcome on jena-devel@lists.sourceforge.net
22: *
23: * The API to access this functionality is {@link OntModel#getOWLLanguageLevel(List)},
24: * and requires owlsyntax.jar (separately downloadable from the Jena
25: * sourceforge site) to be on the classpath.
26: *
27: * @author Jeremy J. Carroll
28: *
29: */
30: public interface OWLSyntaxChecker {
31: /**
32: * <p>Given an OWL ontology model owlModel,
33: * answer the minimum OWL language
34: * level that the constructs
35: * used in this model lie entirely within. The three possible return values are
36: * {@link OWL#FULL_LANG} for OWL-full,
37: * {@link OWL#DL_LANG} for OWL-DL or
38: * {@link OWL#LITE_LANG} for OWL-lite.
39: * Note that these URI's are <strong>not</strong> officially sanctioned by the WebOnt
40: * working group. For unknown reasons, the working group chose not to assign official
41: * URI's to represent the different OWL language levels. There is a slim chance that this
42: * may change in future, in which case these return values will change apropriately.
43: * In addition, the given <code>problems</problems> list, if non-null, will be filled with the syntax
44: * problems detected by the syntax checker.
45: * </p>
46: * <p>
47: * The Jena OWL syntax checker will normally list as problems those constructs used in
48: * this model that are in OWL Full but not permitted in OWL DL. The exception to this
49: * is if the {@linkplain OntModel#getProfile() language profile} for this model is
50: * {@linkplain OWLLiteProfile OWL Lite}, then the syntax checker will
51: * test for constructs that lie in OWL-DL or OWL-Full and hence outside in OWL-Lite.
52: * </p>
53: *
54: * @param owlModel An OntModel that must be an OWL ontology.
55: * @param problems A list that, if non-null, will have the various problems discovered by the OWL syntax
56: * checker added to it.
57: * @return A resource denoting the minimum OWL language level for owlModel
58: * @exception OntologyException if owlModel is not an OWL model
59: */
60: public Resource getOWLLanguageLevel(OntModel owlModel, List problems)
61: throws OntologyException;
62: }
63:
64: /*
65: * (c) Copyright 2005, 2006, 2007, 2008 Hewlett-Packard Development Company, LP
66: * All rights reserved.
67: *
68: * Redistribution and use in source and binary forms, with or without
69: * modification, are permitted provided that the following conditions
70: * are met:
71: * 1. Redistributions of source code must retain the above copyright
72: * notice, this list of conditions and the following disclaimer.
73: * 2. Redistributions in binary form must reproduce the above copyright
74: * notice, this list of conditions and the following disclaimer in the
75: * documentation and/or other materials provided with the distribution.
76: * 3. The name of the author may not be used to endorse or promote products
77: * derived from this software without specific prior written permission.
78: *
79: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
80: * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
81: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
82: * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
83: * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
84: * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
85: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
86: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
87: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
88: * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
89: */
|