2017-01-12 3 views
0

Titan 0.5.4を使用します。 継承をサポートするようにカスタマイズしたOGMのフレームワークフレームワークを使用します。タイタングラフ:Cardinality.LISTのエッジプロパティ? StandardEdge.addProperty()はどこですか?

PropertyKey propKey = getOrCreatePropertyKey(titan, "w:type", String.class), Cardinality.LIST); 
titan.buildIndex("edge-type", Edge.class).addKey("w:type").buildCompositeIndex(); 

さて、buildIndexの第二のparamの存在は縁​​がまたCardinality.LIST性質を収容することが可能であることを示唆している: は、私たちは、「タイプ弁別器を」(休止状態を参照)を保持するプロパティにTitan indexセットを持っています。
これらのプロパティを追加したい場合しかし、それには方法がありません:

if (abstractElement instanceof StandardEdge) 
    ((StandardEdge) abstractElement).addProperty(propertyName, propertyValue); 

NO addProperty()が存在しない場合を除き、唯一setProperty()値を上書きして、Javadocのは、具体的に述べ:

セットこの要素の指定されたキーの値Cardinality.SINGLEを持つように定義されなければならないキーが、そうでない場合、このメソッドは例外

をスローだから、私は、エッジのプロパティに複数の値を置くことができますどのように

、だろうか?

答えて

2

私はTitan 0.5.4と同じ問題がありました。残念ながら、Titanのエッジプロパティにはマルチプロパティ(Cardinality.SINGLEとは異なるカーディナリティ)を使用することはできません。 Titan 0.5.4の文書hereにはっきりと記載されていません。

はタイタンはタイタンで

同じ話は、方法addProperypropertyに変更唯一の違い1.0.0単一頂点に同じキーを持つ複数のプロパティをサポートしています。ドキュメントはhereです。