default void addInverseFunctionalProperty(final ATerm p) { if (null == p) return; if (OpenlletOptions.IGNORE_INVERSES) { getLogger().warning("Ignoring InverseFunctionalProperty(" + p + ") axiom due to the IGNORE_INVERSES option"); return; } getChanges().add(ChangeType.RBOX_ADD); final Role role = getRBox().getDefinedRole(p); final DependencySet ds = OpenlletOptions.USE_TRACING ? new DependencySet(ATermUtils.makeInverseFunctional(p)) : DependencySet.INDEPENDENT; role.setInverseFunctional(true, ds); getLogger().finer(() -> "inv-func-prop " + p); }
default void addInverseFunctionalProperty(final ATerm p) { if (null == p) return; if (OpenlletOptions.IGNORE_INVERSES) { getLogger().warning("Ignoring InverseFunctionalProperty(" + p + ") axiom due to the IGNORE_INVERSES option"); return; } getChanges().add(ChangeType.RBOX_ADD); final Role role = getRBox().getDefinedRole(p); final DependencySet ds = OpenlletOptions.USE_TRACING ? new DependencySet(ATermUtils.makeInverseFunctional(p)) : DependencySet.INDEPENDENT; role.setInverseFunctional(true, ds); getLogger().finer(() -> "inv-func-prop " + p); }
invR.setTransitive(true, role.getExplainTransitive()); if (invR.isFunctional() && !role.isInverseFunctional()) role.setInverseFunctional(true, invR.getExplainFunctional()); if (role.isFunctional() && !invR.isInverseFunctional()) invR.setInverseFunctional(true, role.getExplainFunctional()); if (invR.isInverseFunctional() && !role.isFunctional()) role.setFunctional(true, invR.getExplainInverseFunctional());
invR.setTransitive(true, role.getExplainTransitive()); if (invR.isFunctional() && !role.isInverseFunctional()) role.setInverseFunctional(true, invR.getExplainFunctional()); if (role.isFunctional() && !invR.isInverseFunctional()) invR.setInverseFunctional(true, role.getExplainFunctional()); if (invR.isInverseFunctional() && !role.isFunctional()) role.setFunctional(true, invR.getExplainInverseFunctional());