peter가 말한 것처럼 속성을 검사하려면 where 절을 사용해야합니다. 일치 패턴은 속성을 검사하지 않고 패턴 일치를위한 것입니다. 그러나 인덱스를 사용하여 특정 시간 범위에 맞게 시작할 노드를 찾을 수 있습니다 (예 :).
나는 당신을 위해 예를 구축 :
http://console.neo4j.org/r/6ropic 모든 음의 시간 차이가있을 필요가 :
이
create
(_1 {city:"DC"}),
(_2 {city:"NY"}),
(_3 {city:"SF"}),
(_4 {city:"LA"}),
_1-[:flight {leave:1349431200, arrive:1349445600}]->_2,
_1-[:flight {leave:1349427600, arrive:1349442000}]->_2,
_1-[:flight {leave:1349424000, arrive:1349438400}]->_2,
_1-[:flight {leave:1349420400, arrive:1349434800}]->_2,
_1-[:flight {leave:1349416800, arrive:1349431200}]->_2,
_1-[:flight {leave:1349409600, arrive:1349424000}]->_2,
_2-[:flight {leave:1349431200, arrive:1349445600}]->_3,
_2-[:flight {leave:1349427600, arrive:1349442000}]->_3,
_2-[:flight {leave:1349424000, arrive:1349438400}]->_3,
_3-[:flight {leave:1349431200, arrive:1349445600}]->_4,
_3-[:flight {leave:1349427600, arrive:1349442000}]->_4,
_3-[:flight {leave:1349424000, arrive:1349438400}]->_4,
_3-[:flight {leave:1349438400, arrive:1349445600}]->_4,
_3-[:flight {leave:1349442000, arrive:1349449200}]->_4,
_3-[:flight {leave:1349445600, arrive:1349452800}]->_4;
그냥 재미를 위해, 여기 (필터링 전) 대상을 일치하는 모든 항공편을 표시하는 쿼리 유효한 여행이되기 위해 건너 뜁니다. 여기
는
where
절 필터링 쿼리의 :
start dc=node(1), la=node(4)
match trip=dc-[dcny]->ny-[nysf]->sf-[sfla]->la
where dcny.arrive < nysf.leave and nysf.arrive < sfla.leave
return dcny.arrive - nysf.leave, nysf.arrive - sfla.leave, dcny.arrive, nysf.leave, nysf.arrive, sfla.leave;
+-----------------------------------------------------------------------------------------------------------+
| dcny.arrive - nysf.leave | nysf.arrive - sfla.leave | dcny.arrive | nysf.leave | nysf.arrive | sfla.leave |
+-----------------------------------------------------------------------------------------------------------+
| -3600.0 | -3600.0 | 1349424000 | 1349427600 | 1349442000 | 1349445600 |
+-----------------------------------------------------------------------------------------------------------+
1 row
0 ms
http://console.neo4j.org/r/79qr9s
그것은 당신이 가변 길이 경로와 함께 할하려고 시도하는 경우 조금 복잡합니다,하지만 사용 사례에 대한 아마 아니다 기껏해야 몇 차례의 도중 체류를 명기해야합니다.
업데이트 :
이것에 대해 좀 더 생각 - 당신은 또한 도착하고 떠날 시간에 대한 인덱스를 기반으로, 당신의 start
절에서 관계의 그룹을 선택할 수 있습니다. 검색을 많이 제한 할 수 있습니다.