我创建了一个带火车和车站的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;
这是一个简单的密码,但我找不到查询的问题。有人可以帮我找出问题吗?
答案 0 :(得分:2)
在此查询中:
match (train:Train)-[:STOP_AT]->(station:Station)
where station.id='101' and station.id='65'
return train,station;
您正在搜索同时具有身份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;