泰坦图:边 属性 与 Cardinality.LIST? StandardEdge.addProperty() 在哪里?
Titan graph: Edge property with Cardinality.LIST? Where is StandardEdge.addProperty()?
我们使用 Titan 0.5.4。
我们为 OGM 使用 Frames 框架,我们定制它以支持继承。
我们在 属性 上设置了一个 Titan index,其中包含 "type discriminators"(参见 Hibernate):
PropertyKey propKey = getOrCreatePropertyKey(titan, "w:type", String.class), Cardinality.LIST);
titan.buildIndex("edge-type", Edge.class).addKey("w:type").buildCompositeIndex();
现在,buildIndex
的第二个参数的存在表明边缘也应该能够容纳 Cardinality.LIST
属性。
但是,当你想添加这些属性时,没有方法:
if (abstractElement instanceof StandardEdge)
((StandardEdge) abstractElement).addProperty(propertyName, propertyValue);
除了没有 addProperty()
,只有 setProperty()
会覆盖该值,Javadoc 明确指出:
Sets the value for the given key on this element. The key must be defined to have Cardinality.SINGLE, otherwise this method throws an exception
所以我想知道,
如何将多个值放入边缘的 属性?
我们使用 Titan 0.5.4。 我们为 OGM 使用 Frames 框架,我们定制它以支持继承。 我们在 属性 上设置了一个 Titan index,其中包含 "type discriminators"(参见 Hibernate):
PropertyKey propKey = getOrCreatePropertyKey(titan, "w:type", String.class), Cardinality.LIST);
titan.buildIndex("edge-type", Edge.class).addKey("w:type").buildCompositeIndex();
现在,buildIndex
的第二个参数的存在表明边缘也应该能够容纳 Cardinality.LIST
属性。
但是,当你想添加这些属性时,没有方法:
if (abstractElement instanceof StandardEdge)
((StandardEdge) abstractElement).addProperty(propertyName, propertyValue);
除了没有 addProperty()
,只有 setProperty()
会覆盖该值,Javadoc 明确指出:
Sets the value for the given key on this element. The key must be defined to have Cardinality.SINGLE, otherwise this method throws an exception
所以我想知道,
如何将多个值放入边缘的 属性?