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

org.semanticweb.owlapi.model.OWLDataFactory Maven / Gradle / Ivy

The newest version!
/*
 * This file is part of the OWL API.
 *
 * The contents of this file are subject to the LGPL License, Version 3.0.
 *
 * Copyright (C) 2011, The University of Manchester
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see http://www.gnu.org/licenses/.
 *
 *
 * Alternatively, the contents of this file may be used under the terms of the Apache License, Version 2.0
 * in which case, the provisions of the Apache License Version 2.0 are applicable instead of those above.
 *
 * Copyright 2011, University of Manchester
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.semanticweb.owlapi.model;

import java.util.List;
import java.util.Set;

import org.semanticweb.owlapi.vocab.OWL2Datatype;
import org.semanticweb.owlapi.vocab.OWLFacet;

/**
 * Author: Matthew Horridge
* The University Of Manchester
* Bio-Health Informatics Group Date: 24-Oct-2006 *

* An interface for creating entities, class expressions and axioms. All methods * throw IllegalArgumentException if null values are passed where they are not * allowed in the documentation. */ public interface OWLDataFactory extends SWRLDataFactory { //////////////////////////////////////////////////////////////////////////////////// // // Entities and data stuff // //////////////////////////////////////////////////////////////////////////////////// /** * Gets the built in owl:Thing class, which has a URI of * <http://www.w3.org/2002/07/owl#Thing> * * @return The OWL Class corresponding to owl:Thing */ OWLClass getOWLThing(); /** * Gets the built in owl:Nothing class, which has a URI of * <http://www.w3.org/2002/07/owl#Nothing> * * @return The OWL Class corresponding to owl:Nothing */ OWLClass getOWLNothing(); /** @return the built in top object property */ OWLObjectProperty getOWLTopObjectProperty(); /** @return the built in top data property */ OWLDataProperty getOWLTopDataProperty(); /** @return the built in bottom object property */ OWLObjectProperty getOWLBottomObjectProperty(); /** @return the built in bottom data property */ OWLDataProperty getOWLBottomDataProperty(); /** * Gets the built in data range corresponding to the top data type (like * owl:Thing but for data ranges), this datatype is rdfs:Literal, and has a * URI of $lt;http://www.w3.org/2000/01/rdf-schema#> * * @return The OWL Datatype corresponding to the top data type. */ OWLDatatype getTopDatatype(); /** * Gets an entity that has the specified IRI and is of the specified type. * * @param entityType * The type of the entity that will be returned. Cannot be null. * @param iri * The IRI of the entity that will be returned. Cannot be null. * @return An entity that has the same IRI as this entity and is of the * specified type */ E getOWLEntity(EntityType entityType, IRI iri); /** * Gets an OWL class that has the specified IRI * * @param iri * The IRI of the class. Cannot be null. * @return The object representing the class that has the specified IRI */ OWLClass getOWLClass(IRI iri); /** * Gets an OWLClass that has an IRI that is obtained by expanding an * abbreviated name using an appropriate prefix mapping. See The OWL 2 * Structural Specification for more details. * * @param abbreviatedIRI * The abbreviated IRI, which is of the form PREFIX_NAME:RC, * where PREFIX_NAME may be the empty string (the default * prefix). Cannot be null. Note that abbreviated IRIs always * contain a colon as a delimiter, even if the prefix name is the * empty string. * @param prefixManager * The prefix manager that is responsible for mapping prefix * names to prefix IRIs. Cannot be null. * @return An OWLClass that has the IRI obtained by expanding the specified * abbreviated IRI using the specified prefix manager.

For * example, suppose "m:Cat" was specified as the abbreviated IRI, * the prefix manager would be used to obtain the IRI prefix for the * "m:" prefix name, this prefix would then be concatenated with * "Cat" to obtain the full IRI which would be the IRI of the * OWLClass obtained by this method. * @throws OWLRuntimeException * if the prefix name in the specified abbreviated IRI does not * have a mapping to a prefix in the specified prefix manager. */ OWLClass getOWLClass(String abbreviatedIRI, PrefixManager prefixManager); /** * Gets an OWL object property that has the specified IRI * * @param iri * The IRI of the object property to be obtained. Cannot be null. * @return The object representing the object property that has the * specified IRI */ OWLObjectProperty getOWLObjectProperty(IRI iri); /** * Gets an OWLObjectProperty that has an IRI that is obtained by expanding * an abbreviated name using an appropriate prefix mapping. See The OWL 2 * Structural Specification for more details. * * @param abbreviatedIRI * The abbreviated IRI, which is of the form PREFIX_NAME:RC, * where PREFIX_NAME may be the empty string (the default * prefix). Cannot be null. Note that abbreviated IRIs always * contain a colon as a delimiter, even if the prefix name is the * empty string. * @param prefixManager * The prefix manager that is responsible for mapping prefix * names to prefix IRIs. Cannot be null. * @return An OWLObjectProperty that has the IRI obtained by expanding the * specified abbreviated IRI using the specified prefix manager. *

For example, suppose "m:Cat" was specified as the * abbreviated IRI, the prefix manager would be used to obtain the * IRI prefix for the "m:" prefix name, this prefix would then be * concatenated with "Cat" to obtain the full IRI which would be the * IRI of the OWLObjectProperty obtained by this method. * @throws OWLRuntimeException * if the prefix name in the specified abbreviated IRI does not * have a mapping to a prefix in the specified prefix manager. */ OWLObjectProperty getOWLObjectProperty(String abbreviatedIRI, PrefixManager prefixManager); /** * Gets the inverse of an object property. * * @param property * The property of which the inverse will be returned. Cannot be * null. * @return The inverse of the specified object property */ OWLObjectInverseOf getOWLObjectInverseOf(OWLObjectPropertyExpression property); /** * Gets an OWL data property that has the specified IRI * * @param iri * The IRI of the data property to be obtained. Cannot be null. * @return The object representing the data property that has the specified * IRI */ OWLDataProperty getOWLDataProperty(IRI iri); /** * Gets an OWLDataProperty that has an IRI that is obtained by expanding an * abbreviated name using an appropriate prefix mapping. See The OWL 2 * Structural Specification for more details. * * @param abbreviatedIRI * The abbreviated IRI, which is of the form PREFIX_NAME:RC, * where PREFIX_NAME may be the empty string (the default * prefix). Note that abbreviated IRIs always contain a colon as * a delimiter, even if the prefix name is the empty string. * Cannot be null. * @param prefixManager * The prefix manager that is responsible for mapping prefix * names to prefix IRIs. Cannot be null. * @return An OWLDataProperty that has the IRI obtained by expanding the * specified abbreviated IRI using the specified prefix manager. *

For example, suppose "m:Cat" was specified as the * abbreviated IRI, the prefix manager would be used to obtain the * IRI prefix for the "m:" prefix name, this prefix would then be * concatenated with "Cat" to obtain the full IRI which would be the * IRI of the OWLDataProperty obtained by this method. * @throws OWLRuntimeException * if the prefix name in the specified abbreviated IRI does not * have a mapping to a prefix in the specified prefix manager. */ OWLDataProperty getOWLDataProperty(String abbreviatedIRI, PrefixManager prefixManager); /** * Gets an OWL individual that has the specified IRI * * @param iri * The IRI of the individual to be obtained. Cannot be null. * @return The object representing the individual that has the specified IRI */ OWLNamedIndividual getOWLNamedIndividual(IRI iri); /** * Gets an OWLNamedIndividual that has an IRI that is obtained by expanding * an abbreviated name using an appropriate prefix mapping. See The OWL 2 * Structural Specification for more details. * * @param abbreviatedIRI * The abbreviated IRI, which is of the form PREFIX_NAME:RC, * where PREFIX_NAME may be the empty string (the default * prefix). Note that abbreviated IRIs always contain a colon as * a delimiter, even if the prefix name is the empty string. * Cannot be null. * @param prefixManager * The prefix manager that is responsible for mapping prefix * names to prefix IRIs. Cannot be null. * @return An OWLNamedIndividual that has the IRI obtained by expanding the * specified abbreviated IRI using the specified prefix manager. *

For example, suppose "m:Cat" was specified as the * abbreviated IRI, the prefix manager would be used to obtain the * IRI prefix for the "m:" prefix name, this prefix would then be * concatenated with "Cat" to obtain the full IRI which would be the * IRI of the OWLNamedIndividual obtained by this method. * @throws OWLRuntimeException * if the prefix name in the specified abbreviated IRI does not * have a mapping to a prefix in the specified prefix manager. */ OWLNamedIndividual getOWLNamedIndividual(String abbreviatedIRI, PrefixManager prefixManager); /** * Gets an anonymous individual that has a specific ID. * * @param id * The node ID. Note that the ID will be prefixed with _: if it * is not specified with _: as a prefix. Cannot be null. * @return An anonymous individual. */ OWLAnonymousIndividual getOWLAnonymousIndividual(String id); /** * Gets an anonymous individual. The node ID for the individual will be * generated automatically * * @return The anonymous individual */ OWLAnonymousIndividual getOWLAnonymousIndividual(); /** * Gets an OWLAnnotationProperty that has the specified IRI * * @param iri * The IRI of the annotation property to be obtained. Cannot be * null. * @return An OWLAnnotationProperty with the specified IRI */ OWLAnnotationProperty getOWLAnnotationProperty(IRI iri); /** * Gets an OWLAnnotationProperty that has an IRI that is obtained by * expanding an abbreviated name using an appropriate prefix mapping. See The OWL 2 * Structural Specification for more details. * * @param abbreviatedIRI * The abbreviated IRI, which is of the form PREFIX_NAME:RC, * where PREFIX_NAME may be the empty string (the default * prefix). Note that abbreviated IRIs always contain a colon as * a delimiter, even if the prefix name is the empty string. * Cannot be null. * @param prefixManager * The prefix manager that is responsible for mapping prefix * names to prefix IRIs. Cannot be null. * @return An OWLAnnotationProperty that has the IRI obtained by expanding * the specified abbreviated IRI using the specified prefix manager. *

For example, suppose "m:Cat" was specified as the * abbreviated IRI, the prefix manager would be used to obtain the * IRI prefix for the "m:" prefix name, this prefix would then be * concatenated with "Cat" to obtain the full IRI which would be the * IRI of the OWLAnnotationProperty obtained by this method. * @throws OWLRuntimeException * if the prefix name in the specified abbreviated IRI does not * have a mapping to a prefix in the specified prefix manager. */ OWLAnnotationProperty getOWLAnnotationProperty(String abbreviatedIRI, PrefixManager prefixManager); /** * Gets an annotation property that has an IRI corresponding to * rdfs:label. * * @return An annotation property with an IRI of rdfs:label. */ OWLAnnotationProperty getRDFSLabel(); /** * Gets an annotation property that has an IRI corresponding to * rdfs:comment. * * @return An annotation property with an IRI of rdfs:comment. */ OWLAnnotationProperty getRDFSComment(); /** * Gets an annotation property that has an IRI corresponding to * rdfs:seeAlso. * * @return An annotation property with an IRI of rdfs:seeAlso. */ OWLAnnotationProperty getRDFSSeeAlso(); /** * Gets an annotation property that has an IRI corresponding to * rdfs:isDefinedBy. * * @return An annotation property with an IRI of * rdfs:isDefinedBy. */ OWLAnnotationProperty getRDFSIsDefinedBy(); /** * Gets an annotation property that has an IRI corresponding to * owl:versionInfo. * * @return An annotation property with an IRI of * owl:versionInfo. */ OWLAnnotationProperty getOWLVersionInfo(); /** * Gets an annotation property that has an IRI corresponding to * owl:backwardCompatibleWith. * * @return An annotation property with an IRI of * owl:backwardCompatibleWith. */ OWLAnnotationProperty getOWLBackwardCompatibleWith(); /** * Gets an annotation property that has an IRI corresponding to * owl:incompatibleWith. * * @return An annotation property with an IRI of * owl:incompatibleWith. */ OWLAnnotationProperty getOWLIncompatibleWith(); /** * Gets an annotation property that has an IRI corresponding to * owl:backwardCompatibleWith. * * @return An annotation property with an IRI of * owl:backwardCompatibleWith. */ OWLAnnotationProperty getOWLDeprecated(); /** * Gets the rdf:PlainLiteral datatype. * * @return The datatype with an IRI of rdf:PlainLiteral */ OWLDatatype getRDFPlainLiteral(); /** * Gets an OWLDatatype that has the specified IRI * * @param iri * The IRI of the datatype to be obtained. Cannot be null. * @return The object representing the datatype that has the specified IRI */ OWLDatatype getOWLDatatype(IRI iri); /** * Gets an OWLDatatype that has an IRI that is obtained by expanding an * abbreviated name using an appropriate prefix mapping. See The OWL 2 * Structural Specification for more details. * * @param abbreviatedIRI * The abbreviated IRI, which is of the form PREFIX_NAME:RC, * where PREFIX_NAME may be the empty string (the default * prefix). Note that abbreviated IRIs always contain a colon as * a delimiter, even if the prefix name is the empty string. * Cannot be null. * @param prefixManager * The prefix manager that is responsible for mapping prefix * names to prefix IRIs. Cannot be null. * @return An OWLDatatype that has the IRI obtained by expanding the * specified abbreviated IRI using the specified prefix manager. *

For example, suppose "m:Cat" was specified as the * abbreviated IRI, the prefix manager would be used to obtain the * IRI prefix for the "m:" prefix name, this prefix would then be * concatenated with "Cat" to obtain the full IRI which would be the * IRI of the OWLDatatype obtained by this method. * @throws OWLRuntimeException * if the prefix name in the specified abbreviated IRI does not * have a mapping to a prefix in the specified prefix manager. */ OWLDatatype getOWLDatatype(String abbreviatedIRI, PrefixManager prefixManager); /** * A convenience method that obtains the datatype that represents integers. * This datatype will have the URI of * <http://www.w3.org/2001/XMLSchema#integer> * * @return An object representing an integer datatype. */ OWLDatatype getIntegerOWLDatatype(); /** * A convenience method that obtains the datatype that represents floats. * This datatype will have the URI of * <http://www.w3.org/2001/XMLSchema#float> * * @return An object representing the float datatype. */ OWLDatatype getFloatOWLDatatype(); /** * A convenience method that obtains the datatype that represents doubles. * This datatype will have the URI of * <http://www.w3.org/2001/XMLSchema#double> * * @return An object representing a double datatype. */ OWLDatatype getDoubleOWLDatatype(); /** * A convenience method that obtains the datatype that represents the * boolean datatype. This datatype will have the URI of * <http://www.w3.org/2001/XMLSchema#boolean> * * @return An object representing the boolean datatype. */ OWLDatatype getBooleanOWLDatatype(); ///////////////////////////////////////////////////////////////////////////////////////////////// // // Literals // ///////////////////////////////////////////////////////////////////////////////////////////////// /** * Gets an OWLLiteral, which has the specified lexical value, * and is typed with the specified datatype. * * @param lexicalValue * The lexical value. Cannot be null. * @param datatype * The datatype. Cannot be null. * @return An OWLLiteral with the specified lexical value and specified * datatype. If the datatype is rdf:PlainLiteral, and * the lexical value contains a language tag then the language tag * will be parsed out of the lexical value. For example, * "abc@en"^^rdf:PlainLiteral would be parsed into a lexical value * of "abc" and a language tag of "en". */ OWLLiteral getOWLLiteral(String lexicalValue, OWLDatatype datatype); /** * Gets an OWLLiteral, which has the specified lexical value, * and is typed with the specified datatype. * * @param lexicalValue * The lexical value. Cannot be null. * @param datatype * The datatype. Cannot be null. * @return An OWLLiteral with the specified lexical value and specified * datatype. If the datatype is rdf:PlainLiteral, and * the lexical value contains a language tag then the language tag * will be parsed out of the lexical value. For example, * "abc@en"^^rdf:PlainLiteral would be parsed into a lexical value * of "abc" and a language tag of "en". */ OWLLiteral getOWLLiteral(String lexicalValue, OWL2Datatype datatype); /** * Convenience method that obtains a literal typed as an integer. * * @param value * The value of the literal * @return An OWLTypedConstant whose literal is the lexical * value of the integer, and whose data type is xsd:integer. */ OWLLiteral getOWLLiteral(int value); /** * Convenience method that obtains a literal typed as a double. * * @param value * The value of the literal * @return An OWLTypedConstant whose literal is the lexical * value of the double, and whose data type is xsd:double. */ OWLLiteral getOWLLiteral(double value); /** * Convenience method that obtains a literal typed as a boolean. * * @param value * The value of the literal * @return An OWLTypedConstant whose literal is the lexical * value of the boolean, and whose data type is xsd:boolean. */ OWLLiteral getOWLLiteral(boolean value); /** * Convenience method that obtains a literal typed as a float. * * @param value * The value of the literal * @return An OWLTypedConstant whose literal is the lexical * value of the float, and whose data type is xsd:float. */ OWLLiteral getOWLLiteral(float value); /** * Gets a literal that has the specified lexical value, and has the datatype * xsd:string. The literal will not have a language tag. * * @param value * The lexical value of the literal. Cannot be null. * @return A literal (without a language tag) that has a datatype of * xsd:string. */ OWLLiteral getOWLLiteral(String value); /** * Gets an OWLLiteral with a language tag. The datatype of this literal will * have an IRI of rdf:PlainLiteral ( * {@link org.semanticweb.owlapi.vocab.OWLRDFVocabulary#RDF_PLAIN_LITERAL}). * * @param literal * The string literal. Cannot be null. * @param lang * The language tag. The empty string may be specified to * indicate an empty language tag. Leading and trailing white * space will be removed from the tag and the tag will be * normalised to LOWER CASE. If lang is * null then lang will be converted to * the empty string (for backwards compatibility). If not empty, * the tag is formed according to BCP47 * but the OWL API will not check that the tag conforms to this * specification - it is up to the caller to ensure this. * @return The OWLLiteral that represents the string literal with a * (possibly empty) language tag. */ OWLLiteral getOWLLiteral(String literal, String lang); /////////////////////////////////////////////////////////////// /** * @param literal * The literal. Cannot be null. * @param datatype * The datatype. Cannot be null. * @return The typed literal * @deprecated Use {@link #getOWLLiteral(String, OWLDatatype)} */ @Deprecated OWLLiteral getOWLTypedLiteral(String literal, OWLDatatype datatype); /** * @param literal * The literal. Cannot be null. * @param datatype * The OWL 2 Datatype that will type the literal. Cannot be null. * @return The typed literal * @deprecated Use * {@link #getOWLLiteral(String, org.semanticweb.owlapi.vocab.OWL2Datatype)} * Creates a typed literal that has the specified OWL 2 Datatype * as its datatype */ @Deprecated OWLLiteral getOWLTypedLiteral(String literal, OWL2Datatype datatype); /** * @param value * The value of the literal * @return An OWLTypedConstant whose literal is the lexical * value of the integer, and whose data type is xsd:integer. * @deprecated Use {@link #getOWLLiteral(int)} Convenience method that * obtains a literal typed as an integer. */ @Deprecated OWLLiteral getOWLTypedLiteral(int value); /** * @param value * The value of the literal * @return An OWLTypedConstant whose literal is the lexical * value of the double, and whose data type is xsd:double. * @deprecated Use {@link #getOWLLiteral(double)} Convenience method that * obtains a literal typed as a double. */ @Deprecated OWLLiteral getOWLTypedLiteral(double value); /** * @param value * The value of the literal * @return An OWLTypedConstant whose literal is the lexical * value of the boolean, and whose data type is xsd:boolean. * @deprecated Use {@link #getOWLLiteral(boolean)} Convenience method that * obtains a literal typed as a boolean. */ @Deprecated OWLLiteral getOWLTypedLiteral(boolean value); /** * @param value * The value of the literal * @return An OWLTypedConstant whose literal is the lexical * value of the float, and whose data type is xsd:float. * @deprecated Use {@link #getOWLLiteral(float)} Convenience method that * obtains a literal typed as a float. */ @Deprecated OWLLiteral getOWLTypedLiteral(float value); /** * @param value * The value of the literal. Cannot be null. * @return An OWLTypedConstant whose literal is the lexical * value of the string, and whose data type is xsd:string. * @deprecated Use {@link #getOWLLiteral(String)} Convenience method that * obtains a literal typed as a string. */ @Deprecated OWLLiteral getOWLTypedLiteral(String value); /** * @param literal * The string literal. Cannot be null. * @param lang * The language tag. The tag is formed according to BCP47 * but the OWL API will not check that the tag conforms to this * specification - it is up to the caller to ensure this. For * backwards compatibility, if the value of lang is * null then this is equivalent to calling the * getOWLStringLiteral(String literal) method. * @return The OWLStringLiteral that represents the string literal with a * language tag. * @deprecated Use {@link #getOWLLiteral(String, String)} Gets an * OWLStringLiteral with a language tag. */ @Deprecated OWLLiteral getOWLStringLiteral(String literal, String lang); /** * @param literal * The string literal. Cannot be null. * @return The string literal for the specified string * @deprecated Use {@link #getOWLLiteral(String, String)} with the second * parameter as the empty string (""). Gets a string literal * without a language tag. */ @Deprecated OWLLiteral getOWLStringLiteral(String literal); ////////////////////////////////////////////////////////////////////////////////////////////////// // // Data ranges // ////////////////////////////////////////////////////////////////////////////////////////////////// /** * Gets an OWLDataOneOf (see spec) * * @param values * The set of values that the data one of should contain. Cannot * be null. * @return A data one of that enumerates the specified set of values */ OWLDataOneOf getOWLDataOneOf(Set values); /** * Gets an OWLDataOneOf (see spec) * * @param values * The set of values that the data one of should contain. Cannot * be null or contain null values. * @return A data one of that enumerates the specified set of values */ OWLDataOneOf getOWLDataOneOf(OWLLiteral... values); /** * Gets an OWLDataComplementOf (see spec) * * @param dataRange * The datarange to be complemented. Cannot be null. * @return An OWLDataComplementOf of the specified data range */ OWLDataComplementOf getOWLDataComplementOf(OWLDataRange dataRange); /** * OWLDatatypeRestriction see * spec * * @param dataRange * Cannot be null. * @param facetRestrictions * Cannot be null. * @return an OWLDatatypeRestriction for the specified data type and * restrictions */ OWLDatatypeRestriction getOWLDatatypeRestriction(OWLDatatype dataRange, Set facetRestrictions); /** * OWLDatatypeRestriction see * spec * * @param dataRange * Cannot be null. * @param facet * Cannot be null. * @param typedLiteral * Cannot be null. * @return an OWLDatatypeRestriction with given value for the specified * facet */ OWLDatatypeRestriction getOWLDatatypeRestriction(OWLDatatype dataRange, OWLFacet facet, OWLLiteral typedLiteral); /** * @param dataRange * Cannot be null. * @param facetRestrictions * Cannot be null or contain nulls. * @return an OWLDatatypeRestriction for the specified data type and * restrictions */ OWLDatatypeRestriction getOWLDatatypeRestriction(OWLDatatype dataRange, OWLFacetRestriction... facetRestrictions); /** * Creates a datatype restriction on xsd:integer with a minInclusive facet * restriction * * @param minInclusive * The value of the min inclusive facet restriction that will be * applied to the xsd:integer datatype * @return An OWLDatatypeRestriction that restricts the * xsd:integer * {@link org.semanticweb.owlapi.model.OWLDatatype} with a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MIN_INCLUSIVE} facet * value specified by the minInclusive parameter. */ OWLDatatypeRestriction getOWLDatatypeMinInclusiveRestriction(int minInclusive); /** * Creates a datatype restriction on xsd:integer with a maxInclusive facet * restriction * * @param maxInclusive * The value of the max inclusive facet restriction that will be * applied to the xsd:integer datatype * @return An OWLDatatypeRestriction that restricts the * xsd:integer * {@link org.semanticweb.owlapi.model.OWLDatatype} with a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MAX_INCLUSIVE} facet * value specified by the maxInclusive parameter. */ OWLDatatypeRestriction getOWLDatatypeMaxInclusiveRestriction(int maxInclusive); /** * Creates a datatype restriction on xsd:integer with min and max inclusive * facet restrictions * * @param minInclusive * The value of the max inclusive facet restriction that will be * applied to the xsd:integer datatype. * @param maxInclusive * The value of the max inclusive facet restriction that will be * applied to the xsd:integer datatype * @return An OWLDatatypeRestriction that restricts the * xsd:integer * {@link org.semanticweb.owlapi.model.OWLDatatype} with a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MIN_INCLUSIVE} facet * value specified by the minInclusive parameter and a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MAX_INCLUSIVE} facet * value specified by the maxInclusive parameter. */ OWLDatatypeRestriction getOWLDatatypeMinMaxInclusiveRestriction(int minInclusive, int maxInclusive); /** * Creates a datatype restriction on xsd:integer with a minExclusive facet * restriction * * @param minExclusive * The value of the min exclusive facet restriction that will be * applied to the xsd:integer datatype * @return An OWLDatatypeRestriction that restricts the * xsd:integer * {@link org.semanticweb.owlapi.model.OWLDatatype} with a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MIN_EXCLUSIVE} facet * value specified by the minExclusive parameter. */ OWLDatatypeRestriction getOWLDatatypeMinExclusiveRestriction(int minExclusive); /** * Creates a datatype restriction on xsd:integer with a maxExclusive facet * restriction * * @param maxExclusive * The value of the max exclusive facet restriction that will be * applied to the xsd:integer datatype * @return An OWLDatatypeRestriction that restricts the * xsd:integer * {@link org.semanticweb.owlapi.model.OWLDatatype} with a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MAX_EXCLUSIVE} facet * value specified by the maxExclusive parameter. */ OWLDatatypeRestriction getOWLDatatypeMaxExclusiveRestriction(int maxExclusive); /** * Creates a datatype restriction on xsd:integer with min and max exclusive * facet restrictions * * @param minExclusive * The value of the max exclusive facet restriction that will be * applied to the xsd:integer datatype. * @param maxExclusive * The value of the max exclusive facet restriction that will be * applied to the xsd:integer datatype * @return An OWLDatatypeRestriction that restricts the * xsd:integer * {@link org.semanticweb.owlapi.model.OWLDatatype} with a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MIN_EXCLUSIVE} facet * value specified by the minExclusive parameter and a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MAX_EXCLUSIVE} facet * value specified by the maxExclusive parameter. */ OWLDatatypeRestriction getOWLDatatypeMinMaxExclusiveRestriction(int minExclusive, int maxExclusive); /** * Creates a datatype restriction on xsd:double with a minInclusive facet * restriction * * @param minInclusive * The value of the min inclusive facet restriction that will be * applied to the xsd:double datatype * @return An OWLDatatypeRestriction that restricts the * xsd:double * {@link org.semanticweb.owlapi.model.OWLDatatype} with a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MIN_INCLUSIVE} facet * value specified by the minInclusive parameter. */ OWLDatatypeRestriction getOWLDatatypeMinInclusiveRestriction(double minInclusive); /** * Creates a datatype restriction on xsd:double with a maxInclusive facet * restriction * * @param maxInclusive * The value of the max inclusive facet restriction that will be * applied to the xsd:double datatype * @return An OWLDatatypeRestriction that restricts the * xsd:double * {@link org.semanticweb.owlapi.model.OWLDatatype} with a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MAX_INCLUSIVE} facet * value specified by the maxInclusive parameter. */ OWLDatatypeRestriction getOWLDatatypeMaxInclusiveRestriction(double maxInclusive); /** * Creates a datatype restriction on xsd:double with min and max inclusive * facet restrictions * * @param minInclusive * The value of the max inclusive facet restriction that will be * applied to the xsd:double datatype. * @param maxInclusive * The value of the max inclusive facet restriction that will be * applied to the xsd:double datatype * @return An OWLDatatypeRestriction that restricts the * xsd:double * {@link org.semanticweb.owlapi.model.OWLDatatype} with a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MIN_INCLUSIVE} facet * value specified by the minInclusive parameter and a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MAX_INCLUSIVE} facet * value specified by the maxInclusive parameter. */ OWLDatatypeRestriction getOWLDatatypeMinMaxInclusiveRestriction(double minInclusive, double maxInclusive); /** * Creates a datatype restriction on xsd:double with a minExclusive facet * restriction * * @param minExclusive * The value of the min exclusive facet restriction that will be * applied to the xsd:double datatype * @return An OWLDatatypeRestriction that restricts the * xsd:double * {@link org.semanticweb.owlapi.model.OWLDatatype} with a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MIN_EXCLUSIVE} facet * value specified by the minExclusive parameter. */ OWLDatatypeRestriction getOWLDatatypeMinExclusiveRestriction(double minExclusive); /** * Creates a datatype restriction on xsd:double with a maxExclusive facet * restriction * * @param maxExclusive * The value of the max exclusive facet restriction that will be * applied to the xsd:double datatype * @return An OWLDatatypeRestriction that restricts the * xsd:double * {@link org.semanticweb.owlapi.model.OWLDatatype} with a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MAX_EXCLUSIVE} facet * value specified by the maxExclusive parameter. */ OWLDatatypeRestriction getOWLDatatypeMaxExclusiveRestriction(double maxExclusive); /** * Creates a datatype restriction on xsd:double with min and max exclusive * facet restrictions * * @param minExclusive * The value of the max exclusive facet restriction that will be * applied to the xsd:double datatype. * @param maxExclusive * The value of the max exclusive facet restriction that will be * applied to the xsd:double datatype * @return An OWLDatatypeRestriction that restricts the * xsd:double * {@link org.semanticweb.owlapi.model.OWLDatatype} with a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MIN_EXCLUSIVE} facet * value specified by the minExclusive parameter and a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MAX_EXCLUSIVE} facet * value specified by the maxExclusive parameter. */ OWLDatatypeRestriction getOWLDatatypeMinMaxExclusiveRestriction(double minExclusive, double maxExclusive); /** * @param facet * Cannot be null. * @param facetValue * Cannot be null. * @return an OWLFacetRestriction on specified facet and value */ OWLFacetRestriction getOWLFacetRestriction(OWLFacet facet, OWLLiteral facetValue); /** * @param facet * Cannot be null. * @param facetValue * @return an OWLFacetRestriction on specified facet and value */ OWLFacetRestriction getOWLFacetRestriction(OWLFacet facet, int facetValue); /** * @param facet * Cannot be null. * @param facetValue * Cannot be null. * @return an OWLFacetRestriction on specified facet and value */ OWLFacetRestriction getOWLFacetRestriction(OWLFacet facet, double facetValue); /** * @param facet * Cannot be null. * @param facetValue * Cannot be null. * @return an OWLFacetRestriction on specified facet and value */ OWLFacetRestriction getOWLFacetRestriction(OWLFacet facet, float facetValue); /** * @param dataRanges * Cannot be null or contain nulls. * @return an OWLDataUnionOf on the specified dataranges */ OWLDataUnionOf getOWLDataUnionOf(Set dataRanges); /** * @param dataRanges * Cannot be null or contain nulls. * @return an OWLDataUnionOf on the specified dataranges */ OWLDataUnionOf getOWLDataUnionOf(OWLDataRange... dataRanges); /** * @param dataRanges * Cannot be null or contain nulls. * @return an OWLDataIntersectionOf on the specified dataranges */ OWLDataIntersectionOf getOWLDataIntersectionOf(Set dataRanges); /** * @param dataRanges * Cannot be null or contain nulls. * @return an OWLDataIntersectionOf on the specified dataranges */ OWLDataIntersectionOf getOWLDataIntersectionOf(OWLDataRange... dataRanges); //////////////////////////////////////////////////////////////////////////////////// // // Class Expressions // //////////////////////////////////////////////////////////////////////////////////// /** * @param operands * Cannot be null or contain nulls. * @return an OWLObjectIntersectionOf on the specified operands */ OWLObjectIntersectionOf getOWLObjectIntersectionOf( Set operands); /** * @param operands * Cannot be null or contain nulls. * @return an OWLObjectIntersectionOf on the specified operands */ OWLObjectIntersectionOf getOWLObjectIntersectionOf(OWLClassExpression... operands); //////////////////////////////////////////////////////////////////////////////////// // // Data restrictions // //////////////////////////////////////////////////////////////////////////////////// /** * Gets an OWLDataSomeValuesFrom restriction * * @param property * The property that the restriction acts along. Cannot be null. * @param dataRange * The data range that is the filler. Cannot be null. * @return An OWLDataSomeValuesFrom restriction that acts along the * specified property and has the specified filler */ OWLDataSomeValuesFrom getOWLDataSomeValuesFrom(OWLDataPropertyExpression property, OWLDataRange dataRange); /** * @param property * Cannot be null. * @param dataRange * Cannot be null. * @return An OWLDataAllValuesFrom restriction that acts along the specified * property and has the specified filler */ OWLDataAllValuesFrom getOWLDataAllValuesFrom(OWLDataPropertyExpression property, OWLDataRange dataRange); /** * @param cardinality * Cannot be negative * @param property * Cannot be null. * @return an ExactCardinality on the specified property */ OWLDataExactCardinality getOWLDataExactCardinality(int cardinality, OWLDataPropertyExpression property); /** * @param cardinality * Cannot be negative * @param property * Cannot be null. * @param dataRange * Cannot be null. * @return an ExactCardinality on the specified property */ OWLDataExactCardinality getOWLDataExactCardinality(int cardinality, OWLDataPropertyExpression property, OWLDataRange dataRange); /** * @param cardinality * Cannot be negative * @param property * Cannot be null. * @return an ExactCardinality on the specified property */ OWLDataMaxCardinality getOWLDataMaxCardinality(int cardinality, OWLDataPropertyExpression property); /** * @param cardinality * Cannot be negative * @param property * Cannot be null. * @param dataRange * Cannot be null. * @return an ExactCardinality on the specified property */ OWLDataMaxCardinality getOWLDataMaxCardinality(int cardinality, OWLDataPropertyExpression property, OWLDataRange dataRange); /** * @param cardinality * Cannot be negative * @param property * Cannot be null. * @return an ExactCardinality on the specified property */ OWLDataMinCardinality getOWLDataMinCardinality(int cardinality, OWLDataPropertyExpression property); /** * @param cardinality * Cannot be negative. * @param property * Cannot be null. * @param dataRange * Cannot be null. * @return an ExactCardinality on the specified property */ OWLDataMinCardinality getOWLDataMinCardinality(int cardinality, OWLDataPropertyExpression property, OWLDataRange dataRange); /** * @param property * Cannot be null * @param value * Cannot be null. * @return a HasValue restriction with specified property and value */ OWLDataHasValue getOWLDataHasValue(OWLDataPropertyExpression property, OWLLiteral value); /** * @param operand * Cannot be null. * @return the complement of the specified argument */ OWLObjectComplementOf getOWLObjectComplementOf(OWLClassExpression operand); /** * @param values * Cannot be null or contain nulls. * @return a OneOf expression on specified individuals */ OWLObjectOneOf getOWLObjectOneOf(Set values); /** * @param individuals * Cannot be null or contain nulls. * @return a OneOf expression on specified individuals */ OWLObjectOneOf getOWLObjectOneOf(OWLIndividual... individuals); //////////////////////////////////////////////////////////////////////////////////// // // Object restrictions // //////////////////////////////////////////////////////////////////////////////////// /** * @param property * Cannot be null. * @param classExpression * Cannot be null. * @return an AllValuesFrom on specified property and class expression */ OWLObjectAllValuesFrom getOWLObjectAllValuesFrom( OWLObjectPropertyExpression property, OWLClassExpression classExpression); /** * Gets an OWLObjectSomeValuesFrom restriction * * @param property * The object property that the restriction acts along. Cannot be * null. * @param classExpression * The class expression that is the filler. Cannot be null. * @return An OWLObjectSomeValuesFrom restriction along the specified * property with the specified filler */ OWLObjectSomeValuesFrom getOWLObjectSomeValuesFrom( OWLObjectPropertyExpression property, OWLClassExpression classExpression); /** * @param cardinality * Cannot be negative. * @param property * Cannot be null. * @return an ExactCardinality on the specified property */ OWLObjectExactCardinality getOWLObjectExactCardinality(int cardinality, OWLObjectPropertyExpression property); /** * @param cardinality * Cannot be negative. * @param property * Cannot be null. * @param classExpression * Cannot be null. * @return an ExactCardinality on the specified property */ OWLObjectExactCardinality getOWLObjectExactCardinality(int cardinality, OWLObjectPropertyExpression property, OWLClassExpression classExpression); /** * @param cardinality * Cannot be negative. * @param property * Cannot be null. * @return an ExactCardinality on the specified property */ OWLObjectMinCardinality getOWLObjectMinCardinality(int cardinality, OWLObjectPropertyExpression property); /** * @param cardinality * Cannot be negative. * @param property * Cannot be null. * @param classExpression * Cannot be null. * @return an ExactCardinality on the specified property */ OWLObjectMinCardinality getOWLObjectMinCardinality(int cardinality, OWLObjectPropertyExpression property, OWLClassExpression classExpression); /** * @param cardinality * Cannot be negative. * @param property * Cannot be null. * @return an ExactCardinality on the specified property */ OWLObjectMaxCardinality getOWLObjectMaxCardinality(int cardinality, OWLObjectPropertyExpression property); /** * @param cardinality * Cannot be negative. * @param property * Cannot be null. * @param classExpression * Cannot be null. * @return an ExactCardinality on the specified property */ OWLObjectMaxCardinality getOWLObjectMaxCardinality(int cardinality, OWLObjectPropertyExpression property, OWLClassExpression classExpression); /** * @param property * Cannot be null. * @return a ObjectHasSelf class expression on the specified property */ OWLObjectHasSelf getOWLObjectHasSelf(OWLObjectPropertyExpression property); /** * @param property * Cannot be null. * @param individual * Cannot be null. * @return a HasValue restriction with specified property and value */ OWLObjectHasValue getOWLObjectHasValue(OWLObjectPropertyExpression property, OWLIndividual individual); /** * @param operands * cannot be null or contain nulls. * @return a class union over the specified arguments */ OWLObjectUnionOf getOWLObjectUnionOf(Set operands); /** * @param operands * cannot be null or contain nulls. * @return a class union over the specified arguments */ OWLObjectUnionOf getOWLObjectUnionOf(OWLClassExpression... operands); /****************************************************************************************************************/ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////// ////// ////// Axioms ////// ////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Gets a declaration for an entity * * @param owlEntity * The declared entity. Cannot be null. * @return The declaration axiom for the specified entity. */ OWLDeclarationAxiom getOWLDeclarationAxiom(OWLEntity owlEntity); /** * Gets a declaration with zero or more annotations for an entity * * @param owlEntity * The declared entity. Cannot be null. * @param annotations * A possibly empty set of annotations. Cannot be null or contain * nulls. * @return The declaration axiom for the specified entity which is annotated * with the specified annotations */ OWLDeclarationAxiom getOWLDeclarationAxiom(OWLEntity owlEntity, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //// //// Class Axioms //// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param subClass * Cannot be null. * @param superClass * Cannot be null. * @return a subclass axiom with no annotations */ OWLSubClassOfAxiom getOWLSubClassOfAxiom(OWLClassExpression subClass, OWLClassExpression superClass); /** * @param subClass * Cannot be null. * @param superClass * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return a subclass axiom with specified annotations */ OWLSubClassOfAxiom getOWLSubClassOfAxiom(OWLClassExpression subClass, OWLClassExpression superClass, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param classExpressions * Cannot be null or contain nulls. * @return an equivalent classes axiom with specified operands and no * annotations */ OWLEquivalentClassesAxiom getOWLEquivalentClassesAxiom( Set classExpressions); /** * @param classExpressions * Cannot be null or contain nulls. * @param annotations * Cannot be null or contain nulls. * @return an equivalent classes axiom with specified operands and * annotations */ OWLEquivalentClassesAxiom getOWLEquivalentClassesAxiom( Set classExpressions, Set annotations); /** * @param classExpressions * Cannot be null or contain nulls. * @return an equivalent classes axiom with specified operands and no * annotations */ //TODO there is a limitation here, no way to use a vararg and annotate the axiom as well OWLEquivalentClassesAxiom getOWLEquivalentClassesAxiom( OWLClassExpression... classExpressions); /** * @param clsA * Cannot be null. * @param clsB * Cannot be null. * @return an equivalent classes axiom with specified operands and no * annotations (special case with only two operands) */ OWLEquivalentClassesAxiom getOWLEquivalentClassesAxiom(OWLClassExpression clsA, OWLClassExpression clsB); /** * @param clsA * Cannot be null. * @param clsB * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return an equivalent classes axiom with specified operands and * annotations (special case with only two operands) */ OWLEquivalentClassesAxiom getOWLEquivalentClassesAxiom(OWLClassExpression clsA, OWLClassExpression clsB, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param classExpressions * Cannot be null or contain nulls. * @return a disjoint class axiom with no annotations */ OWLDisjointClassesAxiom getOWLDisjointClassesAxiom( Set classExpressions); /** * @param classExpressions * Cannot be null or contain nulls. * @return a disjoint class axiom with no annotations */ OWLDisjointClassesAxiom getOWLDisjointClassesAxiom( OWLClassExpression... classExpressions); /** * @param classExpressions * Cannot be null or contain nulls. * @param annotations * Cannot be null or contain nulls. * @return a disjoint class axiom with annotations */ OWLDisjointClassesAxiom getOWLDisjointClassesAxiom( Set classExpressions, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param owlClass * left hand side of the axiom. Cannot be null. * @param classExpressions * right hand side of the axiom. Cannot be null or contain nulls. * @return a disjoint union axiom */ OWLDisjointUnionAxiom getOWLDisjointUnionAxiom(OWLClass owlClass, Set classExpressions); /** * @param owlClass * left hand side of the axiom. Cannot be null. * @param classExpressions * right hand side of the axiom. Cannot be null or contain nulls. * * @param annotations * Cannot be null or contain nulls. * @return a disjoint union axiom with annotations */ OWLDisjointUnionAxiom getOWLDisjointUnionAxiom(OWLClass owlClass, Set classExpressions, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //// //// Object property axioms //// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param subProperty * Cannot be null. * @param superProperty * Cannot be null. * @return a subproperty axiom */ OWLSubObjectPropertyOfAxiom getOWLSubObjectPropertyOfAxiom( OWLObjectPropertyExpression subProperty, OWLObjectPropertyExpression superProperty); /** * @param subProperty * Cannot be null. * @param superProperty * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return a subproperty axiom with annotations */ OWLSubObjectPropertyOfAxiom getOWLSubObjectPropertyOfAxiom( OWLObjectPropertyExpression subProperty, OWLObjectPropertyExpression superProperty, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param chain * Cannot be null or contain nulls. * @param superProperty * Cannot be null. * @return a subproperty chain axiom */ OWLSubPropertyChainOfAxiom getOWLSubPropertyChainOfAxiom( List chain, OWLObjectPropertyExpression superProperty); /** * @param chain * Cannot be null or contain nulls. * @param superProperty * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return a subproperty chain axiom */ OWLSubPropertyChainOfAxiom getOWLSubPropertyChainOfAxiom( List chain, OWLObjectPropertyExpression superProperty, Set annotations); /** * @param properties * Cannot be null or contain nulls. * @return an equivalent properties axiom with specified properties */ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// OWLEquivalentObjectPropertiesAxiom getOWLEquivalentObjectPropertiesAxiom( Set properties); /** * @param properties * Cannot be null or contain nulls. * @param annotations * Cannot be null or contain nulls. * @return an equivalent properties axiom with specified properties and * annotations */ OWLEquivalentObjectPropertiesAxiom getOWLEquivalentObjectPropertiesAxiom( Set properties, Set annotations); /** * @param properties * Cannot be null or contain nulls. * @return an equivalent properties axiom with specified properties */ OWLEquivalentObjectPropertiesAxiom getOWLEquivalentObjectPropertiesAxiom( OWLObjectPropertyExpression... properties); /** * @param propertyA * Cannot be null. * @param propertyB * Cannot be null. * @return an equivalent properties axiom with specified properties */ OWLEquivalentObjectPropertiesAxiom getOWLEquivalentObjectPropertiesAxiom( OWLObjectPropertyExpression propertyA, OWLObjectPropertyExpression propertyB); /** * @param propertyA * Cannot be null. * @param propertyB * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return an equivalent properties axiom with specified properties and * annotations */ OWLEquivalentObjectPropertiesAxiom getOWLEquivalentObjectPropertiesAxiom( OWLObjectPropertyExpression propertyA, OWLObjectPropertyExpression propertyB, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param properties * Cannot be null or contain nulls. * @return a disjoint object properties axiom with specified properties */ OWLDisjointObjectPropertiesAxiom getOWLDisjointObjectPropertiesAxiom( Set properties); /** * @param properties * Cannot be null or contain nulls. * @return a disjoint object properties axiom with specified properties */ OWLDisjointObjectPropertiesAxiom getOWLDisjointObjectPropertiesAxiom( OWLObjectPropertyExpression... properties); /** * @param properties * Cannot be null or contain nulls. * @param annotations * Cannot be null or contain nulls. * @return a disjoint object properties axiom with specified properties and * annotations */ OWLDisjointObjectPropertiesAxiom getOWLDisjointObjectPropertiesAxiom( Set properties, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param forwardProperty * Cannot be null. * @param inverseProperty * Cannot be null. * @return an inverse object property axiom */ OWLInverseObjectPropertiesAxiom getOWLInverseObjectPropertiesAxiom( OWLObjectPropertyExpression forwardProperty, OWLObjectPropertyExpression inverseProperty); /** * @param forwardProperty * Cannot be null. * @param inverseProperty * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return an inverse object property axiom with annotations */ OWLInverseObjectPropertiesAxiom getOWLInverseObjectPropertiesAxiom( OWLObjectPropertyExpression forwardProperty, OWLObjectPropertyExpression inverseProperty, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param property * Cannot be null. * @param classExpression * Cannot be null. * @return an object property domain axiom */ OWLObjectPropertyDomainAxiom getOWLObjectPropertyDomainAxiom( OWLObjectPropertyExpression property, OWLClassExpression classExpression); /** * @param property * Cannot be null. * @param classExpression * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return an object property domain axiom with annotations */ OWLObjectPropertyDomainAxiom getOWLObjectPropertyDomainAxiom( OWLObjectPropertyExpression property, OWLClassExpression classExpression, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param property * Cannot be null. * @param range * Cannot be null. * @return an object property range axiom */ OWLObjectPropertyRangeAxiom getOWLObjectPropertyRangeAxiom( OWLObjectPropertyExpression property, OWLClassExpression range); /** * @param property * Cannot be null. * @param range * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return an object property range axiom with annotations */ OWLObjectPropertyRangeAxiom getOWLObjectPropertyRangeAxiom( OWLObjectPropertyExpression property, OWLClassExpression range, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param property * Cannot be null. * @return a functional object property axiom */ OWLFunctionalObjectPropertyAxiom getOWLFunctionalObjectPropertyAxiom( OWLObjectPropertyExpression property); /** * @param property * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return a functional object property axiom with annotations */ OWLFunctionalObjectPropertyAxiom getOWLFunctionalObjectPropertyAxiom( OWLObjectPropertyExpression property, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param property * Cannot be null. * @return an inverse functional object property axiom */ OWLInverseFunctionalObjectPropertyAxiom getOWLInverseFunctionalObjectPropertyAxiom( OWLObjectPropertyExpression property); /** * @param property * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return an inverse functional object property axiom with annotations */ OWLInverseFunctionalObjectPropertyAxiom getOWLInverseFunctionalObjectPropertyAxiom( OWLObjectPropertyExpression property, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param property * Cannot be null. * @return a reflexive object property axiom */ OWLReflexiveObjectPropertyAxiom getOWLReflexiveObjectPropertyAxiom( OWLObjectPropertyExpression property); /** * @param property * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return a reflexive object property axiom with annotations */ OWLReflexiveObjectPropertyAxiom getOWLReflexiveObjectPropertyAxiom( OWLObjectPropertyExpression property, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param property * Cannot be null. * @return an irreflexive object property axiom */ OWLIrreflexiveObjectPropertyAxiom getOWLIrreflexiveObjectPropertyAxiom( OWLObjectPropertyExpression property); /** * @param property * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return an irreflexive object property axiom with annotations */ OWLIrreflexiveObjectPropertyAxiom getOWLIrreflexiveObjectPropertyAxiom( OWLObjectPropertyExpression property, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param property * Cannot be null. * @return a symmetric property axiom */ OWLSymmetricObjectPropertyAxiom getOWLSymmetricObjectPropertyAxiom( OWLObjectPropertyExpression property); /** * @param property * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return a symmetric property axiom with annotations */ OWLSymmetricObjectPropertyAxiom getOWLSymmetricObjectPropertyAxiom( OWLObjectPropertyExpression property, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param propertyExpression * Cannot be null. * @return an asymmetric object property axiom on the specified argument */ OWLAsymmetricObjectPropertyAxiom getOWLAsymmetricObjectPropertyAxiom( OWLObjectPropertyExpression propertyExpression); /** * @param propertyExpression * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return an asymmetric object property axiom on the specified argument * with annotations */ OWLAsymmetricObjectPropertyAxiom getOWLAsymmetricObjectPropertyAxiom( OWLObjectPropertyExpression propertyExpression, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param property * Cannot be null. * @return a transitive object property axiom on the specified argument */ OWLTransitiveObjectPropertyAxiom getOWLTransitiveObjectPropertyAxiom( OWLObjectPropertyExpression property); /** * @param property * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return a transitive object property axiom on the specified argument with * annotations */ OWLTransitiveObjectPropertyAxiom getOWLTransitiveObjectPropertyAxiom( OWLObjectPropertyExpression property, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //// //// Data property axioms //// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param subProperty * Cannot be null. * @param superProperty * Cannot be null. * @return a subproperty axiom */ OWLSubDataPropertyOfAxiom getOWLSubDataPropertyOfAxiom( OWLDataPropertyExpression subProperty, OWLDataPropertyExpression superProperty); /** * @param subProperty * Cannot be null. * @param superProperty * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return a subproperty axiom with annotations */ OWLSubDataPropertyOfAxiom getOWLSubDataPropertyOfAxiom( OWLDataPropertyExpression subProperty, OWLDataPropertyExpression superProperty, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param properties * Cannot be null or contain nulls. * @return an equivalent data properties axiom */ OWLEquivalentDataPropertiesAxiom getOWLEquivalentDataPropertiesAxiom( Set properties); /** * @param properties * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return an equivalent data properties axiom with annotations */ OWLEquivalentDataPropertiesAxiom getOWLEquivalentDataPropertiesAxiom( Set properties, Set annotations); /** * @param properties * Cannot be null or contain nulls. * @return an equivalent data properties axiom */ OWLEquivalentDataPropertiesAxiom getOWLEquivalentDataPropertiesAxiom( OWLDataPropertyExpression... properties); /** * @param propertyA * Cannot be null. * @param propertyB * Cannot be null. * @return an equivalent data properties axiom */ OWLEquivalentDataPropertiesAxiom getOWLEquivalentDataPropertiesAxiom( OWLDataPropertyExpression propertyA, OWLDataPropertyExpression propertyB); /** * @param propertyA * Cannot be null. * @param propertyB * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return an equivalent data properties axiom with annotations */ OWLEquivalentDataPropertiesAxiom getOWLEquivalentDataPropertiesAxiom( OWLDataPropertyExpression propertyA, OWLDataPropertyExpression propertyB, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param dataProperties * Cannot be null or contain nulls. * @return a disjoint data properties axiom with specified properties */ OWLDisjointDataPropertiesAxiom getOWLDisjointDataPropertiesAxiom( OWLDataPropertyExpression... dataProperties); /** * @param properties * Cannot be null or contain nulls. * @return a disjoint data properties axiom with specified properties */ OWLDisjointDataPropertiesAxiom getOWLDisjointDataPropertiesAxiom( Set properties); /** * @param properties * Cannot be null or contain nulls. * @param annotations * Cannot be null or contain nulls. * @return a disjoint data properties axiom with specified properties and * annotations */ OWLDisjointDataPropertiesAxiom getOWLDisjointDataPropertiesAxiom( Set properties, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param property * Cannot be null. * @param domain * Cannot be null. * @return a data property domain axiom */ OWLDataPropertyDomainAxiom getOWLDataPropertyDomainAxiom( OWLDataPropertyExpression property, OWLClassExpression domain); /** * @param property * Cannot be null. * @param domain * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return a data property domain axiom with annotations */ OWLDataPropertyDomainAxiom getOWLDataPropertyDomainAxiom( OWLDataPropertyExpression property, OWLClassExpression domain, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param property * Cannot be null. * @param owlDataRange * Cannot be null. * @return a data property range axiom */ OWLDataPropertyRangeAxiom getOWLDataPropertyRangeAxiom( OWLDataPropertyExpression property, OWLDataRange owlDataRange); /** * @param property * Cannot be null. * @param owlDataRange * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return a data property range axiom with annotations */ OWLDataPropertyRangeAxiom getOWLDataPropertyRangeAxiom( OWLDataPropertyExpression property, OWLDataRange owlDataRange, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param property * Cannot be null. * @return a functional data property axiom */ OWLFunctionalDataPropertyAxiom getOWLFunctionalDataPropertyAxiom( OWLDataPropertyExpression property); /** * @param property * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return a functional data property axiom with annotations */ OWLFunctionalDataPropertyAxiom getOWLFunctionalDataPropertyAxiom( OWLDataPropertyExpression property, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //// //// Data axioms //// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param ce * Cannot be null. * @param properties * Cannot be null or contain nulls. * @return a hasKey axiom on given arguments */ OWLHasKeyAxiom getOWLHasKeyAxiom(OWLClassExpression ce, Set> properties); /** * @param ce * Cannot be null. * @param properties * Cannot be null or contain nulls. * @return a hasKey axiom on given arguments */ OWLHasKeyAxiom getOWLHasKeyAxiom(OWLClassExpression ce, OWLPropertyExpression... properties); /** * @param ce * Cannot be null. * @param objectProperties * Cannot be null or contain nulls. * @param annotations * Cannot be null or contain nulls. * @return a hasKey axiom on given arguments and annotations */ OWLHasKeyAxiom getOWLHasKeyAxiom(OWLClassExpression ce, Set> objectProperties, Set annotations); /** * @param datatype * Cannot be null. * @param dataRange * Cannot be null. * @return a datatype definition axiom */ OWLDatatypeDefinitionAxiom getOWLDatatypeDefinitionAxiom(OWLDatatype datatype, OWLDataRange dataRange); /** * @param datatype * Cannot be null. * @param dataRange * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return a datatype definition axiom with annotations */ OWLDatatypeDefinitionAxiom getOWLDatatypeDefinitionAxiom(OWLDatatype datatype, OWLDataRange dataRange, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //// //// Assertion (Individual) axioms //// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param individuals * Cannot be null or contain nulls. * @return a same individuals axiom with specified individuals */ OWLSameIndividualAxiom getOWLSameIndividualAxiom( Set individuals); /** * @param individual * Cannot be null. * @return a same individuals axiom with specified individuals */ OWLSameIndividualAxiom getOWLSameIndividualAxiom(OWLIndividual... individual); /** * @param individuals * Cannot be null or contain nulls. * @param annotations * Cannot be null or contain nulls. * @return a same individuals axiom with specified individuals and * annotations */ OWLSameIndividualAxiom getOWLSameIndividualAxiom( Set individuals, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param individuals * Cannot be null or contain nulls. * @return a different individuals axiom with specified individuals */ OWLDifferentIndividualsAxiom getOWLDifferentIndividualsAxiom( Set individuals); /** * @param individuals * Cannot be null or contain nulls. * @return a different individuals axiom with specified individuals */ OWLDifferentIndividualsAxiom getOWLDifferentIndividualsAxiom( OWLIndividual... individuals); /** * @param individuals * Cannot be null or contain nulls. * @param annotations * Cannot be null or contain nulls. * @return a different individuals axiom with specified individuals and * annotations */ OWLDifferentIndividualsAxiom getOWLDifferentIndividualsAxiom( Set individuals, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param classExpression * Cannot be null. * @param individual * Cannot be null. * @return a class assertion axiom */ OWLClassAssertionAxiom getOWLClassAssertionAxiom(OWLClassExpression classExpression, OWLIndividual individual); /** * @param classExpression * Cannot be null. * @param individual * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return a class assertion axiom with annotations */ OWLClassAssertionAxiom getOWLClassAssertionAxiom(OWLClassExpression classExpression, OWLIndividual individual, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param property * Cannot be null. * @param individual * Cannot be null. * @param object * Cannot be null. * @return an object property assertion */ OWLObjectPropertyAssertionAxiom getOWLObjectPropertyAssertionAxiom( OWLObjectPropertyExpression property, OWLIndividual individual, OWLIndividual object); /** * @param property * Cannot be null. * @param individual * Cannot be null. * @param object * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return an object property assertion with annotations */ OWLObjectPropertyAssertionAxiom getOWLObjectPropertyAssertionAxiom( OWLObjectPropertyExpression property, OWLIndividual individual, OWLIndividual object, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param property * Cannot be null. * @param subject * Cannot be null. * @param object * Cannot be null. * @return a negative property assertion axiom on given arguments */ OWLNegativeObjectPropertyAssertionAxiom getOWLNegativeObjectPropertyAssertionAxiom( OWLObjectPropertyExpression property, OWLIndividual subject, OWLIndividual object); /** * @param property * Cannot be null. * @param subject * Cannot be null. * @param object * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return a negative property assertion axiom on given arguments with * annotations */ OWLNegativeObjectPropertyAssertionAxiom getOWLNegativeObjectPropertyAssertionAxiom( OWLObjectPropertyExpression property, OWLIndividual subject, OWLIndividual object, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param property * Cannot be null. * @param subject * Cannot be null. * @param object * Cannot be null. * @return a data property assertion */ OWLDataPropertyAssertionAxiom getOWLDataPropertyAssertionAxiom( OWLDataPropertyExpression property, OWLIndividual subject, OWLLiteral object); /** * @param property * Cannot be null. * @param subject * Cannot be null. * @param object * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return a data property assertion with annotations */ OWLDataPropertyAssertionAxiom getOWLDataPropertyAssertionAxiom( OWLDataPropertyExpression property, OWLIndividual subject, OWLLiteral object, Set annotations); /** * @param property * Cannot be null. * @param subject * Cannot be null. * @param value * Cannot be null. * @return a data property assertion */ OWLDataPropertyAssertionAxiom getOWLDataPropertyAssertionAxiom( OWLDataPropertyExpression property, OWLIndividual subject, int value); /** * @param property * Cannot be null. * @param subject * Cannot be null. * @param value * Cannot be null. * @return a data property assertion */ OWLDataPropertyAssertionAxiom getOWLDataPropertyAssertionAxiom( OWLDataPropertyExpression property, OWLIndividual subject, double value); /** * @param property * Cannot be null. * @param subject * Cannot be null. * @param value * Cannot be null. * @return a data property assertion */ OWLDataPropertyAssertionAxiom getOWLDataPropertyAssertionAxiom( OWLDataPropertyExpression property, OWLIndividual subject, float value); /** * @param property * Cannot be null. * @param subject * Cannot be null. * @param value * Cannot be null. * @return a data property assertion */ OWLDataPropertyAssertionAxiom getOWLDataPropertyAssertionAxiom( OWLDataPropertyExpression property, OWLIndividual subject, boolean value); /** * @param property * Cannot be null. * @param subject * Cannot be null. * @param value * Cannot be null. * @return a data property assertion */ OWLDataPropertyAssertionAxiom getOWLDataPropertyAssertionAxiom( OWLDataPropertyExpression property, OWLIndividual subject, String value); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param property * Cannot be null. * @param subject * Cannot be null. * @param object * Cannot be null. * @return a negative property assertion axiom on given arguments */ OWLNegativeDataPropertyAssertionAxiom getOWLNegativeDataPropertyAssertionAxiom( OWLDataPropertyExpression property, OWLIndividual subject, OWLLiteral object); /** * @param property * Cannot be null. * @param subject * Cannot be null. * @param object * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return a negative property assertion axiom on given arguments with * annotations */ OWLNegativeDataPropertyAssertionAxiom getOWLNegativeDataPropertyAssertionAxiom( OWLDataPropertyExpression property, OWLIndividual subject, OWLLiteral object, Set annotations); /****************************************************************************************************************/ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////// ////// ////// Annotations ////// ////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Gets an annotation * * @param property * the annotation property. Cannot be null. * @param value * The annotation value. Cannot be null. * @return The annotation on the specified property with the specified value */ OWLAnnotation getOWLAnnotation(OWLAnnotationProperty property, OWLAnnotationValue value); /** * Gets an annotation * * @param property * the annotation property. Cannot be null. * @param value * The annotation value. Cannot be null. * @param annotations * Annotations on the annotation. Cannot be null or contain * nulls. * @return The annotation on the specified property with the specified value */ OWLAnnotation getOWLAnnotation(OWLAnnotationProperty property, OWLAnnotationValue value, Set annotations); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //// //// Annotation axioms //// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * @param property * Cannot be null. * @param subject * Cannot be null. * @param value * Cannot be null. * @return an annotation assertion axiom */ OWLAnnotationAssertionAxiom getOWLAnnotationAssertionAxiom( OWLAnnotationProperty property, OWLAnnotationSubject subject, OWLAnnotationValue value); /** * @param subject * Cannot be null. * @param annotation * Cannot be null. * @return an annotation assertion axiom */ OWLAnnotationAssertionAxiom getOWLAnnotationAssertionAxiom( OWLAnnotationSubject subject, OWLAnnotation annotation); /** * @param property * Cannot be null. * @param subject * Cannot be null. * @param value * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return an annotation assertion axiom - with annotations */ OWLAnnotationAssertionAxiom getOWLAnnotationAssertionAxiom( OWLAnnotationProperty property, OWLAnnotationSubject subject, OWLAnnotationValue value, Set annotations); /** * @param subject * Cannot be null. * @param annotation * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return an annotation assertion axiom - with annotations */ OWLAnnotationAssertionAxiom getOWLAnnotationAssertionAxiom( OWLAnnotationSubject subject, OWLAnnotation annotation, Set annotations); /** * Gets an annotation assertion that specifies that an IRI is deprecated. * The annotation property is owl:deprecated and the value of the annotation * is "true"^^xsd:boolean. (See Annotation Properties in the OWL 2 Specification * * @param subject * The IRI to be deprecated. Cannot be null. * @return The annotation assertion that deprecates the specified IRI. */ OWLAnnotationAssertionAxiom getDeprecatedOWLAnnotationAssertionAxiom(IRI subject); /** * @param importedOntologyIRI * Cannot be null. * @return an imports declaration */ OWLImportsDeclaration getOWLImportsDeclaration(IRI importedOntologyIRI); /** * @param prop * Cannot be null. * @param domain * Cannot be null. * @return an annotation property domain assertion */ OWLAnnotationPropertyDomainAxiom getOWLAnnotationPropertyDomainAxiom( OWLAnnotationProperty prop, IRI domain); /** * @param prop * Cannot be null. * @param domain * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return an annotation property domain assertion with annotations */ OWLAnnotationPropertyDomainAxiom getOWLAnnotationPropertyDomainAxiom( OWLAnnotationProperty prop, IRI domain, Set annotations); /** * @param prop * Cannot be null. * @param range * Cannot be null. * @return an annotation property range assertion */ OWLAnnotationPropertyRangeAxiom getOWLAnnotationPropertyRangeAxiom( OWLAnnotationProperty prop, IRI range); /** * @param prop * Cannot be null. * @param range * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return an annotation property range assertion with annotations */ OWLAnnotationPropertyRangeAxiom getOWLAnnotationPropertyRangeAxiom( OWLAnnotationProperty prop, IRI range, Set annotations); /** * @param sub * Cannot be null. * @param sup * Cannot be null. * @return a sub annotation property axiom with specified properties */ OWLSubAnnotationPropertyOfAxiom getOWLSubAnnotationPropertyOfAxiom( OWLAnnotationProperty sub, OWLAnnotationProperty sup); /** * @param sub * Cannot be null. * @param sup * Cannot be null. * @param annotations * Cannot be null or contain nulls. * @return a sub annotation property axiom with specified properties and * annotations */ OWLSubAnnotationPropertyOfAxiom getOWLSubAnnotationPropertyOfAxiom( OWLAnnotationProperty sub, OWLAnnotationProperty sup, Set annotations); /** * Empty all caches */ void purge(); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy