2015-11-23 43 views
0

我想查詢是這樣的:暗號檢索特定範圍的時間內節點

MATCH (u:User)-[r:PICK_UP]->(g:Grid) 
WHERE r.time:[16:00 TO 20:00] 
RETURN u.name 

我讀到Lucene的數字範圍查詢,但我不知道什麼是我的查詢

正確的語法

有什麼建議嗎? 謝謝!

回答

1

Neo4j並不真正支持關係屬性上的索引。出於這個原因,您應該考慮將時間存儲爲節點上的屬性。在Neo4j的2.3版本開始的索引

MATCH (u:User)-[:INITIATED]->(e:Event)-[:PICK_UP]->(g:Grid) 
WHERE e.time > 1600 AND e.time < 2000 
RETURN u.name; 

這些類型的數值範圍查詢的支持:然後,您可以使用索引支持範圍查詢。請務必在時間屬性上創建一個索引:CREATE INDEX ON :Event(time)

+0

謝謝@WilliamLyon,我會嘗試一下。但是,那麼我應該把這個時間存儲爲1600而不是16:00嗎? – andreahg

+0

對於數字範圍查詢,如果您只對小時感興趣(例如'1600'),請使用紀元時間戳(例如:'1448309765')或整數。 –

+0

謝謝@WilliamLyon – andreahg