为什么顶点需要边缘属性?

时间:2015-12-20 12:42:49

标签: orientdb

我发现https://groups.google.com/forum/#!topic/orient-database/Y0QJiXk7d1I的讨论非常有用,可以帮助我设置一个包含边缘的严格模式。这是我的代码

val fileLink = schema.createClass(DefinedInS.label, g.getEdgeBaseType())
fileLink.setStrictMode(true)
fileLink.createProperty("out", OType.LINK, fqnSymbol).setNotNull(true)
fileLink.createProperty("in", OType.LINK, fileCheck).setNotNull(true)
fqnSymbol.createProperty("out_" + DefinedInS.label, OType.LINKBAG).setNotNull(true)
fileCheck.createProperty("in_" + DefinedInS.label, OType.LINKBAG).setNotNull(true)

但我很困惑为什么我需要最后两行,它们不是多余的(或者至少是由fileLink属性暗示的?)。有人可以解释为什么需要它们吗?

此外,对于此示例,我想要从fqnSymbolfileCheck完全一个链接,但这似乎要求使用LINKBAG(它如果我使用LINK)则失败。这是我应该被允许做的事情吗?

此外,通过在边缘添加索引可以获得任何性能优势吗?我的用例是这样的,当我想查找fqnSymbol时,我总是会有fileCheck

我提出https://github.com/orientechnologies/orientdb/issues/5494要求在这方面提供更好的文档。

0 个答案:

没有答案