Esempio n. 1
0
 def testGpred(self):
     p = Pred.abstract('pron_rel')
     assert p.type == Pred.ABSTRACT
     assert p.string == 'pron_rel'
     assert p.lemma == 'pron'
     assert p.pos == None
     assert p.sense == None
     assert p.short_form() == 'pron'
     p = Pred.abstract('udef_q_rel')
     assert p.string == 'udef_q_rel'
     assert p.lemma == 'udef'
     assert p.pos == 'q'
     assert p.sense == None
     assert p.short_form() == 'udef_q'
     p = Pred.abstract('udef_q')
     assert p.string == 'udef_q'
     assert p.lemma == 'udef'
     assert p.pos == 'q'
     assert p.sense == None
     assert p.short_form() == 'udef_q'
     p = Pred.abstract('abc_def_ghi_rel')
     assert p.type == Pred.ABSTRACT
     assert p.string == 'abc_def_ghi_rel'
     # pos must be a single character, so we get abc_def, ghi, rel
     assert p.lemma == 'abc_def'
     assert p.pos == None
     assert p.sense == 'ghi'
     assert p.short_form() == 'abc_def_ghi'
     repr(p)  # no error
Esempio n. 2
0
 def testEq(self):
     assert spred('_dog_n_rel') == Pred.realpred(lemma='dog', pos='n')
     assert spred('_dog_n_rel') == '_dog_n_rel'
     assert '_dog_n_rel' == Pred.realpred(lemma='dog', pos='n')
     assert spred('"_dog_n_rel"') == spred("'_dog_n_rel")
     assert Pred.abstract('pron_rel') == 'pron_rel'
     assert Pred.surface_or_abstract(
         '_dog_n_rel') != Pred.surface_or_abstract('dog_n_rel')
     assert (spred('_dog_n_rel') == None) == False
     assert spred('_dog_n_1_rel') == spred('_Dog_N_1_rel')
     assert spred('_dog_n_1_rel') == spred('_dog_n_1')
Esempio n. 3
0
def _decode_pred(elem):
    # <!ELEMENT pred (#PCDATA)>
    # <!ELEMENT spred (#PCDATA)>
    # <!ELEMENT realpred EMPTY>
    # <!ATTLIST realpred
    #           lemma CDATA #REQUIRED
    #           pos (v|n|j|r|p|q|c|x|u|a|s) #REQUIRED
    #           sense CDATA #IMPLIED >
    if elem.tag == 'pred':
        return Pred.abstract(elem.text)
    elif elem.tag == 'spred':
        return Pred.surface(elem.text)
    elif elem.tag == 'realpred':
        return Pred.realpred(elem.get('lemma'),
                             elem.get('pos') or None,
                             elem.get('sense'))