У меня есть набор данных JSON и статьи, в которых они были опубликованы, например:
{"id": "1", "title": "Paper1", "venue": {"raw": "Journal of Cell Biology"}}
{"id": "2", "title": "Paper2", "venue": {"raw": "Nature"}}
{"id": "3", "title": "Paper3", "venue": {"raw": "Journal of Histochemistry and Cytochemistry"}}
Я хочу создать узлы только для статей, опубликованных в определенном журнале, скажем Nature
, и добавитьсвязь между бумажным узлом и существующим журнальным узлом.То есть я хочу создать узлы только для строк данных с определенным значением для клавиши venue.raw
.
Код, с которым я работаю, приведен ниже.Я думаю, что мне нужно добавить некоторую логику в часть apoc.load.json
, чтобы она соответствовала только данным, где $.venue.raw == 'Nature'
:
CALL apoc.load.json('file:/example.txt', '$.venue.raw') YIELD value AS q
CREATE (p:Quanta {id:q.id, title:q.title})
WITH q, p
UNWIND q.venue as venue
MATCH (v:Venue {name: venue.raw})
CREATE (p)-[:PUBLISHED_IN_VENUE]->(v)
Есть ли способ изменить это, чтобы импортировать только соответствующие данные?
Любая помощь будет принята с благодарностью!