def get_synset_by_sk(self, sk): with Execution(self.schema) as exe: # get synset object rows = exe.schema.wss.select(where='sensekey=?', values=(sk,)) if rows is not None and len(rows) > 0: ss = Synset(rows[0].synsetid) ss.definition = rows[0].definition for row in rows: ss.add_lemma(row.lemma) ss.add_key(row.sensekey) ss.tagcount += row.tagcount # add examples exes = exe.schema.ex.select(where='synsetid=?', values=[rows[0].synsetid], orderby='sampleid') for ex in exes: ss.exes.append(ex.sample) return ss
def get_synsets_by_lemma(self, lemma): with Execution(self.schema) as exe: # get synset object rows = exe.schema.wss.select(where='lemma=?', values=(lemma,)) synsets = SynsetCollection() if rows is not None and len(rows) > 0: for row in rows: ss = Synset(row.synsetid) ss.definition = row.definition ss.add_lemma(row.lemma) ss.add_key(row.sensekey) ss.tagcount = row.tagcount # add examples exes = exe.schema.ex.select(where='synsetid=?', values=[row.synsetid], orderby='sampleid') for ex in exes: ss.exes.append(ex.sample) synsets.add(ss) return synsets
def get_synset(self, synsetid, ctx=None, **kwargs): sid = self.ensure_sid(synsetid) # get synset object synset_info = ctx.ss.by_id(sid) if synset_info is None: return None else: ss = Synset(synset_info.synsetid) ss.definition = synset_info.definition # add lemmas, sensekeys and tag count rows = ctx.wordsense.select('synsetid=?', (sid, ), columns=('lemma', 'sensekey', 'tagcount')) for row in rows: ss.add_lemma(row.lemma) ss.add_key(row.sensekey) ss.tagcount += row.tagcount # add examples exes = ctx.ex.select(where='synsetid=?', values=[sid], orderby='sampleid') for ex in exes: ss.examples.append(ex.sample) return ss