I think with the latest release of the Spark Dgraph Connector this discussion can be marked solved.
The connector partitions the graph by predicates and nodes, so it can load large (many nodes) and wide (many predicates) graphs into Spark. And it supports filter and projection pushdown so you can quickly load tiny sub-graphs.