Невозможно получить свойства узла после добавления дополнительной специфичности к запросу - PullRequest
0 голосов
/ 11 сентября 2018

Я очень плохо знаком с cypher и просто пытаюсь запустить несколько простых запросов, чтобы найти себя. Сразу же я наткнулся на случай, который кажется мне странным.

Обратите внимание, что узлы, помеченные как person, имеют свойство: dateOfBirth

Начните с запроса всех узлов, помеченных как person, которые идентифицируются узлом, помеченным как Identifier, который, в свою очередь, является экземпляром узла, помеченного как IdentifierClass.

MATCH (p:person)-[:is_identified_by]->
(id:Identifier)-[:is_instance_of]->(idClass:IdentifierClass)
 RETURN p

Результаты, как и ожидалось:

p
{
  "dateOfBirth": "11/13/2008"
}
{
  "dateOfBirth": "11/13/2008"
}
{
  "dateOfBirth": "11/13/2008"
}

Теперь это запрос, который я действительно хочу выполнить. Теперь мы указываем, что IdentifierClass должен иметь свойство name со значением id_type_1.

MATCH (p:person)-[:is_identified_by]->
(id:Identifier)-[:is_instance_of]->(idClass:IdentifierClass{name:'id_type_1'})
 RETURN p

Результат:

p
{

}
{

}
{

}

Таким образом, было возвращено такое же количество результатов, но теперь свойства p недоступны. Почему добавление этой дополнительной специфичности приведет к изменению переменной p "upstream"?

1 Ответ

0 голосов
/ 12 сентября 2018

Эта проблема была решена. Запрос работал хорошо, и фактически на графике были неожиданные данные, которые привели к этим результатам. В нескольких узлах "человек" отсутствовали свойства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...