Example #1
0
        public static Dictionary <String, int> getConcept(String s)
        {
            Dictionary <String, int> concepts_dictionary = new Dictionary <String, int>();

            String[]        wordlist = Regex.Split(s.Trim().ToLower().Replace("/", " "), "\\s+"); //该单词表中虽然含有许影响多无用词,但是概念查找中如果没有找到该词不放入词表中
            String          sql      = "select concept,count from concept_table where instance=@ins limit 10";
            MySqlConnection myCon    = DBmysql.getmysqlcon();

            myCon.Open();
            MySqlCommand mySqlCommand = new MySqlCommand(sql, myCon);

            try
            {
                foreach (String instanceString in wordlist)
                {
                    mySqlCommand.Parameters.Clear();
                    mySqlCommand.Parameters.AddWithValue("@ins", instanceString);
                    MySqlDataReader reader = mySqlCommand.ExecuteReader();
                    while (reader.Read())
                    {
                        if (reader.HasRows)
                        {
                            String conceptString = reader.GetString(0);
                            int    concept_count = reader.GetInt32(1);
                            //     Console.WriteLine("intstance: "+ instanceString + "  concept: " + conceptString + "      count:" + concept_count);
                            if (concepts_dictionary.ContainsKey(conceptString))
                            {
                                int temp_count = concepts_dictionary[conceptString];
                                concepts_dictionary[conceptString] = concept_count + temp_count;
                            }
                            else
                            {
                                concepts_dictionary.Add(conceptString, concept_count);
                            }
                        }
                    }
                    reader.Close();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("查询失败了!");
                Console.WriteLine(e.ToString());
            }
            finally
            {
                mySqlCommand.Dispose();
                myCon.Close();
            }
            return(concepts_dictionary);
            //foreach (KeyValuePair<String,int> pair in concepts_dictionary)
            //{
            //    Console.WriteLine(pair.Key+"   "+pair.Value);
            //}
        }
Example #2
0
        public void computeParentweight(String site, String mark, int samplenum)
        {
            parentweight.Clear(); //(可改权重矩阵)
            MySqlConnection myCon = DBmysql.getmysqlcon();

            myCon.Open();
            MySqlCommand mySqlCommand = new MySqlCommand(sqlparent, myCon); //处理父节点模板(可改权重矩阵)

            try
            {
                int size = 0;  //所有次数相加取
                mySqlCommand.Parameters.Clear();
                mySqlCommand.Parameters.AddWithValue("@site", site);
                mySqlCommand.Parameters.AddWithValue("@mark", mark);
                mySqlCommand.Parameters.AddWithValue("@samplenum", samplenum);
                MySqlDataReader reader = mySqlCommand.ExecuteReader();
                while (reader.Read())
                {
                    if (reader.HasRows)
                    {
                        String pattern = reader.GetString(0);
                        int    count   = reader.GetInt32(1);
                        size = size + count;
                        parentweight.Add(pattern, count);  //此时还没有进行权重系数的装换(可改权重矩阵)
                        //  Console.WriteLine("取出的模式及其数目:  "+pattern+count);
                    }
                }
                reader.Close();
                transformToweight(parentweight, size); //转换成权重系数(可改权重矩阵)
            }
            catch (Exception e)
            {
                Console.WriteLine("查询失败了!");
                Console.WriteLine(e.ToString());
            }
            finally
            {
                mySqlCommand.Dispose();
                myCon.Close();
            }
        }