Exemplo n.º 1
0
        private void btFindSimilar_Click(object sender, EventArgs e)
        {
            tbRes.Clear();
            var sb = new StringBuilder();

            var v = Verbs.FindSimilar(tbWord.Text, (VerbAspect)cbAspect.SelectedItem);

            if (v != null)
            {
                BuildString(sb, v);
            }

            var n = Nouns.FindSimilar(tbWord.Text, (Gender)cbGender.SelectedItem, (Animacy)cbAnimacy.SelectedItem);

            if (n != null)
            {
                BuildString(sb, n);
            }

            var a = Adjectives.FindSimilar(tbWord.Text, (Comparability)cbComparability.SelectedItem);

            if (a != null)
            {
                BuildString(sb, a);
            }

            tbRes.Text = sb.ToString();
        }
Exemplo n.º 2
0
        public string GetMorphedSituationString(Situation situation)
        {
            var builder = new StringBuilder();

            builder.Append($"{situation.Agent} ");

            if (situation.Action.Name != EmptyOntologyNode.Name)
            {
                var action = Verbs.FindSimilar(situation.Action.Name);
                if (action != null)
                {
                    var agent         = Nouns.FindOne(situation.Agent.Name);
                    var agentGender   = agent?.Gender ?? Gender.M;
                    var morphedAction = action.Past(Voice.Active, agentGender);
                    builder.Append($"{morphedAction} ");
                }
            }

            if (situation.Object.Name != EmptyOntologyNode.Name)
            {
                var _object = Nouns.FindSimilar(situation.Object.Name);
                if (_object != null)
                {
                    var morphedObject = _object[Case.Accusative];
                    builder.Append($"{morphedObject} ");
                }
            }

            if (situation.Locative.Name != EmptyOntologyNode.Name)
            {
                var locative = Nouns.FindSimilar(situation.Locative.Name);
                if (locative != null)
                {
                    var preposition = situation.Locative.FromRelations
                                      .Where(x => x.Name == Relations.Prepostion)
                                      .Select(x => x.To.Name)
                                      .FirstOrDefault();
                    var morphedLocative = $"{preposition} {locative[Case.Locative]}";
                    builder.Append($"{morphedLocative} ");
                }
            }

            return(builder.ToString());
        }