def reduce(alist: Alist, children: List[Alist], G: InferenceGraph): variables = alist.variables() data = [x.instantiation_value(alist.get(tt.OPVAR)) for x in children if (x not in list(variables.keys()) and x not in list(variables.values()))] alist.instantiate_variable(alist.get(tt.OPVAR), len(data)) alist.instantiate_variable(tt.COV, estimate_uncertainty( children, False, alist.get(tt.OP), len(children) )) return alist
def test_getVariables(self): alist = Alist( **{ tt.ID: '1', tt.SUBJECT: 'Africa', tt.PROPERTY: 'P1082', tt.OBJECT: '?x', tt.TIME: '2010', tt.OPVAR: '?x', tt.COST: 1 }) alist.set('#d', 34) variables = alist.variables() self.assertTrue(len(variables) == 3, "should have 3 items in dict")