在查询中添加其他特异性后,无法检索节点的属性

时间:2018-09-11 20:51:28

标签: cypher

我对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“上游”发生变化?

1 个答案:

答案 0 :(得分:0)

此问题已解决。该查询运行良好,实际上,图中有意外数据导致了这些结果。几个“人”节点缺少属性。