Пример #1
0
        /// <summary>
        /// Find all the individuals that need to exist in these inventions
        /// </summary>
        private void DetermineIndividuals()
        {
            EphemeralIndividuals.Clear();

            var ca = Concepts;

            if (Count == 1)
            {
                EphemeralIndividuals.Add(Ontology.EphemeralIndividual(ca.Append(Noun),
                                                                      Noun.SingularForm.Prepend("the").ToArray()));
            }
            else
            {
                for (var i = 0; i < Count; i++)
                {
                    EphemeralIndividuals.Add(Ontology.EphemeralIndividual(ca.Append(Noun),
                                                                          Noun.SingularForm.Append(i.ToString()).ToArray()));
                }
            }

            foreach (var i in EphemeralIndividuals.ToArray())
            {
                AddParts(i);
            }

            Individuals.Clear();
            Individuals.AddRange(EphemeralIndividuals);
            Individuals.AddRange(Ontology.AllPermanentIndividuals.Select(pair => pair.Value));
            ResetPredicateTables();
        }