OrientDB中具有相同@rid的重复边

时间:2015-07-22 11:45:29

标签: sql graph graph-databases orientdb edge

我在使用OrientDB(community-2.1-rc5)查询Edge类时发现了一种奇怪的行为。数据库返回完全相同的边缘,具有完全相同的@rid和完全相同的数据,两次。我的直觉说这是一个错误......

这是查询

SELECT FROM E WHERE @class='LIKES' AND (out IN [#12:0,#12:221]) AND in=#36:1913

这就是orientDB studio返回的内容

http://s29.postimg.org/hwruv0zif/Captura.png

这没有任何意义。如果我转到顶点并查询LIKES关系,它只返回一个注册表......任何人都遇到这样的问题?

这是我使用的数据库,如果它有帮助

https://www.dropbox.com/sh/pkm28cfer1pwpqb/AAAVGeL1eftOGR4o0todTiAha?dl=0

1 个答案:

答案 0 :(得分:0)

要获得有关此错误的帮助,您应该请求加入Google群组。 StackOverflow不是获取此类错误帮助的最佳位置。

问题是你错误地复制了你的边缘。 Orientdb允许你出于某种未知原因这样做。

以下是有关orientdb google群组的错误讨论:https://groups.google.com/forum/#!topic/orient-database/cAR7yUjCZcI

在讨论中,Luca(orientdb的创建者)说:

"the problem is that without a transaction the creation of edge could
be dirty. OrientDB tries to fix dirty reference, so maybe that's the 
reason why the next time the exception is raised. I've changed the   
default behavior of all SQL commands against Graphs to be always 
transactional"

升级到最新版本的orientdb将是一个很好的理想选择。也许错误已得到修复。