/** * <summary>Compares literals of synonym and the specified SynSet, returns true if their have same literals.</summary> * * <param name="synSet">SynSet to compare</param> * <returns>true if SynSets have same literals, false otherwise</returns> */ public bool ContainsSameLiteral(SynSet synSet) { for (var i = 0; i < _synonym.LiteralSize(); i++) { var literal1 = _synonym.GetLiteral(i).GetName(); for (var j = 0; j < synSet.GetSynonym().LiteralSize(); j++) { var literal2 = synSet.GetSynonym().GetLiteral(j).GetName(); if (literal1 == literal2) { return(true); } } } return(false); }
/** * <summary>Merges synonym and a specified SynSet with their definitions, relations, part of speech tags and examples.</summary> * * <param name="synSet">SynSet to be merged</param> */ public void MergeSynSet(SynSet synSet) { for (var i = 0; i < synSet.GetSynonym().LiteralSize(); i++) { if (!_synonym.Contains(synSet.GetSynonym().GetLiteral(i))) { _synonym.AddLiteral(synSet.GetSynonym().GetLiteral(i)); } } if (_definition == null && synSet.GetDefinition() != null) { SetDefinition(synSet.GetDefinition()); } else { if (_definition != null && synSet.GetDefinition() != null && GetLongDefinition() != synSet.GetLongDefinition()) { SetDefinition(GetLongDefinition() + "|" + synSet.GetLongDefinition()); } } if (synSet.RelationSize() != 0) { for (var i = 0; i < synSet.RelationSize(); i++) { if (!ContainsRelation(synSet.GetRelation(i)) && synSet.GetRelation(i).GetName() != _id) { AddRelation(synSet.GetRelation(i)); } } } if (_example == null && synSet.GetExample() != null) { _example = synSet.GetExample(); } }