neo4j - 为什么需要限制不指定边类型的数据插入?
问题描述
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 的时候,我有点疑惑为什么要提出 of 的概念relationship type
而不是 . 的概念Edge label
。有人可以帮我解决这个问题吗?
解决方案
关系类型和边标签是相同的概念。导入图形时,每个关系都需要定义一个类型或标签。RELATIONSHIP
如果您没有考虑特定的边缘标签,您始终可以使用通用边缘标签。
create (v:player)-[:RELATIONSHIP]->(:player);
这就是在 Neo4j 中定义属性图模型的方式。但是,您始终可以匹配关系并忽略关系类型,如您的示例中所示:
MATCH p=(v:player)-[]->() RETURN p
有关在 Neo4j 中建模关系的更多详细信息,请查看以下博客文章:https ://medium.com/neo4j/graph-data-modeling-all-about-relationships-5060e46820ce
推荐阅读
- iot - 如何使用 CC3220s 启动板和 Code Composer Studio 订阅 IBM Watson IOT Platform?
- javascript - Three.js:使用 RawShaderMaterial 渲染 LineSegments 线框
- ruby-on-rails - 通过异步作业和发布进行 E2E 轨道测试
- python - pysparkshell 有效,但不是 python -> pyspark
- html - 切换按钮在移动引导程序上不起作用
- sql - Oracle Merge 删除子句,其中数据在目标中但不在源中
- vb.net - DotNetBar 调度程序/日历视图双击?
- saxon - Saxon XPath 错误 - “无法序列化属性”
- typescript - 如何从 Map 返回强类型值
方法 - chef-infra - Yum Install failing install libgs-dev