[英]Represent nested parameters for Neo4j query in Scala
我試圖用Map [String,Anyref]的形式運行帶有參數的Neo4j查詢,效果很好。 但是,我想以批處理的形式將數據發送到Neo4j,因此如果轉換了數據,結果將是Map [String,Map [String,AnyRef]]或Map [String,AnyRef]。 但是總的來說,我想以這種方式設置數據:
{
"nodes": [
{
"id": 193331567,
"lat": 40.7599983215332,
"lon": -73.98999786376953
},
{
"id": 173062762,
"lat": 41.959999084472656,
"lon": -87.66000366210938
},
{
"id": 66276172,
"lat": 40.72999954223633,
"lon": -74.01000213623047
}
]
}
我是使用嵌套映射在Scala中編寫的,但是,當我將此嵌套映射作為參數傳遞給查詢時,Neo4j無法呈現它。 那么,如何在Scala中表示這種嵌套的JSON結構? 我應該改用Object還是類似的東西?
這是我設置的地圖:
val paramsList = Map("nodes" -> {
data map { seq =>
Map(
"lat" -> seq(1).toDouble.asInstanceOf[AnyRef],
"lon" -> seq(2).toDouble.asInstanceOf[AnyRef],
"id" -> seq(0).toInt.asInstanceOf[AnyRef]
)
}}.asInstanceOf[AnyRef])
val queryResults = neo4jSession.run(neo4jQuery, params.asJava)
將兩個映射都轉換為java.util.Map非常重要,這樣Neo4j才能將這些數據作為參數傳遞。
val paramsList = data map { seq =>
Map(
"lat" -> seq(1).toDouble.asInstanceOf[AnyRef],
"lon" -> seq(2).toDouble.asInstanceOf[AnyRef],
"id" -> seq(0).toInt.asInstanceOf[AnyRef]
).asJava.asInstanceOf[AnyRef]
}
val queryResults = neo4jSession.run(neo4jQueries.searchQueryWithBatchParams, Map("nodes" -> paramsList.asJava.asInstanceOf[AnyRef]).asJava)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.