public BackwardLinkOfObjectSomeValuesFrom(IndexedContextRoot inferenceRoot, IndexedObjectSomeValuesFrom subsumer) { super(IndexedObjectSomeValuesFrom.Helper.getTarget(subsumer), subsumer.getProperty(), inferenceRoot); existential_ = subsumer; }
/** * @param existential * @return the {@link IndexedContextRoot} that is required for * decomposition of the given * {@link IndexedObjectSomeValuesFrom}, taking into account the * property ranges, if necessary */ public static IndexedContextRoot getTarget( IndexedObjectSomeValuesFrom existential) { SaturatedPropertyChain propertySaturation = existential .getProperty().getSaturated(); if (propertySaturation.getRanges().isEmpty()) { // filler is sufficient return existential.getFiller(); } // else we also need to take the property into account return existential.getRangeFiller(); }
@Override public String visit(IndexedObjectSomeValuesFrom element) { return "∃" + element.getProperty() + '.' + element.getFiller(); }
private void validate(IndexedClassExpression ice) { LOGGER_.trace("Validating class expression {}", ice); // this is the main check if (!ice.occurs()) { LOGGER_.error("Dead class expression: {}", ice); } // validating context Context context = saturationState_.getContext(ice); if (context != null) { contextValidator_.add(context); } if (ice instanceof IndexedObjectSomeValuesFrom) { IndexedContextRoot root = ((IndexedObjectSomeValuesFrom) ice) .getRangeFiller(); context = saturationState_.getContext(root); if (context != null) { contextValidator_.add(context); } } // validating context rules LinkedSubsumerRule rule = ice.getCompositionRuleHead(); while (rule != null) { rule.accept(ruleValidator_, ice, null, null); rule = rule.next(); } } }
public SubClassInclusionComposed getSecondPremise( SubClassInclusionComposed.Factory factory) { return factory.getSubClassInclusionComposed(getOrigin(), getCarry().getFiller()); }
@Override public String visit(IndexedObjectSomeValuesFrom element) { return "∃" + element.getProperty() + '.' + element.getFiller(); }
public SubClassInclusionComposed getSecondPremise( SubClassInclusionComposed.Factory factory) { return factory.getSubClassInclusionComposed(getOrigin(), getCarry().getFiller()); }
public BackwardLinkOfObjectSomeValuesFrom(IndexedContextRoot inferenceRoot, IndexedObjectSomeValuesFrom subsumer) { super(IndexedObjectSomeValuesFrom.Helper.getTarget(subsumer), subsumer.getProperty(), inferenceRoot); existential_ = subsumer; }
/** * @param existential * @return the {@link IndexedContextRoot} that is required for * decomposition of the given * {@link IndexedObjectSomeValuesFrom}, taking into account the * property ranges, if necessary */ public static IndexedContextRoot getTarget( IndexedObjectSomeValuesFrom existential) { SaturatedPropertyChain propertySaturation = existential .getProperty().getSaturated(); if (propertySaturation.getRanges().isEmpty()) { // filler is sufficient return existential.getFiller(); } // else we also need to take the property into account return existential.getRangeFiller(); }
@Override public String visit(IndexedObjectSomeValuesFrom element) { return "∃" + element.getProperty() + '.' + element.getFiller(); }
public SubClassInclusionComposed getSecondPremise( SubClassInclusionComposed.Factory factory) { return factory.getSubClassInclusionComposed(getOrigin(), getCarry().getFiller()); }
public BackwardLinkOfObjectSomeValuesFrom(IndexedContextRoot inferenceRoot, IndexedObjectSomeValuesFrom subsumer) { super(IndexedObjectSomeValuesFrom.Helper.getTarget(subsumer), subsumer.getProperty(), inferenceRoot); existential_ = subsumer; }
/** * @param existential * @return the {@link IndexedContextRoot} that is required for * decomposition of the given * {@link IndexedObjectSomeValuesFrom}, taking into account the * property ranges, if necessary */ public static IndexedContextRoot getTarget( IndexedObjectSomeValuesFrom existential) { SaturatedPropertyChain propertySaturation = existential .getProperty().getSaturated(); if (propertySaturation.getRanges().isEmpty()) { // filler is sufficient return existential.getFiller(); } // else we also need to take the property into account return existential.getRangeFiller(); }
/** * @param factory * the factory for creating conclusions * * @return the conclusion produced by this inference */ public ForwardLink getConclusion(ClassConclusion.Factory factory) { return factory.getForwardLink(getDestination(), existential_.getProperty(), IndexedObjectSomeValuesFrom.Helper.getTarget(existential_)); }
/** * @param factory * the factory for creating conclusions * * @return the conclusion produced by this inference */ public ForwardLink getConclusion(ClassConclusion.Factory factory) { return factory.getForwardLink(getDestination(), existential_.getProperty(), IndexedObjectSomeValuesFrom.Helper.getTarget(existential_)); }
/** * @param factory * the factory for creating conclusions * * @return the conclusion produced by this inference */ public ForwardLink getConclusion(ClassConclusion.Factory factory) { return factory.getForwardLink(getDestination(), existential_.getProperty(), IndexedObjectSomeValuesFrom.Helper.getTarget(existential_)); }
public SubPropertyChain getThirdPremise(SubPropertyChain.Factory factory) { return factory.getSubPropertyChain(getSubDestination(), getCarry().getProperty()); }
public SubPropertyChain getThirdPremise(SubPropertyChain.Factory factory) { return factory.getSubPropertyChain(getSubDestination(), getCarry().getProperty()); }
public SubPropertyChain getThirdPremise(SubPropertyChain.Factory factory) { return factory.getSubPropertyChain(getSubDestination(), getCarry().getProperty()); }
/** * Produces propagations of {@link IndexedObjectSomeValuesFrom} over the * given {@link IndexedObjectProperty} in the given {@link Context} * * @param property * @param premises * @param producer */ void applyForProperty(IndexedObjectProperty property, ContextPremises premises, ClassInferenceProducer producer) { for (IndexedObjectSomeValuesFrom e : negExistentials_) { if (e.getProperty().getSaturated().getSubPropertyChains() .contains(property)) { producer.produce(new PropagationGenerated(premises.getRoot(), property, e)); } } }