private void mergeLater(final Node y, final Node z, final DependencySet ds) { _mergeList.add(new NodeMerge(y, z, ds)); }
/** * Merge all _node pairs in the _queue. */ public void mergeAll() { if (_mergingAll) return; _mergingAll = true; while (!_merging && !_mergeList.isEmpty() && !_abox.isClosed()) { final NodeMerge merge = _mergeList.remove(0); Node y = _abox.getNode(merge.getSource()); Node z = _abox.getNode(merge.getTarget()); DependencySet ds = merge.getDepends(); if (y.isMerged()) { ds = ds.union(y.getMergeDependency(true), _abox.doExplanation()); y = y.getSame(); } if (z.isMerged()) { ds = ds.union(z.getMergeDependency(true), _abox.doExplanation()); z = z.getSame(); } if (y.isPruned() || z.isPruned()) continue; mergeTo(y, z, ds); } _mergingAll = false; }
final Literal mergeTo = _abox.getLiteral(mtc.getTarget()); mergeTo(l, mergeTo, mtc.getDepends()); node = mergeTo;
/** * Merge all _node pairs in the _queue. */ public void mergeAll() { if (_mergingAll) return; _mergingAll = true; while (!_merging && !_mergeList.isEmpty() && !_abox.isClosed()) { final NodeMerge merge = _mergeList.remove(0); Node y = _abox.getNode(merge.getSource()); Node z = _abox.getNode(merge.getTarget()); DependencySet ds = merge.getDepends(); if (y.isMerged()) { ds = ds.union(y.getMergeDependency(true), _abox.doExplanation()); y = y.getSame(); } if (z.isMerged()) { ds = ds.union(z.getMergeDependency(true), _abox.doExplanation()); z = z.getSame(); } if (y.isPruned() || z.isPruned()) continue; mergeTo(y, z, ds); } _mergingAll = false; }
final Literal mergeTo = _abox.getLiteral(mtc.getTarget()); mergeTo(l, mergeTo, mtc.getDepends()); node = mergeTo;
private void mergeLater(final Node y, final Node z, final DependencySet ds) { _mergeList.add(new NodeMerge(y, z, ds)); }
@Override public void addSame(final ATermAppl x, final ATermAppl y) { final Individual ind1 = getIndividual(x); final Individual ind2 = getIndividual(y); // ind1.setSame(ind2, new DependencySet(explanationTable.getCurrent())); // ind1.setSame(ind2, DependencySet.INDEPENDENT); final ATermAppl sameAxiom = ATermUtils.makeSameAs(x, y); // update syntactic assertions - currently i do not add this to the // dependency _index // now, as it will be added during the actual merge when the completion // is performed if (OpenlletOptions.USE_INCREMENTAL_DELETION) _kb.getSyntacticAssertions().add(sameAxiom); final DependencySet ds = OpenlletOptions.USE_TRACING ? new DependencySet(sameAxiom) : DependencySet.INDEPENDENT; getToBeMerged().add(new NodeMerge(ind1, ind2, ds)); }
@Override public void addSame(final ATermAppl x, final ATermAppl y) { final Individual ind1 = getIndividual(x); final Individual ind2 = getIndividual(y); // ind1.setSame(ind2, new DependencySet(explanationTable.getCurrent())); // ind1.setSame(ind2, DependencySet.INDEPENDENT); final ATermAppl sameAxiom = ATermUtils.makeSameAs(x, y); // update syntactic assertions - currently i do not add this to the // dependency _index // now, as it will be added during the actual merge when the completion // is performed if (OpenlletOptions.USE_INCREMENTAL_DELETION) _kb.getSyntacticAssertions().add(sameAxiom); final DependencySet ds = OpenlletOptions.USE_TRACING ? new DependencySet(sameAxiom) : DependencySet.INDEPENDENT; getToBeMerged().add(new NodeMerge(ind1, ind2, ds)); }
for (final DependencySet ds : _depends.values()) mergeDs = mergeDs.union(ds, _abox.doExplanation()); _merge = new NodeMerge(this, valueLiteral, mergeDs);
for (final DependencySet ds : _depends.values()) mergeDs = mergeDs.union(ds, _abox.doExplanation()); _merge = new NodeMerge(this, valueLiteral, mergeDs);