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

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

There is a newer version: 4.7.5
Show 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 2014, 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.
 * 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 javax.annotation.Nonnegative;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;

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

/**
 * An interface for creating entities, class expressions and axioms.
 * 
 * @author Matthew Horridge, The University Of Manchester, Bio-Health Informatics Group
 * @since 2.0.0
 */
public interface OWLDataFactory extends SWRLDataFactory, OWLEntityProvider, OWLEntityByTypeProvider,
    OWLAnonymousIndividualProvider, OWLAnonymousIndividualByIdProvider {

    // 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
     */
    @Nonnull
    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
     */
    @Nonnull
    OWLClass getOWLNothing();

    /** @return the built in top object property */
    @Nonnull
    OWLObjectProperty getOWLTopObjectProperty();

    /** @return the built in top data property */
    @Nonnull
    OWLDataProperty getOWLTopDataProperty();

    /** @return the built in bottom object property */
    @Nonnull
    OWLObjectProperty getOWLBottomObjectProperty();

    /** @return the built in bottom data property */
    @Nonnull
    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.
     */
    @Nonnull
    OWLDatatype getTopDatatype();

    /**
     * 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).
* 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. * @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. */ @Nonnull OWLClass getOWLClass(@Nonnull String abbreviatedIRI, @Nonnull PrefixManager prefixManager); /** * 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). 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. * @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. */ @Nonnull OWLObjectProperty getOWLObjectProperty(@Nonnull String abbreviatedIRI, @Nonnull PrefixManager prefixManager); /** * Gets the inverse of an object property. * * @param property The property of which the inverse will be returned * @return The inverse of the specified object property */ @Nonnull OWLObjectInverseOf getOWLObjectInverseOf(@Nonnull OWLObjectPropertyExpression property); /** * 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. * @param prefixManager The prefix manager that is responsible for mapping prefix names to * prefix IRIs. * @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. */ @Nonnull OWLDataProperty getOWLDataProperty(@Nonnull String abbreviatedIRI, @Nonnull PrefixManager prefixManager); /** * 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. * @param prefixManager The prefix manager that is responsible for mapping prefix names to * prefix IRIs. * @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. */ @Nonnull OWLNamedIndividual getOWLNamedIndividual(@Nonnull String abbreviatedIRI, @Nonnull PrefixManager prefixManager); /** * 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. * @param prefixManager The prefix manager that is responsible for mapping prefix names to * prefix IRIs. * @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. */ @Nonnull OWLAnnotationProperty getOWLAnnotationProperty(@Nonnull String abbreviatedIRI, @Nonnull PrefixManager prefixManager); /** * Gets an annotation property that has an IRI corresponding to {@code rdfs:label}. * * @return An annotation property with an IRI of {@code rdfs:label}. */ @Nonnull OWLAnnotationProperty getRDFSLabel(); /** * Gets an annotation property that has an IRI corresponding to {@code rdfs:comment}. * * @return An annotation property with an IRI of {@code rdfs:comment}. */ @Nonnull OWLAnnotationProperty getRDFSComment(); /** * Gets an annotation property that has an IRI corresponding to {@code rdfs:seeAlso}. * * @return An annotation property with an IRI of {@code rdfs:seeAlso}. */ @Nonnull OWLAnnotationProperty getRDFSSeeAlso(); /** * Gets an annotation property that has an IRI corresponding to {@code rdfs:isDefinedBy}. * * @return An annotation property with an IRI of {@code rdfs:isDefinedBy}. */ @Nonnull OWLAnnotationProperty getRDFSIsDefinedBy(); /** * Gets an annotation property that has an IRI corresponding to {@code owl:versionInfo}. * * @return An annotation property with an IRI of {@code owl:versionInfo}. */ @Nonnull OWLAnnotationProperty getOWLVersionInfo(); /** * Gets an annotation property that has an IRI corresponding to * {@code owl:backwardCompatibleWith}. * * @return An annotation property with an IRI of {@code owl:backwardCompatibleWith}. */ @Nonnull OWLAnnotationProperty getOWLBackwardCompatibleWith(); /** * Gets an annotation property that has an IRI corresponding to {@code owl:incompatibleWith}. * * @return An annotation property with an IRI of {@code owl:incompatibleWith}. */ @Nonnull OWLAnnotationProperty getOWLIncompatibleWith(); /** * Gets an annotation property that has an IRI corresponding to * {@code owl:backwardCompatibleWith}. * * @return An annotation property with an IRI of {@code owl:backwardCompatibleWith}. */ @Nonnull OWLAnnotationProperty getOWLDeprecated(); /** * Gets the rdf:PlainLiteral datatype. * * @return The datatype with an IRI of {@code rdf:PlainLiteral} */ @Nonnull OWLDatatype getRDFPlainLiteral(); /** * 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. * @param prefixManager The prefix manager that is responsible for mapping prefix names to * prefix IRIs. * @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. */ @Nonnull OWLDatatype getOWLDatatype(@Nonnull String abbreviatedIRI, @Nonnull 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. */ @Nonnull 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. */ @Nonnull 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. */ @Nonnull 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. */ @Nonnull OWLDatatype getBooleanOWLDatatype(); // Literals /** * Gets an {@code OWLLiteral}, which has the specified lexical value, and is typed with the * specified datatype. * * @param lexicalValue The lexical value. * @param datatype The datatype. * @return An OWLLiteral with the specified lexical value and specified datatype. If the * datatype is {@code 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". */ @Nonnull OWLLiteral getOWLLiteral(@Nonnull String lexicalValue, @Nonnull OWLDatatype datatype); /** * Gets an {@code OWLLiteral}, which has the specified lexical value, and is typed with the * specified datatype. * * @param lexicalValue The lexical value. * @param datatype The datatype. * @return An OWLLiteral with the specified lexical value and specified datatype. If the * datatype is {@code 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". */ @Nonnull OWLLiteral getOWLLiteral(@Nonnull String lexicalValue, @Nonnull OWL2Datatype datatype); /** * Convenience method that obtains a literal typed as an integer. * * @param value The value of the literal * @return An {@code OWLLiteral} whose literal is the lexical value of the integer, and whose * data type is xsd:integer. */ @Nonnull OWLLiteral getOWLLiteral(int value); /** * Convenience method that obtains a literal typed as a double. * * @param value The value of the literal * @return An {@code OWLLiteral} whose literal is the lexical value of the double, and whose * data type is xsd:double. */ @Nonnull OWLLiteral getOWLLiteral(double value); /** * Convenience method that obtains a literal typed as a boolean. * * @param value The value of the literal * @return An {@code OWLLiteral} whose literal is the lexical value of the boolean, and whose * data type is xsd:boolean. */ @Nonnull OWLLiteral getOWLLiteral(boolean value); /** * Convenience method that obtains a literal typed as a float. * * @param value The value of the literal * @return An {@code OWLLiteral} whose literal is the lexical value of the float, and whose data * type is xsd:float. */ @Nonnull 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. * @return A literal (without a language tag) that has a datatype of xsd:string. */ @Nonnull OWLLiteral getOWLLiteral(@Nonnull 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. * @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 {@code lang} is {@code null} then {@code 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. */ @Nonnull OWLLiteral getOWLLiteral(@Nonnull String literal, @Nullable String lang); // Data ranges /** * Gets an OWLDataOneOf * * @param values The set of values that the data one of should contain. * @return A data one of that enumerates the specified set of values */ @Nonnull OWLDataOneOf getOWLDataOneOf(@Nonnull Set values); /** * Gets an OWLDataOneOf * * @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 */ @Nonnull OWLDataOneOf getOWLDataOneOf(@Nonnull OWLLiteral... values); /** * Gets an * OWLDataComplementOf * * @param dataRange The data range to be complemented. * @return An OWLDataComplementOf of the specified data range */ @Nonnull OWLDataComplementOf getOWLDataComplementOf(@Nonnull OWLDataRange dataRange); /** * OWLDatatypeRestriction see * specification * * @param dataType datatype for the restriction * @param facetRestrictions facet restrictions. Cannot contain nulls. * @return an OWLDatatypeRestriction for the specified data type and restrictions */ @Nonnull OWLDatatypeRestriction getOWLDatatypeRestriction(@Nonnull OWLDatatype dataType, @Nonnull Set facetRestrictions); /** * OWLDatatypeRestriction see * specification * * @param dataType datatype for the restriction * @param facet facet for restriction * @param typedLiteral literal for facet. * @return an OWLDatatypeRestriction with given value for the specified facet */ @Nonnull OWLDatatypeRestriction getOWLDatatypeRestriction(@Nonnull OWLDatatype dataType, @Nonnull OWLFacet facet, @Nonnull OWLLiteral typedLiteral); /** * @param dataType datatype for the restriction * @param facetRestrictions facet restrictions. Cannot contain nulls. * @return an OWLDatatypeRestriction for the specified data type and restrictions */ @Nonnull OWLDatatypeRestriction getOWLDatatypeRestriction(@Nonnull OWLDatatype dataType, @Nonnull 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 {@code xsd:integer} datatype * @return An {@code OWLDatatypeRestriction} that restricts the {@code xsd:integer} * {@link org.semanticweb.owlapi.model.OWLDatatype} with a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MIN_INCLUSIVE} facet value specified by * the {@code minInclusive} parameter. */ @Nonnull 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 {@code xsd:integer} datatype * @return An {@code OWLDatatypeRestriction} that restricts the {@code xsd:integer} * {@link org.semanticweb.owlapi.model.OWLDatatype} with a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MAX_INCLUSIVE} facet value specified by * the {@code maxInclusive} parameter. */ @Nonnull 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 {@code xsd:integer} datatype. * @param maxInclusive The value of the max inclusive facet restriction that will be applied to * the {@code xsd:integer} datatype * @return An {@code OWLDatatypeRestriction} that restricts the {@code xsd:integer} * {@link org.semanticweb.owlapi.model.OWLDatatype} with a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MIN_INCLUSIVE} facet value specified by * the {@code minInclusive} parameter and a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MAX_INCLUSIVE} facet value specified by * the {@code maxInclusive} parameter. */ @Nonnull 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 {@code xsd:integer} datatype * @return An {@code OWLDatatypeRestriction} that restricts the {@code xsd:integer} * {@link org.semanticweb.owlapi.model.OWLDatatype} with a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MIN_EXCLUSIVE} facet value specified by * the {@code minExclusive} parameter. */ @Nonnull 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 {@code xsd:integer} datatype * @return An {@code OWLDatatypeRestriction} that restricts the {@code xsd:integer} * {@link org.semanticweb.owlapi.model.OWLDatatype} with a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MAX_EXCLUSIVE} facet value specified by * the {@code maxExclusive} parameter. */ @Nonnull 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 {@code xsd:integer} datatype. * @param maxExclusive The value of the max exclusive facet restriction that will be applied to * the {@code xsd:integer} datatype * @return An {@code OWLDatatypeRestriction} that restricts the {@code xsd:integer} * {@link org.semanticweb.owlapi.model.OWLDatatype} with a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MIN_EXCLUSIVE} facet value specified by * the {@code minExclusive} parameter and a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MAX_EXCLUSIVE} facet value specified by * the {@code maxExclusive} parameter. */ @Nonnull 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 {@code xsd:double} datatype * @return An {@code OWLDatatypeRestriction} that restricts the {@code xsd:double} * {@link org.semanticweb.owlapi.model.OWLDatatype} with a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MIN_INCLUSIVE} facet value specified by * the {@code minInclusive} parameter. */ @Nonnull 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 {@code xsd:double} datatype * @return An {@code OWLDatatypeRestriction} that restricts the {@code xsd:double} * {@link org.semanticweb.owlapi.model.OWLDatatype} with a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MAX_INCLUSIVE} facet value specified by * the {@code maxInclusive} parameter. */ @Nonnull 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 {@code xsd:double} datatype. * @param maxInclusive The value of the max inclusive facet restriction that will be applied to * the {@code xsd:double} datatype * @return An {@code OWLDatatypeRestriction} that restricts the {@code xsd:double} * {@link org.semanticweb.owlapi.model.OWLDatatype} with a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MIN_INCLUSIVE} facet value specified by * the {@code minInclusive} parameter and a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MAX_INCLUSIVE} facet value specified by * the {@code maxInclusive} parameter. */ @Nonnull 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 {@code xsd:double} datatype * @return An {@code OWLDatatypeRestriction} that restricts the {@code xsd:double} * {@link org.semanticweb.owlapi.model.OWLDatatype} with a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MIN_EXCLUSIVE} facet value specified by * the {@code minExclusive} parameter. */ @Nonnull 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 {@code xsd:double} datatype * @return An {@code OWLDatatypeRestriction} that restricts the {@code xsd:double} * {@link org.semanticweb.owlapi.model.OWLDatatype} with a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MAX_EXCLUSIVE} facet value specified by * the {@code maxExclusive} parameter. */ @Nonnull 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 {@code xsd:double} datatype. * @param maxExclusive The value of the max exclusive facet restriction that will be applied to * the {@code xsd:double} datatype * @return An {@code OWLDatatypeRestriction} that restricts the {@code xsd:double} * {@link org.semanticweb.owlapi.model.OWLDatatype} with a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MIN_EXCLUSIVE} facet value specified by * the {@code minExclusive} parameter and a * {@link org.semanticweb.owlapi.vocab.OWLFacet#MAX_EXCLUSIVE} facet value specified by * the {@code maxExclusive} parameter. */ @Nonnull OWLDatatypeRestriction getOWLDatatypeMinMaxExclusiveRestriction(double minExclusive, double maxExclusive); /** * @param facet facet for restriction. * @param facetValue literal for restriction. * @return an OWLFacetRestriction on specified facet and value */ @Nonnull OWLFacetRestriction getOWLFacetRestriction(@Nonnull OWLFacet facet, @Nonnull OWLLiteral facetValue); /** * @param facet facet for restriction. * @param facetValue facet value * @return an OWLFacetRestriction on specified facet and value */ @Nonnull OWLFacetRestriction getOWLFacetRestriction(@Nonnull OWLFacet facet, int facetValue); /** * @param facet facet for restriction * @param facetValue facet value. * @return an OWLFacetRestriction on specified facet and value */ @Nonnull OWLFacetRestriction getOWLFacetRestriction(@Nonnull OWLFacet facet, double facetValue); /** * @param facet facet for restriction * @param facetValue facet value. * @return an OWLFacetRestriction on specified facet and value */ @Nonnull OWLFacetRestriction getOWLFacetRestriction(@Nonnull OWLFacet facet, float facetValue); /** * @param dataRanges data ranges for union. Cannot be null or contain nulls. * @return an OWLDataUnionOf on the specified dataranges */ @Nonnull OWLDataUnionOf getOWLDataUnionOf(@Nonnull Set dataRanges); /** * @param dataRanges data ranges for union. Cannot be null or contain nulls. * @return an OWLDataUnionOf on the specified dataranges */ @Nonnull OWLDataUnionOf getOWLDataUnionOf(@Nonnull OWLDataRange... dataRanges); /** * @param dataRanges data ranges for intersection. Cannot be null or contain nulls. * @return an OWLDataIntersectionOf on the specified dataranges */ @Nonnull OWLDataIntersectionOf getOWLDataIntersectionOf(@Nonnull Set dataRanges); /** * @param dataRanges data ranges for intersection. Cannot be null or contain nulls. * @return an OWLDataIntersectionOf on the specified dataranges */ @Nonnull OWLDataIntersectionOf getOWLDataIntersectionOf(@Nonnull OWLDataRange... dataRanges); // Class Expressions /** * @param operands class expressions for intersection. Cannot be null or contain nulls. * @return an OWLObjectIntersectionOf on the specified operands */ @Nonnull OWLObjectIntersectionOf getOWLObjectIntersectionOf( @Nonnull Set operands); /** * @param operands class expressions for intersection. Cannot be null or contain nulls. * @return an OWLObjectIntersectionOf on the specified operands */ @Nonnull OWLObjectIntersectionOf getOWLObjectIntersectionOf(@Nonnull OWLClassExpression... operands); // Data restrictions /** * Gets an OWLDataSomeValuesFrom restriction * * @param property The property that the restriction acts along. * @param dataRange The data range that is the filler. * @return An OWLDataSomeValuesFrom restriction that acts along the specified property and has * the specified filler */ @Nonnull OWLDataSomeValuesFrom getOWLDataSomeValuesFrom(@Nonnull OWLDataPropertyExpression property, @Nonnull OWLDataRange dataRange); /** * @param property The property that the restriction acts along. * @param dataRange The data range that is the filler. * @return An OWLDataAllValuesFrom restriction that acts along the specified property and has * the specified filler */ @Nonnull OWLDataAllValuesFrom getOWLDataAllValuesFrom(@Nonnull OWLDataPropertyExpression property, @Nonnull OWLDataRange dataRange); /** * @param cardinality Cannot be negative * @param property The property that the restriction acts along. * @return an ExactCardinality on the specified property */ @Nonnull OWLDataExactCardinality getOWLDataExactCardinality(@Nonnegative int cardinality, @Nonnull OWLDataPropertyExpression property); /** * @param cardinality Cannot be negative * @param property The property that the restriction acts along. * @param dataRange data range for restricition * @return an ExactCardinality on the specified property */ @Nonnull OWLDataExactCardinality getOWLDataExactCardinality(@Nonnegative int cardinality, @Nonnull OWLDataPropertyExpression property, @Nonnull OWLDataRange dataRange); /** * @param cardinality Cannot be negative * @param property The property that the restriction acts along. * @return an ExactCardinality on the specified property */ @Nonnull OWLDataMaxCardinality getOWLDataMaxCardinality(@Nonnegative int cardinality, @Nonnull OWLDataPropertyExpression property); /** * @param cardinality Cannot be negative * @param property The property that the restriction acts along. * @param dataRange data range for restriction * @return an ExactCardinality on the specified property */ @Nonnull OWLDataMaxCardinality getOWLDataMaxCardinality(@Nonnegative int cardinality, @Nonnull OWLDataPropertyExpression property, @Nonnull OWLDataRange dataRange); /** * @param cardinality Cannot be negative * @param property The property that the restriction acts along. * @return an ExactCardinality on the specified property */ @Nonnull OWLDataMinCardinality getOWLDataMinCardinality(@Nonnegative int cardinality, @Nonnull OWLDataPropertyExpression property); /** * @param cardinality Cannot be negative. * @param property The property that the restriction acts along. * @param dataRange data range for restriction * @return an ExactCardinality on the specified property */ @Nonnull OWLDataMinCardinality getOWLDataMinCardinality(@Nonnegative int cardinality, @Nonnull OWLDataPropertyExpression property, @Nonnull OWLDataRange dataRange); /** * @param property The property that the restriction acts along. * @param value value for restriction * @return a HasValue restriction with specified property and value */ @Nonnull OWLDataHasValue getOWLDataHasValue(@Nonnull OWLDataPropertyExpression property, @Nonnull OWLLiteral value); /** * @param operand class expression to complement * @return the complement of the specified argument */ @Nonnull OWLObjectComplementOf getOWLObjectComplementOf(@Nonnull OWLClassExpression operand); /** * @param values individuals for restriction. Cannot be null or contain nulls. * @return a OneOf expression on specified individuals */ @Nonnull OWLObjectOneOf getOWLObjectOneOf(@Nonnull Set values); /** * @param individuals individuals for restriction. Cannot be null or contain nulls. * @return a OneOf expression on specified individuals */ @Nonnull OWLObjectOneOf getOWLObjectOneOf(@Nonnull OWLIndividual... individuals); // Object restrictions /** * @param property The property that the restriction acts along. * @param classExpression the class expression for the restriction * @return an AllValuesFrom on specified property and class expression */ @Nonnull OWLObjectAllValuesFrom getOWLObjectAllValuesFrom(@Nonnull OWLObjectPropertyExpression property, @Nonnull OWLClassExpression classExpression); /** * Gets an OWLObjectSomeValuesFrom restriction * * @param property The object property that the restriction acts along. * @param classExpression The class expression that is the filler. * @return An OWLObjectSomeValuesFrom restriction along the specified property with the * specified filler */ @Nonnull OWLObjectSomeValuesFrom getOWLObjectSomeValuesFrom( @Nonnull OWLObjectPropertyExpression property, @Nonnull OWLClassExpression classExpression); /** * @param cardinality Cannot be negative. * @param property The property that the restriction acts along. * @return an ExactCardinality on the specified property */ @Nonnull OWLObjectExactCardinality getOWLObjectExactCardinality(@Nonnegative int cardinality, @Nonnull OWLObjectPropertyExpression property); /** * @param cardinality Cannot be negative. * @param property The property that the restriction acts along. * @param classExpression class expression for restriction * @return an ExactCardinality on the specified property */ @Nonnull OWLObjectExactCardinality getOWLObjectExactCardinality(@Nonnegative int cardinality, @Nonnull OWLObjectPropertyExpression property, @Nonnull OWLClassExpression classExpression); /** * @param cardinality Cannot be negative. * @param property The property that the restriction acts along. * @return an ExactCardinality on the specified property */ @Nonnull OWLObjectMinCardinality getOWLObjectMinCardinality(@Nonnegative int cardinality, @Nonnull OWLObjectPropertyExpression property); /** * @param cardinality Cannot be negative. * @param property The property that the restriction acts along. * @param classExpression class expression for restriction * @return an ExactCardinality on the specified property */ @Nonnull OWLObjectMinCardinality getOWLObjectMinCardinality(@Nonnegative int cardinality, @Nonnull OWLObjectPropertyExpression property, @Nonnull OWLClassExpression classExpression); /** * @param cardinality Cannot be negative. * @param property The property that the restriction acts along. * @return an ExactCardinality on the specified property */ @Nonnull OWLObjectMaxCardinality getOWLObjectMaxCardinality(@Nonnegative int cardinality, @Nonnull OWLObjectPropertyExpression property); /** * @param cardinality Cannot be negative. * @param property The property that the restriction acts along. * @param classExpression class expression for restriction * @return an ExactCardinality on the specified property */ @Nonnull OWLObjectMaxCardinality getOWLObjectMaxCardinality(@Nonnegative int cardinality, @Nonnull OWLObjectPropertyExpression property, @Nonnull OWLClassExpression classExpression); /** * @param property The property that the restriction acts along. * @return a ObjectHasSelf class expression on the specified property */ @Nonnull OWLObjectHasSelf getOWLObjectHasSelf(@Nonnull OWLObjectPropertyExpression property); /** * @param property The property that the restriction acts along. * @param individual individual for restriction * @return a HasValue restriction with specified property and value */ @Nonnull OWLObjectHasValue getOWLObjectHasValue(@Nonnull OWLObjectPropertyExpression property, @Nonnull OWLIndividual individual); /** * @param operands class expressions for union * @return a class union over the specified arguments */ @Nonnull OWLObjectUnionOf getOWLObjectUnionOf(@Nonnull Set operands); /** * @param operands class expressions for union * @return a class union over the specified arguments */ @Nonnull OWLObjectUnionOf getOWLObjectUnionOf(@Nonnull OWLClassExpression... operands); // Axioms /** * Gets a declaration for an entity * * @param owlEntity The declared entity. * @return The declaration axiom for the specified entity. */ @Nonnull OWLDeclarationAxiom getOWLDeclarationAxiom(@Nonnull OWLEntity owlEntity); /** * Gets a declaration with zero or more annotations for an entity * * @param owlEntity The declared entity. * @param annotations A set of annotations. Cannot be null or contain nulls. * @return The declaration axiom for the specified entity which is annotated with the specified * annotations */ @Nonnull OWLDeclarationAxiom getOWLDeclarationAxiom(@Nonnull OWLEntity owlEntity, @Nonnull Set annotations); // Class Axioms /** * @param subClass sub class * @param superClass super class * @return a subclass axiom with no annotations */ @Nonnull OWLSubClassOfAxiom getOWLSubClassOfAxiom(@Nonnull OWLClassExpression subClass, @Nonnull OWLClassExpression superClass); /** * @param subClass sub class * @param superClass super class * @param annotations A set of annotations. Cannot be null or contain nulls. * @return a subclass axiom with specified annotations */ @Nonnull OWLSubClassOfAxiom getOWLSubClassOfAxiom(@Nonnull OWLClassExpression subClass, @Nonnull OWLClassExpression superClass, @Nonnull Set annotations); /** * @param classExpressions equivalent classes. Cannot be null or contain nulls. * @return an equivalent classes axiom with specified operands and no annotations */ @Nonnull OWLEquivalentClassesAxiom getOWLEquivalentClassesAxiom( @Nonnull Set classExpressions); /** * @param classExpressions equivalent classes. Cannot be null or contain nulls. * @param annotations A set of annotations. Cannot be null or contain nulls. * @return an equivalent classes axiom with specified operands and annotations */ @Nonnull OWLEquivalentClassesAxiom getOWLEquivalentClassesAxiom( @Nonnull Set classExpressions, @Nonnull Set annotations); /** * @param classExpressions equivalent classes. Cannot be null or contain nulls. * @return an equivalent classes axiom with specified operands and no annotations */ @Nonnull OWLEquivalentClassesAxiom getOWLEquivalentClassesAxiom( @Nonnull OWLClassExpression... classExpressions); /** * @param clsA one class for equivalence * @param clsB one class for equivalence * @return an equivalent classes axiom with specified operands and no annotations (special case * with only two operands) */ @Nonnull OWLEquivalentClassesAxiom getOWLEquivalentClassesAxiom(@Nonnull OWLClassExpression clsA, @Nonnull OWLClassExpression clsB); /** * @param clsA one class for equivalence * @param clsB one class for equivalence * @param annotations A set of annotations. Cannot be null or contain nulls. * @return an equivalent classes axiom with specified operands and annotations (special case * with only two operands) */ @Nonnull OWLEquivalentClassesAxiom getOWLEquivalentClassesAxiom(@Nonnull OWLClassExpression clsA, @Nonnull OWLClassExpression clsB, @Nonnull Set annotations); /** * @param classExpressions Disjoint classes. Cannot be null or contain nulls. * @return a disjoint class axiom with no annotations */ @Nonnull OWLDisjointClassesAxiom getOWLDisjointClassesAxiom( @Nonnull Set classExpressions); /** * @param classExpressions Disjoint classes. Cannot be null or contain nulls. * @return a disjoint class axiom with no annotations */ @Nonnull OWLDisjointClassesAxiom getOWLDisjointClassesAxiom( @Nonnull OWLClassExpression... classExpressions); /** * @param classExpressions Disjoint classes. Cannot be null or contain nulls. * @param annotations A set of annotations. Cannot be null or contain nulls. * @return a disjoint class axiom with annotations */ @Nonnull OWLDisjointClassesAxiom getOWLDisjointClassesAxiom( @Nonnull Set classExpressions, @Nonnull Set annotations); /** * @param owlClass left hand side of the axiom. * @param classExpressions right hand side of the axiom. Cannot be null or contain nulls. * @return a disjoint union axiom */ @Nonnull OWLDisjointUnionAxiom getOWLDisjointUnionAxiom(@Nonnull OWLClass owlClass, @Nonnull 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 A set of annotations. Cannot be null or contain nulls. * @return a disjoint union axiom with annotations */ @Nonnull OWLDisjointUnionAxiom getOWLDisjointUnionAxiom(@Nonnull OWLClass owlClass, @Nonnull Set classExpressions, @Nonnull Set annotations); // Object property axioms /** * @param subProperty sub property * @param superProperty super property * @return a subproperty axiom */ @Nonnull OWLSubObjectPropertyOfAxiom getOWLSubObjectPropertyOfAxiom( @Nonnull OWLObjectPropertyExpression subProperty, @Nonnull OWLObjectPropertyExpression superProperty); /** * @param subProperty sub Property * @param superProperty super Property * @param annotations A set of annotations. Cannot be null or contain nulls. * @return a subproperty axiom with annotations */ @Nonnull OWLSubObjectPropertyOfAxiom getOWLSubObjectPropertyOfAxiom( @Nonnull OWLObjectPropertyExpression subProperty, @Nonnull OWLObjectPropertyExpression superProperty, @Nonnull Set annotations); /** * @param chain Chain of properties. Cannot be null or contain nulls. * @param superProperty super property * @return a subproperty chain axiom */ @Nonnull OWLSubPropertyChainOfAxiom getOWLSubPropertyChainOfAxiom( @Nonnull List chain, @Nonnull OWLObjectPropertyExpression superProperty); /** * @param chain Chain of properties. Cannot be null or contain nulls. * @param superProperty super property * @param annotations A set of annotations. Cannot be null or contain nulls. * @return a subproperty chain axiom */ @Nonnull OWLSubPropertyChainOfAxiom getOWLSubPropertyChainOfAxiom( @Nonnull List chain, @Nonnull OWLObjectPropertyExpression superProperty, @Nonnull Set annotations); /** * @param properties Cannot be null or contain nulls. * @return an equivalent properties axiom with specified properties */ @Nonnull OWLEquivalentObjectPropertiesAxiom getOWLEquivalentObjectPropertiesAxiom( @Nonnull Set properties); /** * @param properties Cannot be null or contain nulls. * @param annotations A set of annotations. Cannot be null or contain nulls. * @return an equivalent properties axiom with specified properties and annotations */ @Nonnull OWLEquivalentObjectPropertiesAxiom getOWLEquivalentObjectPropertiesAxiom( @Nonnull Set properties, @Nonnull Set annotations); /** * @param properties Cannot be null or contain nulls. * @return an equivalent properties axiom with specified properties */ @Nonnull OWLEquivalentObjectPropertiesAxiom getOWLEquivalentObjectPropertiesAxiom( @Nonnull OWLObjectPropertyExpression... properties); /** * @param propertyA property A * @param propertyB property B * @return an equivalent properties axiom with specified properties */ @Nonnull OWLEquivalentObjectPropertiesAxiom getOWLEquivalentObjectPropertiesAxiom( @Nonnull OWLObjectPropertyExpression propertyA, @Nonnull OWLObjectPropertyExpression propertyB); /** * @param propertyA property A * @param propertyB property B * @param annotations A set of annotations. Cannot be null or contain nulls. * @return an equivalent properties axiom with specified properties and annotations */ @Nonnull OWLEquivalentObjectPropertiesAxiom getOWLEquivalentObjectPropertiesAxiom( @Nonnull OWLObjectPropertyExpression propertyA, @Nonnull OWLObjectPropertyExpression propertyB, @Nonnull Set annotations); /** * @param properties Cannot be null or contain nulls. * @return a disjoint object properties axiom with specified properties */ @Nonnull OWLDisjointObjectPropertiesAxiom getOWLDisjointObjectPropertiesAxiom( @Nonnull Set properties); /** * @param properties Cannot be null or contain nulls. * @return a disjoint object properties axiom with specified properties */ @Nonnull OWLDisjointObjectPropertiesAxiom getOWLDisjointObjectPropertiesAxiom( @Nonnull OWLObjectPropertyExpression... properties); /** * @param properties Cannot be null or contain nulls. * @param annotations A set of annotations. Cannot be null or contain nulls. * @return a disjoint object properties axiom with specified properties and annotations */ @Nonnull OWLDisjointObjectPropertiesAxiom getOWLDisjointObjectPropertiesAxiom( @Nonnull Set properties, @Nonnull Set annotations); /** * @param forwardProperty forward Property * @param inverseProperty inverse Property * @return an inverse object property axiom */ @Nonnull OWLInverseObjectPropertiesAxiom getOWLInverseObjectPropertiesAxiom( @Nonnull OWLObjectPropertyExpression forwardProperty, @Nonnull OWLObjectPropertyExpression inverseProperty); /** * @param forwardProperty forward Property * @param inverseProperty inverse Property * @param annotations A set of annotations. Cannot be null or contain nulls. * @return an inverse object property axiom with annotations */ @Nonnull OWLInverseObjectPropertiesAxiom getOWLInverseObjectPropertiesAxiom( @Nonnull OWLObjectPropertyExpression forwardProperty, @Nonnull OWLObjectPropertyExpression inverseProperty, @Nonnull Set annotations); /** * @param property property * @param classExpression class Expression * @return an object property domain axiom */ @Nonnull OWLObjectPropertyDomainAxiom getOWLObjectPropertyDomainAxiom( @Nonnull OWLObjectPropertyExpression property, @Nonnull OWLClassExpression classExpression); /** * @param property property * @param classExpression class Expression * @param annotations A set of annotations. Cannot be null or contain nulls. * @return an object property domain axiom with annotations */ @Nonnull OWLObjectPropertyDomainAxiom getOWLObjectPropertyDomainAxiom( @Nonnull OWLObjectPropertyExpression property, @Nonnull OWLClassExpression classExpression, @Nonnull Set annotations); /** * @param property property * @param range range * @return an object property range axiom */ @Nonnull OWLObjectPropertyRangeAxiom getOWLObjectPropertyRangeAxiom( @Nonnull OWLObjectPropertyExpression property, @Nonnull OWLClassExpression range); /** * @param property property * @param range range * @param annotations A set of annotations. Cannot be null or contain nulls. * @return an object property range axiom with annotations */ @Nonnull OWLObjectPropertyRangeAxiom getOWLObjectPropertyRangeAxiom( @Nonnull OWLObjectPropertyExpression property, @Nonnull OWLClassExpression range, @Nonnull Set annotations); /** * @param property property * @return a functional object property axiom */ @Nonnull OWLFunctionalObjectPropertyAxiom getOWLFunctionalObjectPropertyAxiom( @Nonnull OWLObjectPropertyExpression property); /** * @param property property * @param annotations A set of annotations. Cannot be null or contain nulls. * @return a functional object property axiom with annotations */ @Nonnull OWLFunctionalObjectPropertyAxiom getOWLFunctionalObjectPropertyAxiom( @Nonnull OWLObjectPropertyExpression property, @Nonnull Set annotations); /** * @param property property * @return an inverse functional object property axiom */ @Nonnull OWLInverseFunctionalObjectPropertyAxiom getOWLInverseFunctionalObjectPropertyAxiom( @Nonnull OWLObjectPropertyExpression property); /** * @param property property * @param annotations A set of annotations. Cannot be null or contain nulls. * @return an inverse functional object property axiom with annotations */ @Nonnull OWLInverseFunctionalObjectPropertyAxiom getOWLInverseFunctionalObjectPropertyAxiom( @Nonnull OWLObjectPropertyExpression property, @Nonnull Set annotations); /** * @param property property * @return a reflexive object property axiom */ @Nonnull OWLReflexiveObjectPropertyAxiom getOWLReflexiveObjectPropertyAxiom( @Nonnull OWLObjectPropertyExpression property); /** * @param property property * @param annotations A set of annotations. Cannot be null or contain nulls. * @return a reflexive object property axiom with annotations */ @Nonnull OWLReflexiveObjectPropertyAxiom getOWLReflexiveObjectPropertyAxiom( @Nonnull OWLObjectPropertyExpression property, @Nonnull Set annotations); /** * @param property property * @return an irreflexive object property axiom */ @Nonnull OWLIrreflexiveObjectPropertyAxiom getOWLIrreflexiveObjectPropertyAxiom( @Nonnull OWLObjectPropertyExpression property); /** * @param property property * @param annotations A set of annotations. Cannot be null or contain nulls. * @return an irreflexive object property axiom with annotations */ @Nonnull OWLIrreflexiveObjectPropertyAxiom getOWLIrreflexiveObjectPropertyAxiom( @Nonnull OWLObjectPropertyExpression property, @Nonnull Set annotations); /** * @param property property * @return a symmetric property axiom */ @Nonnull OWLSymmetricObjectPropertyAxiom getOWLSymmetricObjectPropertyAxiom( @Nonnull OWLObjectPropertyExpression property); /** * @param property property * @param annotations A set of annotations. Cannot be null or contain nulls. * @return a symmetric property axiom with annotations */ @Nonnull OWLSymmetricObjectPropertyAxiom getOWLSymmetricObjectPropertyAxiom( @Nonnull OWLObjectPropertyExpression property, @Nonnull Set annotations); /** * @param propertyExpression property Expression * @return an asymmetric object property axiom on the specified argument */ @Nonnull OWLAsymmetricObjectPropertyAxiom getOWLAsymmetricObjectPropertyAxiom( @Nonnull OWLObjectPropertyExpression propertyExpression); /** * @param propertyExpression property Expression * @param annotations A set of annotations. Cannot be null or contain nulls. * @return an asymmetric object property axiom on the specified argument with annotations */ @Nonnull OWLAsymmetricObjectPropertyAxiom getOWLAsymmetricObjectPropertyAxiom( @Nonnull OWLObjectPropertyExpression propertyExpression, @Nonnull Set annotations); /** * @param property property * @return a transitive object property axiom on the specified argument */ @Nonnull OWLTransitiveObjectPropertyAxiom getOWLTransitiveObjectPropertyAxiom( @Nonnull OWLObjectPropertyExpression property); /** * @param property property * @param annotations A set of annotations. Cannot be null or contain nulls. * @return a transitive object property axiom on the specified argument with annotations */ @Nonnull OWLTransitiveObjectPropertyAxiom getOWLTransitiveObjectPropertyAxiom( @Nonnull OWLObjectPropertyExpression property, @Nonnull Set annotations); // Data property axioms /** * @param subProperty sub Property * @param superProperty super Property * @return a subproperty axiom */ @Nonnull OWLSubDataPropertyOfAxiom getOWLSubDataPropertyOfAxiom( @Nonnull OWLDataPropertyExpression subProperty, @Nonnull OWLDataPropertyExpression superProperty); /** * @param subProperty sub Property * @param superProperty super Property * @param annotations A set of annotations. Cannot be null or contain nulls. * @return a subproperty axiom with annotations */ @Nonnull OWLSubDataPropertyOfAxiom getOWLSubDataPropertyOfAxiom( @Nonnull OWLDataPropertyExpression subProperty, @Nonnull OWLDataPropertyExpression superProperty, @Nonnull Set annotations); /** * @param properties Cannot be null or contain nulls. * @return an equivalent data properties axiom */ @Nonnull OWLEquivalentDataPropertiesAxiom getOWLEquivalentDataPropertiesAxiom( @Nonnull Set properties); /** * @param properties properties * @param annotations A set of annotations. Cannot be null or contain nulls. * @return an equivalent data properties axiom with annotations */ @Nonnull OWLEquivalentDataPropertiesAxiom getOWLEquivalentDataPropertiesAxiom( @Nonnull Set properties, @Nonnull Set annotations); /** * @param properties Cannot be null or contain nulls. * @return an equivalent data properties axiom */ @Nonnull OWLEquivalentDataPropertiesAxiom getOWLEquivalentDataPropertiesAxiom( @Nonnull OWLDataPropertyExpression... properties); /** * @param propertyA property A * @param propertyB property B * @return an equivalent data properties axiom */ @Nonnull OWLEquivalentDataPropertiesAxiom getOWLEquivalentDataPropertiesAxiom( @Nonnull OWLDataPropertyExpression propertyA, @Nonnull OWLDataPropertyExpression propertyB); /** * @param propertyA property A * @param propertyB property B * @param annotations A set of annotations. Cannot be null or contain nulls. * @return an equivalent data properties axiom with annotations */ @Nonnull OWLEquivalentDataPropertiesAxiom getOWLEquivalentDataPropertiesAxiom( @Nonnull OWLDataPropertyExpression propertyA, @Nonnull OWLDataPropertyExpression propertyB, @Nonnull Set annotations); /** * @param dataProperties Cannot be null or contain nulls. * @return a disjoint data properties axiom with specified properties */ @Nonnull OWLDisjointDataPropertiesAxiom getOWLDisjointDataPropertiesAxiom( @Nonnull OWLDataPropertyExpression... dataProperties); /** * @param properties Cannot be null or contain nulls. * @return a disjoint data properties axiom with specified properties */ @Nonnull OWLDisjointDataPropertiesAxiom getOWLDisjointDataPropertiesAxiom( @Nonnull Set properties); /** * @param properties Cannot be null or contain nulls. * @param annotations A set of annotations. Cannot be null or contain nulls. * @return a disjoint data properties axiom with specified properties and annotations */ @Nonnull OWLDisjointDataPropertiesAxiom getOWLDisjointDataPropertiesAxiom( @Nonnull Set properties, @Nonnull Set annotations); /** * @param property property * @param domain domain * @return a data property domain axiom */ @Nonnull OWLDataPropertyDomainAxiom getOWLDataPropertyDomainAxiom( @Nonnull OWLDataPropertyExpression property, @Nonnull OWLClassExpression domain); /** * @param property property * @param domain domain * @param annotations A set of annotations. Cannot be null or contain nulls. * @return a data property domain axiom with annotations */ @Nonnull OWLDataPropertyDomainAxiom getOWLDataPropertyDomainAxiom( @Nonnull OWLDataPropertyExpression property, @Nonnull OWLClassExpression domain, @Nonnull Set annotations); /** * @param property property * @param owlDataRange data range * @return a data property range axiom */ @Nonnull OWLDataPropertyRangeAxiom getOWLDataPropertyRangeAxiom( @Nonnull OWLDataPropertyExpression property, @Nonnull OWLDataRange owlDataRange); /** * @param property property * @param owlDataRange data range * @param annotations A set of annotations. Cannot be null or contain nulls. * @return a data property range axiom with annotations */ @Nonnull OWLDataPropertyRangeAxiom getOWLDataPropertyRangeAxiom( @Nonnull OWLDataPropertyExpression property, @Nonnull OWLDataRange owlDataRange, @Nonnull Set annotations); /** * @param property property * @return a functional data property axiom */ @Nonnull OWLFunctionalDataPropertyAxiom getOWLFunctionalDataPropertyAxiom( @Nonnull OWLDataPropertyExpression property); /** * @param property property * @param annotations A set of annotations. Cannot be null or contain nulls. * @return a functional data property axiom with annotations */ @Nonnull OWLFunctionalDataPropertyAxiom getOWLFunctionalDataPropertyAxiom( @Nonnull OWLDataPropertyExpression property, @Nonnull Set annotations); // Data axioms /** * @param ce class expression * @param properties Cannot be null or contain nulls. * @return a hasKey axiom on given arguments */ @Nonnull OWLHasKeyAxiom getOWLHasKeyAxiom(@Nonnull OWLClassExpression ce, @Nonnull Set properties); /** * @param ce class expression * @param properties Cannot be null or contain nulls. * @return a hasKey axiom on given arguments */ @Nonnull OWLHasKeyAxiom getOWLHasKeyAxiom(@Nonnull OWLClassExpression ce, @Nonnull OWLPropertyExpression... properties); /** * @param ce class expression * @param objectProperties Cannot be null or contain nulls. * @param annotations A set of annotations. Cannot be null or contain nulls. * @return a hasKey axiom on given arguments and annotations */ @Nonnull OWLHasKeyAxiom getOWLHasKeyAxiom(@Nonnull OWLClassExpression ce, @Nonnull Set objectProperties, @Nonnull Set annotations); /** * @param datatype data type * @param dataRange data Range * @return a datatype definition axiom */ @Nonnull OWLDatatypeDefinitionAxiom getOWLDatatypeDefinitionAxiom(@Nonnull OWLDatatype datatype, @Nonnull OWLDataRange dataRange); /** * @param datatype data type * @param dataRange data Range * @param annotations A set of annotations. Cannot be null or contain nulls. * @return a datatype definition axiom with annotations */ @Nonnull OWLDatatypeDefinitionAxiom getOWLDatatypeDefinitionAxiom(@Nonnull OWLDatatype datatype, @Nonnull OWLDataRange dataRange, @Nonnull Set annotations); // Assertion (Individual) axioms /** * @param individuals Cannot be null or contain nulls. * @return a same individuals axiom with specified individuals */ @Nonnull OWLSameIndividualAxiom getOWLSameIndividualAxiom( @Nonnull Set individuals); /** * @param individual individual * @return a same individuals axiom with specified individuals */ @Nonnull OWLSameIndividualAxiom getOWLSameIndividualAxiom(@Nonnull OWLIndividual... individual); /** * @param individuals Cannot be null or contain nulls. * @param annotations A set of annotations. Cannot be null or contain nulls. * @return a same individuals axiom with specified individuals and annotations */ @Nonnull OWLSameIndividualAxiom getOWLSameIndividualAxiom( @Nonnull Set individuals, @Nonnull Set annotations); /** * @param individuals Cannot be null or contain nulls. * @return a different individuals axiom with specified individuals */ @Nonnull OWLDifferentIndividualsAxiom getOWLDifferentIndividualsAxiom( @Nonnull Set individuals); /** * @param individuals Cannot be null or contain nulls. * @return a different individuals axiom with specified individuals */ @Nonnull OWLDifferentIndividualsAxiom getOWLDifferentIndividualsAxiom( @Nonnull OWLIndividual... individuals); /** * @param individuals Cannot be null or contain nulls. * @param annotations A set of annotations. Cannot be null or contain nulls. * @return a different individuals axiom with specified individuals and annotations */ @Nonnull OWLDifferentIndividualsAxiom getOWLDifferentIndividualsAxiom( @Nonnull Set individuals, @Nonnull Set annotations); /** * @param classExpression class Expression * @param individual individual * @return a class assertion axiom */ @Nonnull OWLClassAssertionAxiom getOWLClassAssertionAxiom(@Nonnull OWLClassExpression classExpression, @Nonnull OWLIndividual individual); /** * @param classExpression class Expression * @param individual individual * @param annotations A set of annotations. Cannot be null or contain nulls. * @return a class assertion axiom with annotations */ @Nonnull OWLClassAssertionAxiom getOWLClassAssertionAxiom(@Nonnull OWLClassExpression classExpression, @Nonnull OWLIndividual individual, @Nonnull Set annotations); /** * @param property property * @param individual individual * @param object object * @return an object property assertion */ @Nonnull OWLObjectPropertyAssertionAxiom getOWLObjectPropertyAssertionAxiom( @Nonnull OWLObjectPropertyExpression property, @Nonnull OWLIndividual individual, @Nonnull OWLIndividual object); /** * @param property property * @param individual individual * @param object object * @param annotations A set of annotations. Cannot be null or contain nulls. * @return an object property assertion with annotations */ @Nonnull OWLObjectPropertyAssertionAxiom getOWLObjectPropertyAssertionAxiom( @Nonnull OWLObjectPropertyExpression property, @Nonnull OWLIndividual individual, @Nonnull OWLIndividual object, @Nonnull Set annotations); /** * @param property property * @param subject subject * @param object object * @return a negative property assertion axiom on given arguments */ @Nonnull OWLNegativeObjectPropertyAssertionAxiom getOWLNegativeObjectPropertyAssertionAxiom( @Nonnull OWLObjectPropertyExpression property, @Nonnull OWLIndividual subject, @Nonnull OWLIndividual object); /** * @param property property * @param subject subject * @param object object * @param annotations A set of annotations. Cannot be null or contain nulls. * @return a negative property assertion axiom on given arguments with annotations */ @Nonnull OWLNegativeObjectPropertyAssertionAxiom getOWLNegativeObjectPropertyAssertionAxiom( @Nonnull OWLObjectPropertyExpression property, @Nonnull OWLIndividual subject, @Nonnull OWLIndividual object, @Nonnull Set annotations); /** * @param property property * @param subject subject * @param object object * @return a data property assertion */ @Nonnull OWLDataPropertyAssertionAxiom getOWLDataPropertyAssertionAxiom( @Nonnull OWLDataPropertyExpression property, @Nonnull OWLIndividual subject, @Nonnull OWLLiteral object); /** * @param property property * @param subject subject * @param object object * @param annotations A set of annotations. Cannot be null or contain nulls. * @return a data property assertion with annotations */ @Nonnull OWLDataPropertyAssertionAxiom getOWLDataPropertyAssertionAxiom( @Nonnull OWLDataPropertyExpression property, @Nonnull OWLIndividual subject, @Nonnull OWLLiteral object, @Nonnull Set annotations); /** * @param property property * @param subject subject * @param value value * @return a data property assertion */ @Nonnull OWLDataPropertyAssertionAxiom getOWLDataPropertyAssertionAxiom( @Nonnull OWLDataPropertyExpression property, @Nonnull OWLIndividual subject, int value); /** * @param property property * @param subject subject * @param value value * @return a data property assertion */ @Nonnull OWLDataPropertyAssertionAxiom getOWLDataPropertyAssertionAxiom( @Nonnull OWLDataPropertyExpression property, @Nonnull OWLIndividual subject, double value); /** * @param property property * @param subject subject * @param value value * @return a data property assertion */ @Nonnull OWLDataPropertyAssertionAxiom getOWLDataPropertyAssertionAxiom( @Nonnull OWLDataPropertyExpression property, @Nonnull OWLIndividual subject, float value); /** * @param property property * @param subject subject * @param value value * @return a data property assertion */ @Nonnull OWLDataPropertyAssertionAxiom getOWLDataPropertyAssertionAxiom( @Nonnull OWLDataPropertyExpression property, @Nonnull OWLIndividual subject, boolean value); /** * @param property property * @param subject subject * @param value value * @return a data property assertion */ @Nonnull OWLDataPropertyAssertionAxiom getOWLDataPropertyAssertionAxiom( @Nonnull OWLDataPropertyExpression property, @Nonnull OWLIndividual subject, @Nonnull String value); /** * @param property property * @param subject subject * @param object object * @return a negative property assertion axiom on given arguments */ @Nonnull OWLNegativeDataPropertyAssertionAxiom getOWLNegativeDataPropertyAssertionAxiom( @Nonnull OWLDataPropertyExpression property, @Nonnull OWLIndividual subject, @Nonnull OWLLiteral object); /** * @param property property * @param subject subject * @param object object * @param annotations A set of annotations. Cannot be null or contain nulls. * @return a negative property assertion axiom on given arguments with annotations */ @Nonnull OWLNegativeDataPropertyAssertionAxiom getOWLNegativeDataPropertyAssertionAxiom( @Nonnull OWLDataPropertyExpression property, @Nonnull OWLIndividual subject, @Nonnull OWLLiteral object, @Nonnull Set annotations); // Annotations /** * Gets an annotation * * @param property the annotation property. * @param value The annotation value. * @return The annotation on the specified property with the specified value */ @Nonnull OWLAnnotation getOWLAnnotation(@Nonnull OWLAnnotationProperty property, @Nonnull OWLAnnotationValue value); /** * Gets an annotation * * @param property the annotation property. * @param value The annotation value. * @param annotations A set of annotations. Cannot be null or contain nulls. nulls. * @return The annotation on the specified property with the specified value */ @Nonnull OWLAnnotation getOWLAnnotation(@Nonnull OWLAnnotationProperty property, @Nonnull OWLAnnotationValue value, @Nonnull Set annotations); // Annotation axioms /** * @param property property * @param subject subject * @param value value * @return an annotation assertion axiom */ @Nonnull OWLAnnotationAssertionAxiom getOWLAnnotationAssertionAxiom( @Nonnull OWLAnnotationProperty property, @Nonnull OWLAnnotationSubject subject, @Nonnull OWLAnnotationValue value); /** * @param subject subject * @param annotation annotation * @return an annotation assertion axiom */ @Nonnull OWLAnnotationAssertionAxiom getOWLAnnotationAssertionAxiom( @Nonnull OWLAnnotationSubject subject, @Nonnull OWLAnnotation annotation); /** * @param property property * @param subject subject * @param value value * @param annotations A set of annotations. Cannot be null or contain nulls. * @return an annotation assertion axiom - with annotations */ @Nonnull OWLAnnotationAssertionAxiom getOWLAnnotationAssertionAxiom( @Nonnull OWLAnnotationProperty property, @Nonnull OWLAnnotationSubject subject, @Nonnull OWLAnnotationValue value, @Nonnull Set annotations); /** * @param subject subject * @param annotation annotation * @param annotations A set of annotations. Cannot be null or contain nulls. * @return an annotation assertion axiom - with annotations */ @Nonnull OWLAnnotationAssertionAxiom getOWLAnnotationAssertionAxiom( @Nonnull OWLAnnotationSubject subject, @Nonnull OWLAnnotation annotation, @Nonnull 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 {@code "true"^^xsd:boolean}. * (See Annotation Properties in the OWL 2 Specification * * @param subject The IRI to be deprecated. * @return The annotation assertion that deprecates the specified IRI. */ @Nonnull OWLAnnotationAssertionAxiom getDeprecatedOWLAnnotationAssertionAxiom(@Nonnull IRI subject); /** * @param importedOntologyIRI imported ontology * @return an imports declaration */ @Nonnull OWLImportsDeclaration getOWLImportsDeclaration(@Nonnull IRI importedOntologyIRI); /** * @param prop prop * @param domain domain * @return an annotation property domain assertion */ @Nonnull OWLAnnotationPropertyDomainAxiom getOWLAnnotationPropertyDomainAxiom( @Nonnull OWLAnnotationProperty prop, @Nonnull IRI domain); /** * @param prop prop * @param domain domain * @param annotations A set of annotations. Cannot be null or contain nulls. * @return an annotation property domain assertion with annotations */ @Nonnull OWLAnnotationPropertyDomainAxiom getOWLAnnotationPropertyDomainAxiom( @Nonnull OWLAnnotationProperty prop, @Nonnull IRI domain, @Nonnull Set annotations); /** * @param prop prop * @param range range * @return an annotation property range assertion */ @Nonnull OWLAnnotationPropertyRangeAxiom getOWLAnnotationPropertyRangeAxiom( @Nonnull OWLAnnotationProperty prop, @Nonnull IRI range); /** * @param prop prop * @param range range * @param annotations A set of annotations. Cannot be null or contain nulls. * @return an annotation property range assertion with annotations */ @Nonnull OWLAnnotationPropertyRangeAxiom getOWLAnnotationPropertyRangeAxiom( @Nonnull OWLAnnotationProperty prop, @Nonnull IRI range, @Nonnull Set annotations); /** * @param sub sub property * @param sup super property * @return a sub annotation property axiom with specified properties */ @Nonnull OWLSubAnnotationPropertyOfAxiom getOWLSubAnnotationPropertyOfAxiom( @Nonnull OWLAnnotationProperty sub, @Nonnull OWLAnnotationProperty sup); /** * @param sub sub property * @param sup super property * @param annotations A set of annotations. Cannot be null or contain nulls. * @return a sub annotation property axiom with specified properties and annotations */ @Nonnull OWLSubAnnotationPropertyOfAxiom getOWLSubAnnotationPropertyOfAxiom( @Nonnull OWLAnnotationProperty sub, @Nonnull OWLAnnotationProperty sup, @Nonnull Set annotations); /** Empty all caches */ void purge(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy