/** * Returns all pointers of type <var>type</var>. * * @param type pointer type * @return all pointers of type <var>type</var> */ public List<Pointer> getPointers(PointerType type) { List<Pointer> result = new ArrayList<>(); for (Pointer pointer : getPointers()) { if (pointer.getType().equals(type) || PointerType.HYPERNYM == type && PointerType.INSTANCE_HYPERNYM == pointer.getType() || PointerType.HYPONYM == type && PointerType.INSTANCES_HYPONYM == pointer.getType()) { result.add(pointer); } } return result; }
/** * Returns all pointers of type <var>type</var>. * * @param type pointer type * @return all pointers of type <var>type</var> */ public List<Pointer> getPointers(PointerType type) { List<Pointer> result = new ArrayList<>(); for (Pointer pointer : getPointers()) { if (pointer.getType().equals(type) || PointerType.HYPERNYM == type && PointerType.INSTANCE_HYPERNYM == pointer.getType() || PointerType.HYPONYM == type && PointerType.INSTANCES_HYPONYM == pointer.getType()) { 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; }
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; }
/** * This method updates RelatedForms of all LexicalEntries provided by the {@link LexicalEntryGenerator} * @see LexicalEntry * @see RelatedForm */ void updateRelatedForms() { Map<Set<Word>, LexicalEntry> mappings = lexicalEntryGenerator.getLexemeGroupLexicalEntryMaping(); // Iterate over all lexemeGroups and update the RelatedForms of corresponding LexicalEntries for(Set<Word> lexemeGroup : mappings.keySet()){ Set<RelatedForm> relatedForms = new LinkedHashSet<RelatedForm>(); // Iterate over every Lexeme and check for possible RelatedForms for(Word lexeme : lexemeGroup) { for(Pointer pointer : lexeme.getPointers()) { if(pointerTypeRelTypeMappings.containsKey(pointer.getType().getKey())){ relatedForms.add(generateRelatedForm(pointer)); } } } mappings.get(lexemeGroup).setRelatedForms(new ArrayList<RelatedForm>(relatedForms)); } }
/** * 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); }
/** * This method updates SenseRelations of the Sense associated with the consumed lexeme. * @see Sense * @see SenseRelation * @see Word */ private void updateSenseRelations(Word lexeme) { SenseGenerator senseGenerator = lexicalEntryGenerator.getSenseGenerator(); Sense sense = senseGenerator.getSense(lexeme); List<SenseRelation> senseRelations = new LinkedList<SenseRelation>(); for(Pointer pointer : lexeme.getPointers()){ if(pointerTypeRelNameMappings.containsKey(pointer.getType().getKey())) { senseRelations.add(createSenseRelation(pointer)); } } sense.setSenseRelations(senseRelations); }
/** * Returns whether <var>that</var> is symmetric to this pointer. * @param that pointer * @return true, if <var>that</var> is symmetric to this pointer. * @throws JWNLException JWNLException */ public boolean isSymmetricTo(Pointer that) throws JWNLException { return null != pointerType.getSymmetricType() && that.getType().equals(pointerType.getSymmetricType()) && that.getTarget().equals(getSource()) && that.getSource().equals(getTarget()); }
/** * Returns whether <var>that</var> is symmetric to this pointer. * @param that pointer * @return true, if <var>that</var> is symmetric to this pointer. * @throws JWNLException JWNLException */ public boolean isSymmetricTo(Pointer that) throws JWNLException { return null != pointerType.getSymmetricType() && that.getType().equals(pointerType.getSymmetricType()) && that.getTarget().equals(getSource()) && that.getSource().equals(getTarget()); }
for (Pointer pointer : pointers) { synsetPointerStmt.setInt(1, nextId()); synsetPointerStmt.setString(3, pointer.getType().getKey()); synsetPointerStmt.setLong(4, pointer.getTargetOffset()); synsetPointerStmt.setString(5, pointer.getTargetPOS().getKey());
for (Pointer pointer : pointers) { synsetPointerStmt.setInt(1, nextId()); synsetPointerStmt.setString(3, pointer.getType().getKey()); synsetPointerStmt.setLong(4, pointer.getTargetOffset()); synsetPointerStmt.setString(5, pointer.getTargetPOS().getKey());
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); } } }
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); } } }
/** * This method consumes a lexical pointer and generates the associated RelatedForm, defined in Uby-LMF * @param pointer WordNet's lexical pointer * @return RelatedForm associated with the consumed pointer * @see RelatedForm * @see Pointer */ private RelatedForm generateRelatedForm(Pointer pointer){ RelatedForm relatedForm = new RelatedForm(); // setting RelationType ERelTypeMorphology relType = getRelType(pointer.getType().getKey(), POS.getAllPOS().indexOf(pointer.getSource().getPOS())); relatedForm.setRelType(relType); // setting targetSense Word targetLexeme = (Word) pointer.getTarget(); relatedForm.setTargetSense(lexicalEntryGenerator.getSenseGenerator().getSense(targetLexeme)); // setting targeted LexicalEntry LexicalEntry targetLexicalEntry = lexicalEntryGenerator.getLexicalEntry(targetLexeme); if (targetLexicalEntry == null) throw new NullPointerException("Unable to find target lexical entry of related form for " + targetLexeme); relatedForm.setTargetLexicalEntry(targetLexicalEntry); return relatedForm; }
String pointerSymbol = pointer.getType().getKey(); ERelTypeSemantics relType = getRelType(pointerSymbol, posOrdinal);
/** * This method creates a SenseRelation based on the consumed WordNet-pointer * @param pointer WordNet's {@link Pointer} * @return instance of {@link SenseRelation}-class associated with the consumed pointer */ private SenseRelation createSenseRelation(Pointer pointer){ SenseRelation senseRelation = new SenseRelation(); // Setting the target Word target = (Word) pointer.getTarget(); senseRelation.setTarget(lexicalEntryGenerator.getSenseGenerator().getSense(target)); String pointerKey = pointer.getType().getKey(); int posOrdinal = POS.getAllPOS().indexOf(pointer.getSource().getPOS()); // setting RelationName String relName = getRelName(pointerKey, posOrdinal); senseRelation.setRelName(relName); // settin relation type ERelTypeSemantics relType = getRelType(pointerKey, posOrdinal); senseRelation.setRelType(relType); return senseRelation; }