Add new kinds of edge by schema or by facets?

What I want to do

add new kinds of edge by schema or by facets?

What I did

For example, a node has multiple dynamic relationships with another node, which may be colleagues, roommates, or classmates. So how to add an edge to this node? Add a new predicate? Or define a unified predicate and add various types of facets to this predicate. For example, if it is a classmate, then the classmate facet is true, and if it is a colleague, the colleague facet is true? Which solution is better, in terms of insertion performance and search performance?

At present, I only know to add a new predicate edge through the alerting schema

Well, new predicates are better. If you use Facets you have to have a fine control of the facets. But it is up to you. Pick the one you feel comfortable.

thank you very much