簡體   English   中英

泰坦圖:具有Cardinality.LIST的Edge屬性? StandardEdge.addProperty()在哪里?

[英]Titan graph: Edge property with Cardinality.LIST? Where is StandardEdge.addProperty()?

我們使用Titan 0.5.4。 我們為OGM使用了框架框架,我們對其進行了自定義以支持繼承。 我們在屬性上設置了一個Titan索引 ,其中包含“類型鑒別符”(請參見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的屬性?

我在Titan 0.5.4上也遇到了同樣的問題。 不幸的是,Titan中的邊緣屬性不允許使用多屬性(基數與Cardinality.SINGLE不同)。 此處 Titan 0.5.4文檔中沒有明確描述。

Titan在單個頂點上使用相同的鍵支持多個屬性

Titan 1.0.0中的相同情況只是addPropery方法更改為property 文檔在這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM