public void applyFunctionality(final Individual subj, final Role pred, final Node obj) { DependencySet maxCardDS = pred.isFunctional() ? pred.getExplainFunctional() : subj.hasMax1(pred); if (maxCardDS != null) _maxRule.applyFunctionalMaxRule(subj, pred, ATermUtils.getTop(pred), maxCardDS); if (pred.isDatatypeRole() && pred.isInverseFunctional()) applyFunctionalMaxRule((Literal) obj, pred, DependencySet.INDEPENDENT); else if (pred.isObjectRole()) { final Individual val = (Individual) obj; final Role invR = pred.getInverse(); maxCardDS = invR.isFunctional() ? invR.getExplainFunctional() : val.hasMax1(invR); if (maxCardDS != null) _maxRule.applyFunctionalMaxRule(val, invR, ATermUtils.TOP, maxCardDS); } }
public void applyFunctionality(final Individual subj, final Role pred, final Node obj) { DependencySet maxCardDS = pred.isFunctional() ? pred.getExplainFunctional() : subj.hasMax1(pred); if (maxCardDS != null) _maxRule.applyFunctionalMaxRule(subj, pred, ATermUtils.getTop(pred), maxCardDS); if (pred.isDatatypeRole() && pred.isInverseFunctional()) applyFunctionalMaxRule((Literal) obj, pred, DependencySet.INDEPENDENT); else if (pred.isObjectRole()) { final Individual val = (Individual) obj; final Role invR = pred.getInverse(); maxCardDS = invR.isFunctional() ? invR.getExplainFunctional() : val.hasMax1(invR); if (maxCardDS != null) _maxRule.applyFunctionalMaxRule(val, invR, ATermUtils.TOP, maxCardDS); } }
getABox().setExplanation(role.getExplainFunctional()); return true;
getABox().setExplanation(role.getExplainFunctional()); return true;
_abox.setClash(Clash.minMax(this, minDepends.union(minR.getExplainFunctional(), _abox.doExplanation())));
_abox.setClash(Clash.minMax(this, minDepends.union(minR.getExplainFunctional(), _abox.doExplanation())));
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()); final DependencySet ds = OpenlletOptions.USE_TRACING ? supDS.union(s.getExplainFunctional(), true) : DependencySet.INDEPENDENT; r.setFunctional(true, ds); r.addFunctionalSuper(s);
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()); final DependencySet ds = OpenlletOptions.USE_TRACING ? supDS.union(s.getExplainFunctional(), true) : DependencySet.INDEPENDENT; r.setFunctional(true, ds); r.addFunctionalSuper(s);
else ds = ds.union(role.getExplainFunctional(), _strategy.getABox().doExplanation()); if (edge != null) ds = ds.union(edge.getDepends(), _strategy.getABox().doExplanation()); final DependencySet maxCardDS = role.isFunctional() ? role.getExplainFunctional() : x.hasMax1(role); if (maxCardDS != null)
else ds = ds.union(role.getExplainFunctional(), _strategy.getABox().doExplanation()); if (edge != null) ds = ds.union(edge.getDepends(), _strategy.getABox().doExplanation()); final DependencySet maxCardDS = role.isFunctional() ? role.getExplainFunctional() : x.hasMax1(role); if (maxCardDS != null)
ds = ds.union(s.getExplainSuper(r.getName()), _strategy.getABox().doExplanation()).union(r.getExplainFunctional(), _strategy.getABox().doExplanation());
ds = ds.union(s.getExplainSuper(r.getName()), _strategy.getABox().doExplanation()).union(r.getExplainFunctional(), _strategy.getABox().doExplanation());