为什么要限制没有指定边类型的数据插入?

Why need to restrict data inserts that do not specify edge types?

neo4j@neo4j> create (v:player)-[]->();
Exactly one relationship type must be specified for CREATE. Did you forget to prefix your relationship type with a ':'? (line 2, column 18 (offset: 18))
"create (v:player)-[]->();"

我认为这对像MATCH p=(v:player)-[]->() RETURN p这样的查询也很有用,那为什么要限制它呢?
其实我在看cypher的时候有点疑惑为什么要提出relationship type的概念而不是Edge label的概念。 有人可以帮我解决这个问题吗?

关系类型和边标签是相同的概念。导入图形时,每个关系都需要定义一个类型或标签。如果您没有特定的边缘标签,您始终可以使用 RELATIONSHIP 等通用边缘标签。

create (v:player)-[:RELATIONSHIP]->(:player);

这就是 属性 图模型在 Neo4j 中的定义方式。但是,您始终可以匹配关系并忽略关系类型,如您的示例所示:

MATCH p=(v:player)-[]->() RETURN p

有关 Neo4j 中建模关系的更多详细信息,请查看以下博客 post:https://medium.com/neo4j/graph-data-modeling-all-about-relationships-5060e46820ce