Запрос не возвращает результаты

Есть следующие данные:

create (_66:`User` {`ban`:4, `banned`:1, `chitaet`:942, `chitateli`:444, `disable_r`:0, `disabled_r`:0, `hide`:0, `id`:118});
create (_67:`User` {`ban`:0, `banned`:0, `chitaet`:26, `chitateli`:59, `disable_r`:0, `disabled_r`:0, `hide`:0, `id`:119});
create _66<-[:`FOLLOW` {`id`:54820, `lenta`:"main", `time`:1436720633}]-_67;
create _66-[:`FOLLOW` {`id`:54820, `lenta`:"main", `time`:1436720633}]->_67;

Почему следующий запрос не возвращает результатов?

MATCH (a:`User`)-[:FOLLOW {lenta:'main'}]->(b:`User`) WHERE a.`id` = 118 RETURN b.id AS id LIMIT 10;

2 ответа

Решение

Я считаю, что запросы выполняются последовательно, поэтому, когда Neo4j достигает:

create _66<-[:`FOLLOW` {`id`:54820, `lenta`:"main", `time`:1436720633}]-_67;

он не знает что _66 или же _67 являются. Пытаться:

create (_66:`User` {`ban`:4, `banned`:1, `chitaet`:942, `chitateli`:444, `disable_r`:0, `disabled_r`:0, `hide`:0, `id`:118})
,(_67:`User` {`ban`:0, `banned`:0, `chitaet`:26, `chitateli`:59, `disable_r`:0, `disabled_r`:0, `hide`:0, `id`:119})
, _66<-[:`FOLLOW` {`id`:54820, `lenta`:"main", `time`:1436720633}]-_67
, _66-[:`FOLLOW` {`id`:54820, `lenta`:"main", `time`:1436720633}]->_67;

Нечто подобное всегда работает для моей базы данных.

Я предлагаю вам также вернуть некоторые значения. Таким образом, вы можете убедиться, что оператор create успешно выполнен

create (_66:`User` {`ban`:4, `banned`:1, `chitaet`:942, `chitateli`:444, `disable_r`:0, `disabled_r`:0, `hide`:0, `id`:118}),
(_67:`User` {`ban`:0, `banned`:0, `chitaet`:26, `chitateli`:59, `disable_r`:0, `disabled_r`:0, `hide`:0, `id`:119}), 
_66<-[:`FOLLOW` {`id`:54820, `lenta`:"main", `time`:1436720633}]-_67,
_66-[:`FOLLOW` {`id`:54820, `lenta`:"main", `time`:1436720633}]->_67,
return _66,_67;

Опечатка в вашем User ярлык - вы запрашиваете Users вместо. Пытаться

MATCH (a:`User`)-[:FOLLOW {lenta:'main'}]->(b:`User`) WHERE a.`id` = 118 RETURN b.id AS id LIMIT 10;
Другие вопросы по тегам