如果我们按同样类型的关系的Cypher查询,使其中的几个节点的属性,如果它们具有相同类型的关系
classmetadata<-INSTANCE_OF-instance(TheNodeINeed)-RELATED_TO->...................
- ->listype(The owner(name=d,etc))
- ->listype(The state(name=x,etc))
- ->listype(The propertie(name=y,etc))
- ->listype(The location(name=z,etc))
实例节点找到与其他节点相关的节点必须,通过名称(这很容易)通过索引内的节点类元数据和实例名称(这也很容易)以及列表类型.name = ..和列表类型 .name = ..和listype .name = ..这里是问题:
如果我尝试寻找只为例如与名称MYINSTANCE谁是RELATED_TO一个所有者与名d,在这里我只quering约listype节点没有任何问题,这个查询的工作
START classmetadata = node:classes(name = "MyClassMetadata")
MATCH classmetadata<-[:INSTANCE_OF]-instance-[:RELATED_TO]->listype
WHERE instance.name="MyInstance" and listype.name = "d"
RETURN instance, listype
ORDER BY instance.name ASC skip 0 limit 10
,但如果我需要去寻找例如与名称MYINSTANCE谁是RELATED_TO一个所有者与名称d也关系到状态与名X也关系到propertie与名Ÿ是有问题的查询结果总是空的,有没有什么办法来筛选大约两个O 3或更多的nodes.properties(listype.name)如果他们是由相同类型的relatioship相关?
这样的事情是不工作
START classmetadata = node:classes(name = "MyClassMetadata")
MATCH classmetadata<-[:INSTANCE_OF]-instance-[:RELATED_TO]->listype
WHERE instance.name = "MyInstance" AND listype.name = "x"
AND listype.name = "y" AND listype.name="d" RETURN instance, listype
ORDER BY instance.name ASC skip 0 limit 10