private void populateChildren(SemanticGraph depGraph, IndexedWord root, Tree<Pair<String, Integer>> tree, TextAnnotation ta, int sentId) { if (depGraph.getChildren(root).size() == 0) return; for (IndexedWord child : depGraph.getChildren(root)) { int childPosition = getNodePosition(ta, child, sentId); Pair<String, Integer> nodePair = new Pair<>(child.originalText(), childPosition); Tree<Pair<String, Integer>> childTree = new Tree<>(nodePair); tree.addSubtree(childTree, new Pair<>(depGraph.getEdge(root, child).toString(), childPosition)); populateChildren(depGraph, child, childTree, ta, sentId); } }
private void populateChildren(SemanticGraph depGraph, IndexedWord root, Tree<Pair<String, Integer>> tree, TextAnnotation ta, int sentId) { if (depGraph.getChildren(root).size() == 0) return; for (IndexedWord child : depGraph.getChildren(root)) { int childPosition = getNodePosition(ta, child, sentId); Pair<String, Integer> nodePair = new Pair<>(child.originalText(), childPosition); Tree<Pair<String, Integer>> childTree = new Tree<>(nodePair); tree.addSubtree(childTree, new Pair<>(depGraph.getEdge(root, child).toString(), childPosition)); populateChildren(depGraph, child, childTree, ta, sentId); } }