Доступ к значениям карты из neo4, apoc, Cypher - PullRequest
0 голосов
/ 03 января 2019

Я все еще довольно новичок в Neo4j, Cypher и программировании в целом.

Есть ли способ получить доступ к опубликованному выводу ниже, то есть получить доступ к значениям "count" для каждого "элемента" (который должен быть парой), а также получить доступ к значениям "item"? Мне нужно количество, как часто пара, то есть конкретные соседние узлы, встречаются не только как информация, но и как значения, с которыми я могу работать в дальнейшем для корректировки своего графика.

Мои последние строки кода (в предыдущих строках я только что последовательно упорядочил узлы):

...

WITH apoc.coll.pairs(a) as pairsOfa

WITH apoc.coll.frequencies(pairsOfa) AS giveBackFrequencyOfPairsOfa

UNWIND giveBackFrequencyOfPairsOfa AS x 

WITH DISTINCT x

RETURN x

Вывод из браузера Neo4j, с которым мне нужно работать:

"x"            


│{"count":1,"item":[{"aName“:"Rob","time":1},{"aName":"Edwin“,"time“:2}]},{„count“:4,“item":[{"aName":"Edwin","time":2},{"aName“:"Celesta","time":3}]} 

...

1 Ответ

0 голосов
/ 03 января 2019

Исходя из вашего кода, ваш результат должен содержать несколько x записей (ни одной записи, как подразумевается в «выводе», представленном в вашем вопросе).Вот пример того, что я ожидал бы:

╒══════════════════════════════════════════════════════════════════════╕
│"x"                                                                   │
╞══════════════════════════════════════════════════════════════════════╡
│{"count":1,"item":[{"aName":"Rob","time":1},{"aName":"Edwin","time":2}│
│]}                                                                    │
├──────────────────────────────────────────────────────────────────────┤
│{"count":1,"item":[{"aName":"Edwin","time":2},{"aName":"Celesta","time│
│":3}]}                                                                │
└──────────────────────────────────────────────────────────────────────┘ 

Если это так, то вы можете просто получить доступ к count и item свойствам каждого x напрямую через x.count и x.item.Чтобы получить каждое значение в элементе, вы можете использовать x.item[0] и x.item[1].

В стороне: вы, вероятно, хотите использовать apoc.coll.pairsMin вместо apoc.coll.pairs, чтобы избежать генерацииложная «пара» (второй элемент которой null), когда число парных значений нечетно.Кроме того, вам, вероятно, не нужен шаг DISTINCT.

...