コード例 #1
0
        /**
         * <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);
        }
コード例 #2
0
        /**
         * <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();
            }
        }