private static boolean hasPointer(final IndexWord iw, final PointerType pointerType) { for (final Synset synset : iw.getSenses()) { for (final Pointer pointer : synset.getPointers()) { if (pointerType == pointer.getType()) { return true; } } } return false; }
/** * Returns all the pointers of the synset that contains this word whose source is this word. */ public List<Pointer> getPointers() { List<Pointer> result = new ArrayList<>(0); for (Pointer pointer : getSynset().getPointers()) { if (this.equals(pointer.getSource())) { result.add(pointer); } } return result; }
private static boolean hasPointer(final IndexWord iw, final PointerType pointerType) { for (final Synset synset : iw.getSenses()) { for (final Pointer pointer : synset.getPointers()) { if (pointerType == pointer.getType()) { return true; } } } return false; }
/** * Returns all the pointers of the synset that contains this word whose source is this word. */ public List<Pointer> getPointers() { List<Pointer> result = new ArrayList<>(0); for (Pointer pointer : getSynset().getPointers()) { if (this.equals(pointer.getSource())) { result.add(pointer); } } return result; }
@Override public Set<String> getNeighbours() throws SenseInventoryException { if (neighbours != null) { return neighbours; } neighbours = new HashSet<String>(); // Add neighbours for (Pointer pointer : synset.getPointers()) { try { neighbours.add(synsetToString.transform(pointer .getTargetSynset())); } catch (JWNLException e) { throw new SenseInventoryException(e); } } return neighbours; } }
private void deleteSymmetricPointerFromTarget(Pointer original) { if (null != original.getType().getSymmetricType()) { try { for (Pointer p : original.getTargetSynset().getPointers()) { if (p.isSymmetricTo(original)) { original.getTargetSynset().getPointers().remove(p); break; } } } catch (JWNLException e) { throw new JWNLRuntimeException(e); } } }
private void deleteSymmetricPointerFromTarget(Pointer original) { if (null != original.getType().getSymmetricType()) { try { for (Pointer p : original.getTargetSynset().getPointers()) { if (p.isSymmetricTo(original)) { original.getTargetSynset().getPointers().remove(p); break; } } } catch (JWNLException e) { throw new JWNLRuntimeException(e); } } }
/** * Returns the sense key of a lemma. * * @return sense key * @throws JWNLException JWNLException */ public String getSenseKey() throws JWNLException { int ss_type = getSynsetType(); final StringBuilder senseKey = startBuildingSenseKey(ss_type); if (POS.ADJECTIVE_SATELLITE_ID == ss_type) { List<Pointer> p = synset.getPointers(PointerType.SIMILAR_TO); if (0 < p.size()) { Pointer headWord = p.get(0); List<Word> words = headWord.getTargetSynset().getWords(); if (0 < words.size()) { Word word = words.get(0); senseKey.append(word.getLemma().toLowerCase().replace(' ', '_')).append(":"); if (word.getLexId() < 10) { senseKey.append("0"); } senseKey.append(word.getLexId()); } } } else { senseKey.append(":"); } return senseKey.toString(); }
/** * This method consumes a binding of a WordNet's synset and it's associated Uby-LMF-synset. * It updates the {@link SynsetRelations} of the Uby-LMF-synset. * @param binding the binding of two synset, with WordNet's synset as key * @see Synset * @see net.sf.extjwnl.data.Synset */ private void updateSynsetRelations(Entry<net.sf.extjwnl.data.Synset, Synset> binding){ // Create SynsetRelation for the binding List<SynsetRelation> synsetRelations = new LinkedList<SynsetRelation>(); net.sf.extjwnl.data.Synset synset = binding.getKey(); List<Pointer> pointers = synset.getPointers(); int posOrdinal = POS.getAllPOS().indexOf(synset.getPOS()); // ordinal of synset's POS // Iterate over all pointers of the WNSynset and generate the corresponding SynsetRelation for(Pointer pointer : pointers) { if(!ignoredPointerKeys.contains(pointer.getType().getKey())) { synsetRelations.add(generateSynsetRelation(pointer, posOrdinal)); } } binding.getValue().setSynsetRelations(synsetRelations); }
/** * Returns the sense key of a lemma. * * @return sense key * @throws JWNLException JWNLException */ public String getSenseKey() throws JWNLException { int ss_type = getSynsetType(); final StringBuilder senseKey = startBuildingSenseKey(ss_type); if (POS.ADJECTIVE_SATELLITE_ID == ss_type) { List<Pointer> p = synset.getPointers(PointerType.SIMILAR_TO); if (0 < p.size()) { Pointer headWord = p.get(0); List<Word> words = headWord.getTargetSynset().getWords(); if (0 < words.size()) { Word word = words.get(0); senseKey.append(word.getLemma().toLowerCase().replace(' ', '_')).append(":"); if (word.getLexId() < 10) { senseKey.append("0"); } senseKey.append(word.getLexId()); } } } else { senseKey.append(":"); } return senseKey.toString(); }
protected void resolvePointers(POS pos) throws JWNLException { if (log.isDebugEnabled()) { log.debug(getMessages().resolveMessage("DICTIONARY_INFO_013", pos.getLabel())); } { Iterator<Synset> si = getSynsetIterator(pos); while (si.hasNext()) { Synset s = si.next(); for (Pointer p : s.getPointers()) { // resolve pointers p.getTarget(); } } } { Iterator<IndexWord> ii = getIndexWordIterator(pos); while (ii.hasNext()) { IndexWord iw = ii.next(); // load synsets iw.getSenses().iterator(); } } }
protected void resolvePointers(POS pos) throws JWNLException { if (log.isDebugEnabled()) { log.debug(getMessages().resolveMessage("DICTIONARY_INFO_013", pos.getLabel())); } { Iterator<Synset> si = getSynsetIterator(pos); while (si.hasNext()) { Synset s = si.next(); for (Pointer p : s.getPointers()) { // resolve pointers p.getTarget(); } } } { Iterator<IndexWord> ii = getIndexWordIterator(pos); while (ii.hasNext()) { IndexWord iw = ii.next(); // load synsets iw.getSenses().iterator(); } } }
for (Pointer pointer : synset.getPointers()) { if ((pointer.getSource() instanceof Word) && !indexWord.getLemma().equals(((Word) pointer.getSource()).getLemma().toLowerCase())) { continue;
List<Pointer> p = synset.getPointers(PointerType.SIMILAR_TO); if (0 < p.size()) { Pointer headWord = p.get(0);
List<Pointer> p = synset.getPointers(PointerType.SIMILAR_TO); if (0 < p.size()) { Pointer headWord = p.get(0);
/** * Removes <var>synset</var> from the dictionary. * * @param synset synset to remove * @throws JWNLException JWNLException */ public synchronized void removeSynset(Synset synset) throws JWNLException { checkEditable(); // take care of pointers // this will delete symmetric ones // asymmetric ones will be checked by the synset on gets and removed synset.getPointers().clear(); synset.setDictionary(null); // take care of index words List<Word> copy = new ArrayList<>(synset.getWords()); for (Word word : copy) { IndexWord indexWord = getIndexWord(synset.getPOS(), word.getLemma()); if (null != indexWord) { indexWord.getSenses().remove(synset); } } }
/** * Removes <var>synset</var> from the dictionary. * * @param synset synset to remove * @throws JWNLException JWNLException */ public synchronized void removeSynset(Synset synset) throws JWNLException { checkEditable(); // take care of pointers // this will delete symmetric ones // asymmetric ones will be checked by the synset on gets and removed synset.getPointers().clear(); synset.setDictionary(null); // take care of index words List<Word> copy = new ArrayList<>(synset.getWords()); for (Word word : copy) { IndexWord indexWord = getIndexWord(synset.getPOS(), word.getLemma()); if (null != indexWord) { indexWord.getSenses().remove(synset); } } }
for (Pointer p : synset.getPointers()) { PointerTarget t = p.getTarget(); if (t instanceof Synset) {
private void addSymmetricPointerToTarget(Pointer original) { if (null != original.getType().getSymmetricType()) { try { boolean found = false; for (Pointer p : original.getTargetSynset().getPointers()) { if (p.isSymmetricTo(original)) { found = true; break; } } if (!found) { Pointer symmetric = new Pointer(original.getType().getSymmetricType(), original.getTarget(), original.getSource()); original.getTargetSynset().getPointers().add(symmetric); } } catch (JWNLException e) { throw new JWNLRuntimeException(e); } } }
private void addSymmetricPointerToTarget(Pointer original) { if (null != original.getType().getSymmetricType()) { try { boolean found = false; for (Pointer p : original.getTargetSynset().getPointers()) { if (p.isSymmetricTo(original)) { found = true; break; } } if (!found) { Pointer symmetric = new Pointer(original.getType().getSymmetricType(), original.getTarget(), original.getSource()); original.getTargetSynset().getPointers().add(symmetric); } } catch (JWNLException e) { throw new JWNLRuntimeException(e); } } }