Esempio n. 1
0
    def transform_dependency(self, to_parse):
        # make a tree from dependency parsing
        if not to_parse:
            return

        to_parse = self._split_tokens(to_parse)

        g = Graph()

        for token in to_parse:
            token_tmp = token.copy()
            index = token_tmp.pop('index')
            v = Vertice(index, token_tmp)
            g.add_vertice(v)

        for token in to_parse:
            if token['parent'] != 0:  # zero is the mark of not having parent, for root node
                parent_v = g.get_vertice(token['parent'])
                v = g.get_vertice(token['index'])
                e = Edge('{}_{}'.format(parent_v.index, token['index']),
                         parent_v, v, {'relation': token['relation']})
                g.add_edge(e)

        return g
Esempio n. 2
0
 def test_get_vertice(self):
     root = Vertice('root')
     g1 = Graph()
     g1._vertices.append(root)
     self.assertEqual(None, g1.get_vertice('vertice_unknown'))
     self.assertEqual(root, g1.get_vertice('root'))