public long getOffset() { return realSynset.getOffset(); }
public Object getKey() { return new Long(getOffset()); }
public long getOffset() { return getSource().getOffset(); }
public int hashCode() { return getPOS().hashCode() ^ (int) getOffset(); }
private void getParents(Synset synset, List<String> parents) throws JWNLException { Pointer[] pointers = synset.getPointers(); for (int pi=0,pn=pointers.length;pi<pn;pi++) { if (pointers[pi].getType() == PointerType.HYPERNYM) { Synset parent = pointers[pi].getTargetSynset(); parents.add(String.valueOf(parent.getOffset())); getParents(parent,parents); } } }
private void getParents(Synset synset, List<String> parents) throws JWNLException { Pointer[] pointers = synset.getPointers(); for (int pi = 0, pn = pointers.length; pi < pn;pi++) { if (pointers[pi].getType() == PointerType.HYPERNYM) { Synset parent = pointers[pi].getTargetSynset(); parents.add(String.valueOf(parent.getOffset())); getParents(parent,parents); } } }
@Nullable public static String mapSynsetToBBN(@Nullable final String synsetID) { final List<String> ids = Lists.newLinkedList(); ids.add(synsetID); while (!ids.isEmpty()) { final String id = ids.remove(0); final List<String> bbns = SYNSET_TO_BBN.get(id); if (bbns != null && !bbns.isEmpty()) { return bbns.get(0); // return only first BBN in case of ambiguity } try { final Synset source = getSynset(id); final List<String> hypernymIDs = Lists.newArrayList(); for (final PointerType type : new PointerType[] { PointerType.HYPERNYM, PointerType.INSTANCE_HYPERNYM }) { for (final Pointer pointer : source.getPointers(type)) { final Synset target = pointer.getTargetSynset(); hypernymIDs.add(getSynsetID(target.getOffset(), target.getPOS().getKey())); } } Collections.sort(hypernymIDs); // necessary in order to get deterministic results ids.addAll(hypernymIDs); } catch (final JWNLException ex) { throw new Error("Unexpected exception (!)", ex); } } return null; }
public String toString() { if (_cachedToString == null) { StringBuffer words = new StringBuffer(); for (int i = 0; i < getWordsSize(); ++i) { if (i > 0) words.append(", "); words.append(getWord(i).getLemma()); } if (getGloss() != null) words.append(" -- (" + getGloss() + ")"); _cachedToString = JWNL.resolveMessage("DATA_TOSTRING_009", new Object[]{new Long(getOffset()), getPOS(), words.toString()}); } return _cachedToString; }
return getSynsetID(synset.getOffset(), pos.getKey()); } catch (final JWNLException ex) { throw new Error(ex);
public static Set<String> getGenericSet(final String synsetID, final PointerType... pointerTypes) { final Set<String> ret = Sets.newHashSet(); final Synset synset = getSynset(synsetID); if (synset != null) { for (final PointerType pointerType : pointerTypes) { for (final Pointer pointer : synset.getPointers(pointerType)) { try { final Synset target = pointer.getTargetSynset(); ret.add(getSynsetID(target.getOffset(), target.getPOS().getKey())); } catch (final Throwable ex) { throw new RuntimeException(ex); } } } } return ret; }
public static List<String> getSynsetsForLemma(String lemma, String pos) { try { synchronized (WordNet.class) { IndexWord indexWord = getDictionary().lookupIndexWord(POS.getPOSForKey(pos), lemma); if (indexWord == null) { return new ArrayList<>(); } Synset[] synsets = indexWord.getSenses(); ArrayList<String> ret = new ArrayList<>(); for (int i = 0; i < synsets.length; i++) { Synset synset = synsets[i]; ret.add(getSynsetID(synset.getOffset(), synset.getPOS().getKey())); } return ret; } } catch (final JWNLException ex) { throw new Error(ex); } }