//private void getParents(Synset synset, System.Collections.IList parents) //{ //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(System.Convert.ToString(parent.getOffset())); // getParents(parent, parents); // } //} //} private void getParents(Synset currentSynset, List<string> parentOffsets) { for (int currentRelation = 0;currentRelation < currentSynset.RelationCount;currentRelation++) { Relation relation = currentSynset.GetRelation(currentRelation); if (relation.SynsetRelationType.Name == "Hypernym") { Synset parentSynset = relation.TargetSynset; parentOffsets.Add(parentSynset.Offset.ToString(System.Globalization.CultureInfo.InvariantCulture)); getParents(parentSynset, parentOffsets); } } }