-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
相同ID的数据会被覆盖,并且 edgeLable 中的 sourceType 和 targetType 与实际建立的边数据类型不匹配 #212
Comments
首先, 你的核心覆盖问题, 是正常的现象, 你两条数据同样的 ID, 如果后者不覆盖前者, 那就应该采用更新或转换不同 id 的方式去设置, 不然数据库主键唯一, 自然不会允许有 重复的数据, 根据你自己业务场景可以有两个选择:
至于你说的另一个问题, 没太清晰, 建议你拿两条具体的数据举例, 期望是什么, 实际是什么. 然后你的 |
有关的覆盖问题这块我有去看过一下hugegraph-server顶点和边建立更新的过程,对于id唯一,然后导致更新的情况,是否可以考虑这个id在某个label中唯一,在不同lable是可以重复的。 |
你说的就是主键 ID 模式(也是大部分场景推荐的模式), 在发你的那个参考 issue 里有具体举例说明, 设置方式参考文档即可. 第二个主要是需要列出具体的 |
@Ckuangf 确实是因为Id覆盖导致出现了上面的现象。 避免Id覆盖有两种方式:
|
嗯嗯 我去试下,谢谢大佬 |
vertex-A.txt(共有38个顶点,对应的lable是loadTable)
vertex-B.txt(共有1206个顶点,对应的lable是loadTableColumn)
schema.groovy
edge.json
结果:
通过file的方式导入数据的时候,如果出现id相同的数据,后导入的数据会覆盖之前的
由于vertext-A.txt中的数据和vertext-B.txt中的数据有id重复,而导入的数据都是通过id作为主键,此时导入完成之后,相同id的vertext-B中的数据会覆盖A中的数据
edgeLable中的sourceType和targetType与实际建立的边数据类型不匹配
创建的edgeLable为schema.edgeLabel("loadTable2Column").sourceLabel("loadTable")
.targetLabel("loadTableColumn").ifNotExist().create();
但是生成的边是loadTableColumn-loadTableColumn,个人猜测是因为后续的B的数据因为顶点id相同将原先的A的数据进行了替换
The text was updated successfully, but these errors were encountered: