def test_save_neo4j(self): a = Alist(**{ tt.ID: '1', tt.OPVAR: '$x $y', '$x': '?x1', '$y': '?y1', '?_lte_': '' }) b = Alist(**{tt.ID: '2', tt.OPVAR: '?x1', '?x1': 30}) a.link_child(b) sessionId = "TEST" + uuid.uuid4().hex clogger.Logging().log(('neo4j', a, None, None, sessionId)) clogger.Logging().log(('neo4j', b, a, "temporal", sessionId)) # sleep to allow graph store threads to finish time.sleep(2) c = neo4j.get_node(sessionId, b.id) c = Alist(**c) self.assertEqual(b.id, c.id, msg=f'{sessionId}, {b}, {c}')
def test_prune(self): parent = Alist( **{ tt.ID: '1', tt.SUBJECT: 'Africa', tt.PROPERTY: 'P1082', tt.OBJECT: '', tt.TIME: '2010', tt.OPVAR: '?x', tt.COST: 1 }) child = Alist( **{ tt.ID: '1', tt.SUBJECT: 'Ghana', tt.PROPERTY: 'P1082', tt.OBJECT: '', tt.TIME: '2010', tt.OPVAR: '?x', tt.COST: 1 }) childB = Alist( **{ tt.ID: '1', tt.SUBJECT: 'Ghana', tt.PROPERTY: 'P1082', tt.OBJECT: '', tt.TIME: '2010', tt.OPVAR: '?x', tt.COST: 1 }) grandchild = Alist( **{ tt.ID: '1', tt.SUBJECT: 'Ghana', tt.PROPERTY: 'P1082', tt.OBJECT: '', tt.TIME: '2010', tt.OPVAR: '?x', tt.COST: 1 }) parent.link_child(child) parent.link_child(childB) child.link_child(grandchild) child.prune() self.assertEqual( (len(parent.children), len(child.parent), len( child.children), len(grandchild.parent)), (1, 0, 0, 0), "parent should only have one child, child and grandchild should have no parents." )