001package conexp.fx.core.dl.deprecated; 002 003/* 004 * #%L 005 * Concept Explorer FX 006 * %% 007 * Copyright (C) 2010 - 2019 Francesco Kriegel 008 * %% 009 * This program is free software: you can redistribute it and/or modify 010 * it under the terms of the GNU General Public License as 011 * published by the Free Software Foundation, either version 3 of the 012 * License, or (at your option) any later version. 013 * 014 * This program is distributed in the hope that it will be useful, 015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 017 * GNU General Public License for more details. 018 * 019 * You should have received a copy of the GNU General Public 020 * License along with this program. If not, see 021 * <http://www.gnu.org/licenses/gpl-3.0.html>. 022 * #L% 023 */ 024 025import java.util.Collection; 026import java.util.Set; 027 028import conexp.fx.core.collections.Pair; 029import conexp.fx.core.context.Context; 030import conexp.fx.core.dl.Signature; 031import conexp.fx.core.math.SetClosureOperator; 032 033@Deprecated 034public interface Interpretation<I, C, G, T> { 035 036 public Set<I> getDomain(); 037 038 public Signature getSignature(); 039 040 public boolean addConceptNameAssertion(I conceptName, I individual); 041 042 public boolean addRoleNameAssertion(I roleName, I individual1, I individual2); 043 044 public Collection<I> getConceptNameExtension(I conceptName); 045 046 public Collection<Pair<I, I>> getRoleNameExtension(I roleName); 047 048 public Set<I> getRoleSuccessors(I roleName, I individual); 049 050 public Set<I> getRolePredecessors(I roleName, I individual); 051 052 public boolean isInstanceOf(I individual, C conceptExpression); 053 054 public Set<I> getConceptExpressionExtension(C conceptExpression); 055 056 public boolean subsumes(C subsumer, C subsumee); 057 058 public boolean isSubsumedBy(C subsumee, C subsumer); 059 060 public boolean satisfies(G gci); 061 062 public boolean models(T tbox); 063 064 public C getMostSpecificConcept(I individual, int roleDepth, int maxCardinality, Constructor... constructors); 065 066 public C getMostSpecificConcept(Set<I> individuals, int roleDepth, int maxCardinality, Constructor... constructors); 067 068 public Set<C> getAllMostSpecificConcepts(int roleDepth, int maxCardinality, Constructor... constructors); 069 070 public Context<I, C> 071 getInducedContext(Collection<I> individuals, int roleDepth, int maxCardinality, Constructor... constructors); 072 073// public T computeTBoxBase(int roleDepth) throws Exception; 074 075 public T computeTBoxBase(int roleDepth, int maxCardinality, T backgroundOntology, Constructor... constructors) 076 throws Exception; 077 078 public SetClosureOperator<I> getClosureOperator(int roleDepth, int maxCardinality, Constructor... constructors); 079 080 default void checkRoleDepth(final int roleDepth) { 081 if (roleDepth < 0) 082 throw new IllegalArgumentException("Negative role-depths are not allowed."); 083 } 084 085}