Hi,
As a newbie, I have a question about what is the best practice regarding symmetrical relationships. For the sake of this discussion, assume that the :KNOWS relationship is symmetrical - i.e. if (I)-[:KNOWS]->(you) then, by definition, (you)-[:KNOWS]->(I).
I notice in some example graphs this would be shown as two unidirectional :KNOWS relationships and, in other graphs, a single :KNOWS relationship with the understanding that it can be traversed in both directions.
Is there a best practice? If "it depends, " what factors influence one pattern versus the other?
I usually choose to treat the relationship as undirected, and thus only create a single relationship in the database. Then at query time treat it as undirected (by not specifying a direction in the Cypher query).
For me this typically is cleaner as my data model doesn't have "duplicate" relationships and I can just query un-directed in Cypher without having to make sure I'm not counting the same relationship twice.