more on children() and parents()

This commit is contained in:
Helmut Merz 2024-03-16 23:38:58 +01:00
parent 13706c3d84
commit 33b1cbe823
2 changed files with 9 additions and 3 deletions

View file

@ -15,15 +15,21 @@ class Concept(Track):
headFields = ['name']
def parents(self, predicate=None):
return (r.getFirst() for r in self.parentRels(predicate))
def parentRels(self, predicate=None):
return self.container.queryRels(second=self, predicate=predicate)
def children(self, predicate=None):
return (r.getSecond() for r in self.childRels(predicate))
def childRels(self, predicate=None):
return self.container.queryRels(first=self, predicate=predicate)
def values(self):
return (t.getSecond() for t in self.children(Rels.defaultPredicate))
return self.children(defaultPredicate)
def addChild(self, child, predicate = defaultPredicate):
def addChild(self, child, predicate=defaultPredicate):
rels = self.container.storage.getContainer(Triple)
rels.save(Triple(self.uid, child.uid, predicate))

View file

@ -115,7 +115,7 @@ def test_topic(self, config):
tp_itc.addChild(tp_proglang)
c = list(tp_itc.children())
self.assertEqual(c[0].getSecond().name, 'prog_lang')
self.assertEqual(c[0].name, 'prog_lang')
storage.commit()