Multiple labels not working in mergeV() syntax for conditional inserts in AWS Neptune

0

While attempting to migrate conditional inserts (upserts) to the new mergeV/E() syntax, I encountered an issue with vertices that have multiple labels. It appears that creating a vertex with multiple labels only works with the addV() step, which was present in the fold()/coalesce()/unfold() pattern for conditional inserts. In the new syntax, the label property is specified in a map, and a string such as 'Label1::Label2::Label3' will be treated as a single label. For example, the following code written in Gremlin-Java, creates a vertex with a single label called 'Label1::Label2', if it does not already exist:

Map<Object, Object> mergeMap = Map.of(T.id, someId);
Map<Object, Object> createMap = new HashMap<>(
	Map.of(
		T.id, someId, T.label, "Label1::Label2"
	)
);

g.mergeV(mergeMap).option(Merge.onCreate, createMap)

Are there any alternative approaches to this issue that make use of the new syntax for efficient upserts?

質問済み 1年前76ビュー
回答なし

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ