context.parent.appendChild(createDisjunctiveElement(context.copy(true)));
}
}
private void processSubstitutedEdges(DLFContext context, LFEdge outgoing, Set<LFEdge> substituedEdges) {
LFEdgeLabel label = outgoing.getLabel();
boolean singleton = substituedEdges.size() == 1; // can't be empty if we get here
Element choiceElement = addChoice(context);
context.parent = choiceElement;
Element toAppendTo = singleton ? choiceElement : addElement(context, ATTS_TAG);
context.parent = addRelation(context, label);
DLFContext ctxt = context.copy(true);
ctxt.vertex = outgoing.getTarget();
ctxt.parent.appendChild(createDisjunctiveElement(ctxt));
boolean aliased = false;
context.parent = toAppendTo;
for(LFEdge s : substituedEdges) {
LFVertex t = s.getTarget();
String vPred = context.vertex.getPredicate(), tPred = t.getPredicate();
LFEdgeLabel l = s.getLabel();
context.parent = addRelation(context, l);
// shared?
if(vPred != null && vPred.equals(tPred) && !label.equals(l)) {