org.semanticweb.elk.reasoner.indexing.classes.IndexedAxiomBaseFactory Maven / Gradle / Ivy
package org.semanticweb.elk.reasoner.indexing.classes;
/*
* #%L
* ELK Reasoner
* $Id:$
* $HeadURL:$
* %%
* Copyright (C) 2011 - 2015 Department of Computer Science, University of Oxford
* %%
* 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.
* #L%
*/
import org.semanticweb.elk.owl.interfaces.ElkAxiom;
import org.semanticweb.elk.reasoner.indexing.model.IndexedAxiom;
import org.semanticweb.elk.reasoner.indexing.model.IndexedClassExpression;
import org.semanticweb.elk.reasoner.indexing.model.IndexedClassExpressionList;
import org.semanticweb.elk.reasoner.indexing.model.IndexedDeclarationAxiom;
import org.semanticweb.elk.reasoner.indexing.model.IndexedDisjointClassesAxiom;
import org.semanticweb.elk.reasoner.indexing.model.IndexedEntity;
import org.semanticweb.elk.reasoner.indexing.model.IndexedEquivalentClassesAxiom;
import org.semanticweb.elk.reasoner.indexing.model.IndexedObjectProperty;
import org.semanticweb.elk.reasoner.indexing.model.IndexedObjectPropertyRangeAxiom;
import org.semanticweb.elk.reasoner.indexing.model.IndexedPropertyChain;
import org.semanticweb.elk.reasoner.indexing.model.IndexedSubClassOfAxiom;
import org.semanticweb.elk.reasoner.indexing.model.IndexedSubObjectPropertyOfAxiom;
public class IndexedAxiomBaseFactory implements IndexedAxiom.Factory {
@Override
public IndexedDisjointClassesAxiom getIndexedDisjointClassesAxiom(
ElkAxiom originalAxiom, IndexedClassExpressionList members) {
return new IndexedDisjointClassesAxiomImpl(
originalAxiom, members);
}
@Override
public IndexedSubClassOfAxiom getIndexedSubClassOfAxiom(
ElkAxiom originalAxiom, IndexedClassExpression subClass,
IndexedClassExpression superClass) {
return new IndexedSubClassOfAxiomImpl(
originalAxiom, subClass, superClass);
}
@Override
public IndexedEquivalentClassesAxiom getIndexedEquivalentClassesAxiom(
ElkAxiom originalAxiom, IndexedClassExpression firstMember,
IndexedClassExpression secondMember) {
return new IndexedEquivalentClassesAxiomImpl(
originalAxiom, firstMember, secondMember);
}
@Override
public IndexedSubObjectPropertyOfAxiom getIndexedSubObjectPropertyOfAxiom(
ElkAxiom originalAxiom, IndexedPropertyChain subPropertyChain,
IndexedObjectProperty superProperty) {
return new IndexedSubObjectPropertyOfAxiomImpl(
originalAxiom, subPropertyChain, superProperty);
}
@Override
public IndexedObjectPropertyRangeAxiom getIndexedObjectPropertyRangeAxiom(
ElkAxiom originalAxiom, IndexedObjectProperty property,
IndexedClassExpression range) {
return new IndexedObjectPropertyRangeAxiomImpl(
originalAxiom, property, range);
}
@Override
public IndexedDeclarationAxiom getIndexedDeclarationAxiom(
ElkAxiom originalAxiom, IndexedEntity entity) {
return new IndexedDeclarationAxiomImpl(
originalAxiom, entity);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy