code: private function getTextualPath(array $path, Vertex $startVertex)
      {
          $currentVertex = $startVertex;
          $currentTable = $currentVertex->getId();
  
          $textPath = $currentTable;
  
          foreach ($path as $edge) {
              /* @var $fk ForeignKeyConstraint */
              if ($fk = $edge->getAttribute('fk')) {
                  if ($fk->getForeignTableName() == $currentTable) {
                      $currentTable = $fk->getLocalTable()->getName();
                      $isForward = false;
                  } else {
                      $currentTable = $fk->getForeignTableName();
                      $isForward = true;
                  }
  
                  $columns = implode(',', $fk->getLocalColumns());
  
                  $textPath .= ' '.(!$isForward ? '<' : '');
                  $textPath .= '--('.$columns.')--';
                  $textPath .= ($isForward ? '>' : '').' ';
                  $textPath .= $currentTable;
              } elseif ($junctionTable = $edge->getAttribute('junction')) {
                  /* @var $junctionTable Table */
                  $junctionFks = array_values($junctionTable->getForeignKeys());
                  // We need to order the 2 FKs. The first one is the one that has a common point with the current table.
                  $fk = $junctionFks[0];
                  if ($fk->getForeignTableName() == $currentTable) {
                      $currentTable = $junctionFks[1]->getForeignTableName();
                  } else {
                      $currentTable = $fk->getForeignTableName();
                  }
                  $textPath .= ' <=('.$junctionTable->getName().')=> '.$currentTable;
              } else {
                  // @codeCoverageIgnoreStart
                  throw new SchemaAnalyzerException('Unexpected edge. We should have a fk or a junction attribute.');
                  // @codeCoverageIgnoreEnd
              }
          }
  
          return $textPath;
      }
docs: Returns the textual representation of the path.
  
  @param Base[] $path
  @param Vertex $startVertex