我们使用Titan 0.5.4。 我们使用Frames框架进行OGM,我们定制它来支持继承。 我们在属性上设置了Titan index,其中包含"类型鉴别符" (见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明确指出:
设置此元素上给定键的值。必须将密钥定义为具有Cardinality.SINGLE,否则此方法会抛出异常
所以我想知道,
如何将多个值放入edge的属性?