0

neo4j では、さまざまなプロパティを使用してノードと関係を追加できます。

node.setProperty("NodePropertyName",NodePropertyValue)
relationship.setProperty("EdgePropertyName",EdgePropertyValue)

MAP 、 Array 、またはユーザー定義オブジェクトなどの非プリミティブ データ型をNodePropertyValueandとして使用できる方法はありEdgePropertyValueますか?

MAP<>または、またはの個別のプロパティとしてすべての値を個別に指定する必要がありますNodeRelationship?

使ってみた

node.setProperty("USER_PROPERTIES", GraphNode.getNodeproperties());
where,
GraphNode.getNodeproperties() returns MAP<String,Double>

しかし、これは私にエラーを与えています:

 java.lang.IllegalArgumentException: Unknown property type on: {Property1=0.0, Property2=0.0, Property3=0.0, Property4=0.0, Property5=0.0, Property6=0.0, Property7=0.0}
4

2 に答える 2

2

MAP 、 Array 、またはユーザー定義オブジェクトなどの非プリミティブ データ型を NodePropertyValue および EdgePropertyValue として使用できる方法はありますか?

Neo4J では、 の配列String、またはプリミティブ データ型の配列を格納できます。

マップは (まだ) サポートされていませんが、別の方法として、マップを JSON 構造 ( GSONまたはJacksonを使用) として、またはXStreamを使用して XML 構造として保存することもできます。

于 2013-02-27T09:25:19.043 に答える
0

実際、プリミティブ値をプロパティとしてのみ保存できます。値のコレクションを保存する場合 (および Spring を使用している場合) は、DynamicPropertiesContainerがオプションになる可能性があります。カスタム オブジェクトを保存する場合は、関連するノードをいくつか作成することをお勧めします。これを実現するには、createRelationshipTo(Node otherNode, RelationshipType type)を使用します。

于 2013-02-27T08:47:37.883 に答える