Важно было преобразовать обе карты в java.util.Map, чтобы Neo4j мог передавать эти данные в качестве параметра.
ытался выполнить запросы Neo4j с параметрами в виде Map [String, Anyref], который работает просто отлично. Тем не менее, я хотел бы отправить данные в 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. Итак, как я могу представить эту вложенную структуру JSON в Scala? Должен ли я использовать и объект вместо этого или что-то подобное?
Вот карта, которую я настроил:
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)