@Override public LinkableBackwardLinkRule getBackwardLinkRuleHead() { // local return localPremises_.getBackwardLinkRuleHead(); }
@Override public Set<IndexedClassExpression> getComposedSubsumers() { // local return localPremises_.getComposedSubsumers(); }
@Override public void apply(IndexedClassExpression premise, ContextPremises premises, ClassInferenceProducer producer) { if (negation_ != null && premises.getDecomposedSubsumers().contains(negation_)) { producer.produce(new ClassInconsistencyOfObjectComplementOf(premises.getRoot(), negation_)); } }
@Override public void apply(Propagation premise, ContextPremises premises, ClassInferenceProducer producer) { final Map<IndexedObjectProperty, ? extends SubContextPremises> subContextMap = premises .getSubContextPremisesByObjectProperty(); IndexedObjectProperty subRoot = premise.getSubDestination(); SubContextPremises targets = subContextMap.get(subRoot); for (IndexedContextRoot target : targets.getLinkedRoots()) { producer.produce(new SubClassInclusionComposedObjectSomeValuesFrom(premise, target)); } if (premises.getLocalReflexiveObjectProperties().contains(subRoot)) { producer.produce(new SubClassInclusionComposedObjectSomeValuesFrom(premise, premises.getRoot())); } }
@Override public IndexedContextRoot getRoot() { // should be the same for local and non-local return localPremises_.getRoot(); }
@Override public void apply(IndexedClassExpression premise, ContextPremises premises, ClassInferenceProducer producer) { for (IndexedClassExpression common : new LazySetIntersection<IndexedClassExpression>( conjunctionsByConjunct_.keySet(), premises.getComposedSubsumers())) { producer.produce(new SubClassInclusionComposedObjectIntersectionOf(premises.getRoot(), conjunctionsByConjunct_.get(common))); } }
@Override public void apply(ClassInconsistency premise, ContextPremises premises, ClassInferenceProducer producer) { final Map<IndexedObjectProperty, ? extends SubContextPremises> subPremises = premises .getSubContextPremisesByObjectProperty(); // no need to propagate over reflexive links for (IndexedObjectProperty propRelation : subPremises.keySet()) { for (IndexedContextRoot target : subPremises.get(propRelation) .getLinkedRoots()) { // producer.produce(target, premise); producer.produce(new ClassInconsistencyPropagated( premises.getRoot(), propRelation, target)); } } }
private void apply( final Multimap<IndexedObjectProperty, IndexedComplexPropertyChain> compsByBackwardRelation, ContextPremises premises, ClassInferenceProducer producer) { /* compose the link with all reflexive backward links */ final Set<IndexedObjectProperty> reflexiveBackwardRelations = premises .getLocalReflexiveObjectProperties(); for (IndexedObjectProperty backwardRelation : new LazySetIntersection<IndexedObjectProperty>( compsByBackwardRelation.keySet(), reflexiveBackwardRelations)) { Collection<IndexedComplexPropertyChain> compositions = compsByBackwardRelation .get(backwardRelation); for (IndexedComplexPropertyChain composition : compositions) { IndexedContextRoot root = premises.getRoot(); IndexedObjectSomeValuesFrom.Helper.produceComposedLink(producer, root, backwardRelation, root, forwardLink_.getChain(), forwardLink_.getTarget(), composition); } } }
@Override public Set<? extends Integer> getSubsumerPositions( IndexedClassExpressionList disjoint) { // local return localPremises_.getSubsumerPositions(disjoint); }
@Override public Iterable<? extends IndexedObjectSomeValuesFrom> getPropagatedSubsumers( IndexedPropertyChain subRoot) { // local return localPremises_.getPropagatedSubsumers(subRoot); }
@Override public Map<IndexedObjectProperty, ? extends SubContextPremises> getSubContextPremisesByObjectProperty() { // non-local return nonLocalPremises_.getSubContextPremisesByObjectProperty(); }
@Override public Set<IndexedClassExpression> getDecomposedSubsumers() { // local return localPremises_.getDecomposedSubsumers(); }
@Override public Set<IndexedObjectProperty> getLocalReflexiveObjectProperties() { // local return localPremises_.getLocalReflexiveObjectProperties(); }
@Override public void apply(Propagation premise, ContextPremises premises, ClassInferenceProducer producer) { final Map<IndexedObjectProperty, ? extends SubContextPremises> subContextMap = premises .getSubContextPremisesByObjectProperty(); IndexedObjectProperty subRoot = premise.getSubDestination(); SubContextPremises targets = subContextMap.get(subRoot); for (IndexedContextRoot target : targets.getLinkedRoots()) { producer.produce(new SubClassInclusionComposedObjectSomeValuesFrom(premise, target)); } if (premises.getLocalReflexiveObjectProperties().contains(subRoot)) { producer.produce(new SubClassInclusionComposedObjectSomeValuesFrom(premise, premises.getRoot())); } }
@Override public IndexedContextRoot getRoot() { // should be the same for local and non-local return localPremises_.getRoot(); }
@Override public void apply(IndexedClassExpression premise, ContextPremises premises, ClassInferenceProducer producer) { for (IndexedClassExpression common : new LazySetIntersection<IndexedClassExpression>( conjunctionsByConjunct_.keySet(), premises.getComposedSubsumers())) { producer.produce(new SubClassInclusionComposedObjectIntersectionOf(premises.getRoot(), conjunctionsByConjunct_.get(common))); } }
@Override public void apply(ClassInconsistency premise, ContextPremises premises, ClassInferenceProducer producer) { final Map<IndexedObjectProperty, ? extends SubContextPremises> subPremises = premises .getSubContextPremisesByObjectProperty(); // no need to propagate over reflexive links for (IndexedObjectProperty propRelation : subPremises.keySet()) { for (IndexedContextRoot target : subPremises.get(propRelation) .getLinkedRoots()) { // producer.produce(target, premise); producer.produce(new ClassInconsistencyPropagated( premises.getRoot(), propRelation, target)); } } }
private void apply( final Multimap<IndexedObjectProperty, IndexedComplexPropertyChain> compsByBackwardRelation, ContextPremises premises, ClassInferenceProducer producer) { /* compose the link with all reflexive backward links */ final Set<IndexedObjectProperty> reflexiveBackwardRelations = premises .getLocalReflexiveObjectProperties(); for (IndexedObjectProperty backwardRelation : new LazySetIntersection<IndexedObjectProperty>( compsByBackwardRelation.keySet(), reflexiveBackwardRelations)) { Collection<IndexedComplexPropertyChain> compositions = compsByBackwardRelation .get(backwardRelation); for (IndexedComplexPropertyChain composition : compositions) { IndexedContextRoot root = premises.getRoot(); IndexedObjectSomeValuesFrom.Helper.produceComposedLink(producer, root, backwardRelation, root, forwardLink_.getChain(), forwardLink_.getTarget(), composition); } } }
@Override public Set<? extends Integer> getSubsumerPositions( IndexedClassExpressionList disjoint) { // local return localPremises_.getSubsumerPositions(disjoint); }
@Override public Iterable<? extends IndexedObjectSomeValuesFrom> getPropagatedSubsumers( IndexedPropertyChain subRoot) { // local return localPremises_.getPropagatedSubsumers(subRoot); }