Я хочу создать график Neo4j из данных, считанных из файла json, но я не могу циклически обработать данные, полученные в результате.
Я попытался продолжить, как в этом примере:
https://neo4j.com/blog/cypher-load-json-from-url/
Однако структура моего результата apoc.load.json не выглядит аналогичной. Я пытаюсь понять, что я могу использовать вместо:
UNWIND data.items as q
из примера, как по мне, это не работает.
Чтобы понять структуру моего вывода, я выполнил это из браузера Neo4j:
CALL apoc.load.json('mytest.json') YIELD value
RETURN keys(value)
с результатом:
["favorites", "sentiment", "content-length", "keywords", "published-at", "reach", "title", "facts", "posts", "normalized-flesch-score", "ext-url", "shares", "last-modified", "score", "xscore", "companies", "quote", "provider", "content-type", "created-at", "categories", "id", "lang", "value", "keyphrases", "annotation", "duplicates", "karma", "topics", "subjects", "al", "possibly-sensitive", "inserted-at", "tags", "replies", "entities", "meta", "domain", "flesch-score", "locations", "parent-id", "relations", "adult", "non-media-entities", "user", "tr", "status"]
["favorites", "sentiment", "content-length", "keywords", "published-at", "reach", "title", "facts", "posts", "normalized-flesch-score", "ext-url", "shares", "last-modified", "score", "xscore", "companies", "quote", "provider", "content-type", "created-at", "categories", "id", "lang", "value", "keyphrases", "annotation", "duplicates", "karma", "topics", "subjects", "al", "possibly-sensitive", "inserted-at", "tags", "replies", "entities", "meta", "domain", "flesch-score", "locations", "parent-id", "relations", "adult", "non-media-entities", "user", "tr", "status"]
...
Однако, когда я пытаюсь перебрать объекты в моем выводе и вернуть один ключ, как это:
CALL apoc.load.json('mytest.json') YIELD value
UNWIND value AS v
RETURN v.favorites
Я получаю ошибку:
Neo.ClientError.Statement.SyntaxError: Type mismatch: expected List<T> but was Map (line 2, column 8 (offset: 62))
"UNWIND value AS v"
^
С другой стороны, если я зациклюсь, например, на value.title, а не на value, я получу разумные значения.
Затем я посмотрел примеры циклического перемещения по карте с помощью шифра, но карты показали, что все они имеют разную структуру, и решения не были применимы (по крайней мере, на мой взгляд начинающих) к моей проблеме.
Было бы замечательно, если бы кто-нибудь мог дать мне какие-то сведения о том, как зациклить объект, который у меня есть. Большое спасибо заранее!