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); //} }
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(); } }