我正在从http://www.semantilog.org/wn2sql.html
在MySQL中安装WordNet我希望以与普林斯顿网页相同的方式显示数据:http://wordnetweb.princeton.edu/perl/webwn?s=car
我如何查询数据库来做到这一点?我正在使用PHP。
答案 0 :(得分:11)
从我从网站上的文档中收集到的内容,您似乎需要查询三个表。
首先,您查询字表,以获取 wordno ,每个字都有一个唯一的数字。它看起来像这样。
//assuming you've connected to your MySQL db
$word=$_GET['s']; //This variable stores the value given through url
if (ctype_alpha($word)){ // If it's alphabetical
$word_clean=mysql_real_escape_string($word); //Sanitize it for MySQL
}else{
//Not a valid word, error handle
exit();
}
$query='SELECT wordno FROM word WHERE lemma=`$word_clean` LIMIT 1';
$result=mysql_query($query);
接下来,我们需要查询 sense 表,以获取 synsetno ,它将输出单词的不同含义。例如:can(名词)和can(动词),每个都有一个唯一的数字,即 synsetno
MySQL查询将是:
$query='SELECT synsetno FROM sense WHERE wordno=`$wordno`';
对于从该查询获得的每个结果,您必须查询 synset 表以获取每个意义的定义。 Can(名词)和can(动词)有不同的定义。每个 synsetno 的查询。
$query='SELECT definition FROM synset WHERE synsetno=`$synset`';
并且presto!你有一本非常酷的字典。但是,CPU需要查询三个表,每个表都有大量的记录。