add new kinds of edge by schema or by facets?
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?