Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
neo4j密码查询中的And条件不';行不通_Neo4j_Cypher - Fatal编程技术网

neo4j密码查询中的And条件不';行不通

neo4j密码查询中的And条件不';行不通,neo4j,cypher,Neo4j,Cypher,我创建了一个包含火车和车站的neo4j数据库。每列火车停在一个车站(这是关系)。我已经写了下面的密码查询,并得到了附加的答复 match (train:Train)-[:STOP_AT]->(station:Station) where station.id='101' or station.id='65' return train,station; 这给了我所有停在id='101'或'65'站的列车。 但是当我运行下面的密码来获取所有停在id='101'和'65'的列车时,我什么也

我创建了一个包含火车和车站的neo4j数据库。每列火车停在一个车站(这是关系)。我已经写了下面的密码查询,并得到了附加的答复

match  (train:Train)-[:STOP_AT]->(station:Station)
where station.id='101' or station.id='65'
return train,station;
这给了我所有停在id='101'或'65'站的列车。 但是当我运行下面的密码来获取所有停在id='101'和'65'的列车时,我什么也没有得到

match  (train:Train)-[:STOP_AT]->(station:Station)
where station.id='101' and station.id='65'
return train,station;
这是一个简单的密码,但我找不到查询的问题。有人能帮我找出问题吗?

在此查询中:

match  (train:Train)-[:STOP_AT]->(station:Station)
where station.id='101' and station.id='65'
return train,station;
您正在搜索一个同时具有id
101
&
65
的电台。所以这是不可能的,结果是emtpy

你想要的是找到一列停在两个车站的火车。这就是问题所在:

MATCH  
  (train:Train)-[:STOP_AT]->(station1:Station),
  (train)-[:STOP_AT]->(station2:Station)
WHERE 
  station1.id='101' AND
  station2.id='65'
RETURN train,station;

这个查询工作正常。匹配(train:train)-[:STOP_AT]->(:Station{id:'65'})其中(train)-[:STOP_AT]->(:Station{id:'101'})返回列车;我不知道为什么first cypher不工作,因为Metat逻辑不工作,没有一个节点的属性同时是两个不同的值。您可能想看一看这篇关于的知识库文章,这篇文章将让您在给定站点ID列表的情况下,对任意数量的站点执行您想要的匹配。@InverseFalcon感谢您的解决方案。这是有道理的