@Override public boolean isEntailmentCheckingSupported(final AxiomType<?> axiomType) { Class<? extends ElkObject> elkAxiomClass = OwlConverter .convertType(axiomType.getActualClass()); if (elkAxiomClass == null || !ElkAxiom.class.isAssignableFrom(elkAxiomClass)) { // not supported return false; } // else return EntailmentQueryConverter.isEntailmentCheckingSupported( elkAxiomClass.asSubclass(ElkAxiom.class)); }
public EntailmentQueryIndexingProcessor(final ElkObject.Factory elkFactory, final ModifiableOntologyIndex index, final String type, final IndexingListener indexingListener) { if (!ADDITION.equals(type) && !REMOVAL.equals(type)) { throw new IllegalArgumentException("type must be one of \"" + ADDITION + "\" or \"" + REMOVAL + "\"!"); } this.type_ = type; this.converter_ = new EntailmentQueryConverter(elkFactory, index, ADDITION.equals(type) ? 1 : -1); this.indexingListener_ = indexingListener; }
@Override public EquivalentClassesEntailmentQuery visit( final ElkEquivalentClassesAxiom axiom) { final List<? extends ElkClassExpression> elkClassExpressions = axiom .getClassExpressions(); final List<SubClassOfEntailmentQuery> subsumptionCycle = new ArrayList<SubClassOfEntailmentQuery>( elkClassExpressions.size()); ElkClassExpression elkSubclass = elkClassExpressions .get(elkClassExpressions.size() - 1); for (int i = 0; i < elkClassExpressions.size(); i++) { final ElkClassExpression elkSuperclass = elkClassExpressions.get(i); final SubClassOfEntailmentQuery subsumption = visit( elkFactory_.getSubClassOfAxiom(elkSubclass, elkSuperclass)); subsumptionCycle.add(subsumption); elkSubclass = elkSuperclass; } return new EquivalentClassesEntailmentQuery( new EquivalentClassesAxiomEntailmentImpl(axiom), subsumptionCycle); }
@Override public EquivalentClassesEntailmentQuery visit( final ElkEquivalentClassesAxiom axiom) { final List<? extends ElkClassExpression> elkClassExpressions = axiom .getClassExpressions(); final List<SubClassOfEntailmentQuery> subsumptionCycle = new ArrayList<SubClassOfEntailmentQuery>( elkClassExpressions.size()); ElkClassExpression elkSubclass = elkClassExpressions .get(elkClassExpressions.size() - 1); for (int i = 0; i < elkClassExpressions.size(); i++) { final ElkClassExpression elkSuperclass = elkClassExpressions.get(i); final SubClassOfEntailmentQuery subsumption = visit( elkFactory_.getSubClassOfAxiom(elkSubclass, elkSuperclass)); subsumptionCycle.add(subsumption); elkSubclass = elkSuperclass; } return new EquivalentClassesEntailmentQuery( new EquivalentClassesAxiomEntailmentImpl(axiom), subsumptionCycle); }
@Override public EquivalentClassesEntailmentQuery visit( final ElkEquivalentClassesAxiom axiom) { final List<? extends ElkClassExpression> elkClassExpressions = axiom .getClassExpressions(); final List<SubClassOfEntailmentQuery> subsumptionCycle = new ArrayList<SubClassOfEntailmentQuery>( elkClassExpressions.size()); ElkClassExpression elkSubclass = elkClassExpressions .get(elkClassExpressions.size() - 1); for (int i = 0; i < elkClassExpressions.size(); i++) { final ElkClassExpression elkSuperclass = elkClassExpressions.get(i); final SubClassOfEntailmentQuery subsumption = visit( elkFactory_.getSubClassOfAxiom(elkSubclass, elkSuperclass)); subsumptionCycle.add(subsumption); elkSubclass = elkSuperclass; } return new EquivalentClassesEntailmentQuery( new EquivalentClassesAxiomEntailmentImpl(axiom), subsumptionCycle); }
@Override public boolean isEntailmentCheckingSupported(final AxiomType<?> axiomType) { Class<? extends ElkObject> elkAxiomClass = OwlConverter .convertType(axiomType.getActualClass()); if (elkAxiomClass == null || !ElkAxiom.class.isAssignableFrom(elkAxiomClass)) { // not supported return false; } // else return EntailmentQueryConverter.isEntailmentCheckingSupported( elkAxiomClass.asSubclass(ElkAxiom.class)); }
public EntailmentQueryIndexingProcessor(final ElkObject.Factory elkFactory, final ModifiableOntologyIndex index, final String type, final IndexingListener indexingListener) { if (!ADDITION.equals(type) && !REMOVAL.equals(type)) { throw new IllegalArgumentException("type must be one of \"" + ADDITION + "\" or \"" + REMOVAL + "\"!"); } this.type_ = type; this.converter_ = new EntailmentQueryConverter(elkFactory, index, ADDITION.equals(type) ? 1 : -1); this.indexingListener_ = indexingListener; }
@Override public DisjointClassesEntailmentQuery visit( final ElkDisjointClassesAxiom axiom) { final List<? extends ElkClassExpression> disjoint = axiom .getClassExpressions(); final int size = disjoint.size(); final List<SubClassOfEntailmentQuery> premises = new ArrayList<SubClassOfEntailmentQuery>( size); for (int first = 0; first < size - 1; first++) { for (int second = first + 1; second < size; second++) { final SubClassOfEntailmentQuery subsumption = visit(elkFactory_ .getSubClassOfAxiom(elkFactory_.getObjectIntersectionOf( disjoint.get(first), disjoint.get(second)), elkFactory_.getOwlNothing())); premises.add(subsumption); } } return new DisjointClassesEntailmentQuery( new DisjointClassesAxiomEntailmentImpl(axiom), premises); }
@Override public boolean isEntailmentCheckingSupported(final AxiomType<?> axiomType) { Class<? extends ElkObject> elkAxiomClass = OwlConverter .convertType(axiomType.getActualClass()); if (elkAxiomClass == null || !ElkAxiom.class.isAssignableFrom(elkAxiomClass)) { // not supported return false; } // else return EntailmentQueryConverter.isEntailmentCheckingSupported( elkAxiomClass.asSubclass(ElkAxiom.class)); }
public EntailmentQueryIndexingProcessor(final ElkObject.Factory elkFactory, final ModifiableOntologyIndex index, final String type, final IndexingListener indexingListener) { if (!ADDITION.equals(type) && !REMOVAL.equals(type)) { throw new IllegalArgumentException("type must be one of \"" + ADDITION + "\" or \"" + REMOVAL + "\"!"); } this.type_ = type; this.converter_ = new EntailmentQueryConverter(elkFactory, index, ADDITION.equals(type) ? 1 : -1); this.indexingListener_ = indexingListener; }
@Override public SameIndividualEntailmentQuery visit( final ElkSameIndividualAxiom axiom) { final List<? extends ElkIndividual> individuals = axiom .getIndividuals(); final List<ElkClassExpression> nominals = new ArrayList<ElkClassExpression>( individuals.size()); for (final ElkIndividual individual : individuals) { nominals.add(elkFactory_.getObjectOneOf(individual)); } final EquivalentClassesEntailmentQuery equivalence = visit( elkFactory_.getEquivalentClassesAxiom(nominals)); return new SameIndividualEntailmentQuery( new SameIndividualAxiomEntailmentImpl(axiom), equivalence); }
.isEntailmentCheckingSupported(axiom.getClass())) { results.put(axiom, new UnsupportedQueryTypeEntailmentQueryResultImpl(
@Override public SameIndividualEntailmentQuery visit( final ElkSameIndividualAxiom axiom) { final List<? extends ElkIndividual> individuals = axiom .getIndividuals(); final List<ElkClassExpression> nominals = new ArrayList<ElkClassExpression>( individuals.size()); for (final ElkIndividual individual : individuals) { nominals.add(elkFactory_.getObjectOneOf(individual)); } final EquivalentClassesEntailmentQuery equivalence = visit( elkFactory_.getEquivalentClassesAxiom(nominals)); return new SameIndividualEntailmentQuery( new SameIndividualAxiomEntailmentImpl(axiom), equivalence); }
.isEntailmentCheckingSupported(axiom.getClass())) { results.put(axiom, new UnsupportedQueryTypeEntailmentQueryResultImpl(
@Override public SameIndividualEntailmentQuery visit( final ElkSameIndividualAxiom axiom) { final List<? extends ElkIndividual> individuals = axiom .getIndividuals(); final List<ElkClassExpression> nominals = new ArrayList<ElkClassExpression>( individuals.size()); for (final ElkIndividual individual : individuals) { nominals.add(elkFactory_.getObjectOneOf(individual)); } final EquivalentClassesEntailmentQuery equivalence = visit( elkFactory_.getEquivalentClassesAxiom(nominals)); return new SameIndividualEntailmentQuery( new SameIndividualAxiomEntailmentImpl(axiom), equivalence); }
.isEntailmentCheckingSupported(axiom.getClass())) { results.put(axiom, new UnsupportedQueryTypeEntailmentQueryResultImpl(
@Override public DifferentIndividualsEntailmentQuery visit( final ElkDifferentIndividualsAxiom axiom) { final List<? extends ElkIndividual> individuals = axiom .getIndividuals(); final List<ElkClassExpression> nominals = new ArrayList<ElkClassExpression>( individuals.size()); for (final ElkIndividual individual : individuals) { nominals.add(elkFactory_.getObjectOneOf(individual)); } final DisjointClassesEntailmentQuery disjointness = visit( elkFactory_.getDisjointClassesAxiom(nominals)); return new DifferentIndividualsEntailmentQuery( new DifferentIndividualsAxiomEntailmentImpl(axiom), disjointness); }
@Override public DisjointClassesEntailmentQuery visit( final ElkDisjointClassesAxiom axiom) { final List<? extends ElkClassExpression> disjoint = axiom .getClassExpressions(); final int size = disjoint.size(); final List<SubClassOfEntailmentQuery> premises = new ArrayList<SubClassOfEntailmentQuery>( size); for (int first = 0; first < size - 1; first++) { for (int second = first + 1; second < size; second++) { final SubClassOfEntailmentQuery subsumption = visit(elkFactory_ .getSubClassOfAxiom(elkFactory_.getObjectIntersectionOf( disjoint.get(first), disjoint.get(second)), elkFactory_.getOwlNothing())); premises.add(subsumption); } } return new DisjointClassesEntailmentQuery( new DisjointClassesAxiomEntailmentImpl(axiom), premises); }
@Override public DisjointClassesEntailmentQuery visit( final ElkDisjointClassesAxiom axiom) { final List<? extends ElkClassExpression> disjoint = axiom .getClassExpressions(); final int size = disjoint.size(); final List<SubClassOfEntailmentQuery> premises = new ArrayList<SubClassOfEntailmentQuery>( size); for (int first = 0; first < size - 1; first++) { for (int second = first + 1; second < size; second++) { final SubClassOfEntailmentQuery subsumption = visit(elkFactory_ .getSubClassOfAxiom(elkFactory_.getObjectIntersectionOf( disjoint.get(first), disjoint.get(second)), elkFactory_.getOwlNothing())); premises.add(subsumption); } } return new DisjointClassesEntailmentQuery( new DisjointClassesAxiomEntailmentImpl(axiom), premises); }
@Override public DifferentIndividualsEntailmentQuery visit( final ElkDifferentIndividualsAxiom axiom) { final List<? extends ElkIndividual> individuals = axiom .getIndividuals(); final List<ElkClassExpression> nominals = new ArrayList<ElkClassExpression>( individuals.size()); for (final ElkIndividual individual : individuals) { nominals.add(elkFactory_.getObjectOneOf(individual)); } final DisjointClassesEntailmentQuery disjointness = visit( elkFactory_.getDisjointClassesAxiom(nominals)); return new DifferentIndividualsEntailmentQuery( new DifferentIndividualsAxiomEntailmentImpl(axiom), disjointness); }