Ответ, возвращаемый интерфейсами REST Neo4j, очень подробен - они возвращают не только данные в каждом запрошенном узле, но также и полную возможность обнаружения для каждого запрашиваемого узла. Если мне просто нужны данные о узлах, результаты примерно в 20 раз больше, чем мне нужно, и я сталкиваюсь с проблемами с исключениями из-за памяти и т. П.Neo4j - Уменьшить количество полей, возвращаемых в ответе REST
Например, запрос узла может вернуть следующее:
{
"labels" : "http://giuncwy02:7475/db/data/node/67/labels",
"outgoing_relationships" : "http://giuncwy02:7475/db/data/node/67/relationships/out",
"data" : {
"id" : "908754897618956",
"currentStatus" : "Active",
},
"traverse" : "http://giuncwy02:7475/db/data/node/67/traverse/{returnType}",
"all_typed_relationships" : "http://giuncwy02:7475/db/data/node/67/relationships/all/{-list|&|types}",
"self" : "http://giuncwy02:7475/db/data/node/67",
"property" : "http://giuncwy02:7475/db/data/node/67/properties/{key}",
"outgoing_typed_relationships" : "http://giuncwy02:7475/db/data/node/67/relationships/out/{-list|&|types}",
"properties" : "http://giuncwy02:7475/db/data/node/67/properties",
"incoming_relationships" : "http://giuncwy02:7475/db/data/node/67/relationships/in",
"extensions" : { },
"create_relationship" : "http://giuncwy02:7475/db/data/node/67/relationships",
"paged_traverse" : "http://giuncwy02:7475/db/data/node/67/paged/traverse/{returnType}{?pageSize,leaseTime}",
"all_relationships" : "http://giuncwy02:7475/db/data/node/67/relationships/all",
"incoming_typed_relationships" : "http://giuncwy02:7475/db/data/node/67/relationships/in/{-list|&|types}",
"metadata" : {
"id" : 67,
"labels" : [ "Substation" ]
}
}
Есть ли способ, чтобы уменьшить объем информации, возвращаемый в ответ? Все, что я действительно хочу для каждого узла заключается в следующем:
{
"id" : "908754897618956",
"currentStatus" : "Active",
}
или даже:
[ "908754897618956", "Active" ]
Это достижимо? Когда я запрашиваю сотни тысяч узлов, это имеет большое значение.
Формат «Отдых» определенно слишком подробный. Существуют некоторые запланированные изменения в протоколе, используемом конечной точкой http tx в будущих версиях. Возможно, вы захотите изменить параметр resultDataContent на «graph» или «row», чтобы иметь менее подробный ответ. http://neo4j.com/docs/stable/rest-api-transactional.html#rest-api-return-results-in-graph-format –
Спасибо Кристоф, есть ли соответствующий вариант без использования транзакционного API? Прямо сейчас я просто нажимаю '/ db/data/label/MyLabel/nodes'. –
Не знаю, что знаю. Кстати, я думаю, что эти конечные точки становятся все менее и менее используемыми в пользу tx api. –