【发布时间】:2016-05-08 20:11:23
【问题描述】:
我正在尝试获取给定 wordid 的同义词和示例列表。经过大量的试验和错误,我可以获得所有同义词的样本,但不是实际的同义词。这是我的查询,它给了我以下结果。
select senses.wordid, senses.synsetid, senses.sensekey, synsets.definition FROMsenses
LEFT OUTER JOINsynsetsON senses.synsetid = synsets.synsetid
where senses.wordid = 79459
我知道您可以通过将 synsetid 提交回 senses 表来获得同义词,该表会为您提供唯一的 wordid 和 sensekey,然后您可以将其与 words 表连接。我的问题是我似乎无法构建该查询。
如果可能,我想获得这些列。如果不是 synsetid,引理和定义就可以了。当前数据库是 mySql 但我希望答案也适用于 sqlite,因为我将它用于 android APP。
wordid、lemma、senseid、synsetid、定义
架构:
CREATE TABLE `synsets` (
`synsetid` int(10) unsigned NOT NULL DEFAULT '0',
`pos` enum('n','v','a','r','s') NOT NULL,
`definition` mediumtext,
PRIMARY KEY (`synsetid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `words` (
`wordid` int(10) unsigned NOT NULL DEFAULT '0',
`lemma` varchar(80) NOT NULL,
`mantiq` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY (`wordid`),
UNIQUE KEY `unq_words_lemma` (`lemma`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `senses` (
`wordid` int(10) unsigned NOT NULL DEFAULT '0',
`synsetid` int(10) unsigned NOT NULL DEFAULT '0',
`senseid` int(10) unsigned DEFAULT NULL,
`sensekey` varchar(100) DEFAULT NULL,
PRIMARY KEY (`wordid`,`synsetid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `samples` (
`synsetid` int(10) unsigned NOT NULL DEFAULT '0',
`sampleid` smallint(5) unsigned NOT NULL DEFAULT '0',
`sample` mediumtext NOT NULL,
PRIMARY KEY (`synsetid`,`sampleid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
数据库链接:https://cloud.generatedesign.com/index.php/s/LA2G8ZvqNClqHFN
【问题讨论】:
-
我知道什么是同义词,但什么是“样本”?
-
a sample is a sentence i.e 'Dog" -> "Dog is men's best friend." 这是示例数据库的链接。谢谢。cloud.generatedesign.com/index.php/s/Z152Je3JFaKEooI
-
想想我对类似问题的回答here 可能会有所帮助。
标签: mysql sql sqlite android-sqlite wordnet