Relationsdatabashanteringssystem baserade på SQL är bara delvis lämpliga för hierarkiska eller rekursiva frågor. Andra system som ArangoDB är bättre lämpade för detta (det var ett bra föredrag om detta på GOTO 2016 ). Det är dock också möjligt att skapa rekursiva frågor i SQL med hjälp av Common Table Expressions , vilket gör att du till exempel kan fråga klassiska föräldra-/barntabeller för alla förfäder och ättlingar.
I PostgreSQL ser det till exempel ut så här:
0672c4761d202a35a9059fa137ace7c3
Om du vill få alla barn till ett visst objekt_id använder du de vanliga tabelluttrycken:
0672c4761d202a35a9059fa137ace7c3
Att fråga efter föräldrarna är inte heller något problem:
0672c4761d202a35a9059fa137ace7c3