/** * Searches up to 2 levels to determine how far ancestor is from child (i.e., * returns 1 if "ancestor" is a parent, or 2 if ancestor is a grandparent. * * @param child * candidate child * @param ancestor * candidate ancestor * @return the number of generations between "child" and "ancestor" (1 is an * immediate parent), or -1 if there is no relationship found. */ public int isAncestor(IndexedWord child, IndexedWord ancestor) { Set<IndexedWord> parents = this.getParents(child); if (parents.contains(ancestor)) { return 1; } for (IndexedWord parent : parents) { Set<IndexedWord> grandparents = this.getParents(parent); if (grandparents.contains(ancestor)) { return 2; } } return -1; }
public boolean attachedNegatedVerb(IndexedWord vertex) { for (IndexedWord parent : getParents(vertex)) { if (isNegatedVerb(parent)) { return true; } } return false; }
public List<IndexedWord> getParentList(IndexedWord vertex) { if (!containsVertex(vertex)) { throw new IllegalArgumentException(); } List<IndexedWord> result = new ArrayList<>(getParents(vertex)); Collections.sort(result); return result; }
@Override boolean satisfies(IndexedWord l1, IndexedWord l2, SemanticGraph sg) { IndexedWord parent = sg.getCommonAncestor(l1, l2); Set<IndexedWord> l1Parents = sg.getParents(l1); if (parent != null && l1Parents.contains(parent) && satisfiesOrder(l1, l2)) { return true; } return false; }
Set<IndexedWord> v1Parents = this.getParents(v1); Set<IndexedWord> v2Parents = this.getParents(v2); Set<IndexedWord> v1GrandParents = wordMapFactory.newSet(); Set<IndexedWord> v2GrandParents = wordMapFactory.newSet(); return 1; v1GrandParents.addAll(this.getParents(v1Parent));
Set<IndexedWord> v1Parents = this.getParents(v1); Set<IndexedWord> v2Parents = this.getParents(v2); Set<IndexedWord> v1GrandParents = wordMapFactory.newSet(); Set<IndexedWord> v2GrandParents = wordMapFactory.newSet(); return v1Parent; v1GrandParents.addAll(this.getParents(v1Parent)); v2GrandParents.addAll(this.getParents(v2Parent));
for (IndexedWord parent : getParents(vertex)) { String lemma = parent.get(CoreAnnotations.LemmaAnnotation.class); if (lemma.equals(word)) {
@Override public void advance() { if (node.equals(IndexedWord.NO_WORD)) { next = null; return; } if (iterator == null) { Set<IndexedWord> parents = sg.getParents(node); Set<IndexedWord> neighbors = Generics.newIdentityHashSet(); for (IndexedWord parent : parents) { neighbors.addAll(sg.getChildren(parent)); } iterator = neighbors.iterator(); } while (iterator.hasNext()) { IndexedWord word = iterator.next(); if ( ! satisfiesOrder(node, word)) { continue; } this.next = word; return; } this.next = null; } };
for (IndexedWord parent : getParents(vertex)) { String lemma = parent.get(CoreAnnotations.LemmaAnnotation.class); if (lemma.equals(word)) {
if (enhancedSg != null) { for (IndexedWord parent : enhancedSg.getParents(token)) { SemanticGraphEdge edge = enhancedSg.getEdge(parent, token); String relationString = edge.getRelation().toString();
public static void smartRemoveEdge(SemanticGraph semanticGraph, IndexedWord indexedWord) { Set<IndexedWord> parents = semanticGraph.getParents(indexedWord); // if (parents) }
public static void smartRemoveEdge(SemanticGraph semanticGraph, IndexedWord indexedWord) { Set<IndexedWord> parents = semanticGraph.getParents(indexedWord); // if (parents) }
/** * Searches up to 2 levels to determine how far ancestor is from child (i.e., * returns 1 if "ancestor" is a parent, or 2 if ancestor is a grandparent. * * @param child * candidate child * @param ancestor * candidate ancestor * @return the number of generations between "child" and "ancestor" (1 is an * immediate parent), or -1 if there is no relationship found. */ public int isAncestor(IndexedWord child, IndexedWord ancestor) { Set<IndexedWord> parents = this.getParents(child); if (parents.contains(ancestor)) { return 1; } for (IndexedWord parent : parents) { Set<IndexedWord> grandparents = this.getParents(parent); if (grandparents.contains(ancestor)) { return 2; } } return -1; }
public List<IndexedWord> getParentList(IndexedWord vertex) { if (!containsVertex(vertex)) { throw new IllegalArgumentException(); } List<IndexedWord> result = new ArrayList<>(getParents(vertex)); Collections.sort(result); return result; }
public List<IndexedWord> getParentList(IndexedWord vertex) { if (!vertexSet().contains(vertex)) { throw new IllegalArgumentException(); } List<IndexedWord> result = new ArrayList<IndexedWord>(getParents(vertex)); Collections.sort(result); return result; }
public boolean attachedNegatedVerb(IndexedWord vertex) { for (IndexedWord parent : getParents(vertex)) { if (isNegatedVerb(parent)) { return true; } } return false; }
public List<IndexedWord> getParentList(IndexedWord vertex) { if (!containsVertex(vertex)) { throw new IllegalArgumentException(); } List<IndexedWord> result = new ArrayList<>(getParents(vertex)); Collections.sort(result); return result; }
public boolean attachedNegatedVerb(IndexedWord vertex) { for (IndexedWord parent : getParents(vertex)) { if (isNegatedVerb(parent)) { return true; } } return false; }
@Override boolean satisfies(IndexedWord l1, IndexedWord l2, SemanticGraph sg) { IndexedWord parent = sg.getCommonAncestor(l1, l2); Set<IndexedWord> l1Parents = sg.getParents(l1); if (parent != null && l1Parents.contains(parent) && satisfiesOrder(l1, l2)) { return true; } return false; }
@Override boolean satisfies(IndexedWord l1, IndexedWord l2, SemanticGraph sg) { IndexedWord parent = sg.getCommonAncestor(l1, l2); Set<IndexedWord> l1Parents = sg.getParents(l1); if (parent != null && l1Parents.contains(parent) && satisfiesOrder(l1, l2)) { return true; } return false; }