在我的应用程序中,我根据用户提供的属性创建节点,例如我创建了一个Score
类型的节点(类型没有改变)和TeamA
,TeamB
等属性,但那些是动态的(用户可以输入他们想要的任何属性)。如何在以后检索该节点的动态属性? Neo4j客户端迫使我创建一个具有固定属性的Score
类,例如.Return(score=> score.As<Score>().**FIXED_PROPERTY_NAME**);
但我希望在那里传递动态属性的名称,例如TeamA
,我怎样才能做到这一点?
答案 0 :(得分:1)
这个怎么样?
WITH ['p1', 'p2', 'p3', 'p4'] AS properties
MATCH(score:Score)
WHERE score.cond = "some condition"
UNWIND properties AS key
WITH COLLECT([key, score[key]]) AS pairs
RETURN apoc.map.fromPairs(pairs)
答案 1 :(得分:0)
简短的回答是你不能按照你想要的方式去做。正如你所说,neo4jclient是强类型的。您可以通过将响应本身传递给动态类型来解决此问题,方法与此答案相同:Casting nodes of an unknown type
答案 2 :(得分:0)