我正在从http://www.semantilog.org/wn2sql.html在 MySQL 中安装 WordNet
我想以与普林斯顿网页相同的方式显示数据:http ://wordnetweb.princeton.edu/perl/webwn?s=car
我将如何查询数据库来做到这一点?我正在使用 PHP。
我正在从http://www.semantilog.org/wn2sql.html在 MySQL 中安装 WordNet
我想以与普林斯顿网页相同的方式显示数据:http ://wordnetweb.princeton.edu/perl/webwn?s=car
我将如何查询数据库来做到这一点?我正在使用 PHP。
根据我从网站上的文档收集的信息,您似乎需要查询三个表。
首先,您查询单词表以获取它的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);
接下来,我们需要查询语义表以获取synsetno ,它将输出单词的不同意义。例如:can(名词)和 can(动词),每个都有一个唯一的数字,即synsetno
MySQL 查询将类似于以下内容:
$query='SELECT synsetno FROM sense WHERE wordno=`$wordno`';
对于从该查询中获得的每个结果,您必须查询同义词集表以获取每种意义的定义。can(名词)和can(动词)有不同的定义。每个synsetno的查询。
$query='SELECT definition FROM synset WHERE synsetno=`$synset`';
快!你有一本很酷的字典。但是,必须查询三个表,每个表都有大量记录,这对 CPU 来说是一种痛苦。