def is_connectable(bnode, cnode):
    """
    >>> bnode = {'entry': {'pos': 'N'}}
    >>> cnode = {'entry': {'pos': 'J-K'}}
    >>> is_connectable(bnode, cnode)
    True
    >>> bnode = {'entry': {'pos': 'V-Y'}}
    >>> cnode = {'entry': {'pos': 'V-S'}}
    >>> is_connectable(bnode, cnode)
    False
    """
    ctable = set([
        ('BOS', 'N'), ('BOS', 'V'), ('BOS', 'T'),
        ('T', 'N'), ('N', 'J'), ('J', 'N'), ('J', 'V'),
        ('V-T', 'N'), ('V-T', 'J-F'), ('V-Y', 'A'),
        ('V-S', 'EOS'), ('A', 'EOS'),
    ])
    bpos = bnode['entry']['pos']
    bpos_s = bpos.split('-')[0]
    cpos = cnode['entry']['pos']
    cpos_s = cpos.split('-')[0]
    return (((bpos, cpos) in ctable) or
            ((bpos_s, cpos) in ctable) or
            ((bpos, cpos_s) in ctable) or
            ((bpos_s, cpos_s) in ctable))