2013-03-12 119 views
11

我有隻在特定時間有效的節點之間的關係。簡單的例子:從時間t1到時間t2,人P住在地址A處。我可以在關係上放置一個validFrom和一個validUntil屬性,但是在使用cypher時,我必須在WHERE子句中對此進行歸檔,但我希望它在MATCH子句中。Neo4J與時間約束的關係

我在MATCH子句中要這樣做的原因是,它可能會遍歷一個大的子圖,只是爲了後來發現大部分可以被忽略。對於大量的歷史關係來說尤其如此。

我可以使獨立的validFrom和validUntil關係到特定的日期節點。這樣我可以使用MATCH。如果我有一組有限的時間節點,這將是確定的,但是當我必須存儲時間戳時,執行此操作是不切實際的。

如何優化Cypher以進行此類查詢? 如何對具有時間有效性指標的節點和關係進行時間切片?

+0

Cypher支架自動拉入表達式匹配子句只要有可能,所以他們只要他們進行評估。 – 2013-03-14 12:18:42

+0

你真的可以顯示你的查詢嗎? – 2013-03-14 12:19:21

+0

您是否想出了一個適用於此的解決方案? – John 2015-07-18 23:16:33

回答

4

你見過這裏所描述的時間線造型:http://docs.neo4j.org/chunked/milestone/cypher-cookbook-path-tree.html

+1

這適用於有限的事件時間,但不能將時間模型化爲秒或更小。這是我已經建議的,但沒有擴展。 – ignazw 2013-03-12 16:51:42

+0

如何使用上述模型照顧日子,並只保留節點上的時間?不確定您擁有的數據類型,但您也可以將相同的模型擴展到時間,並根據需要創建時間關係......再次,這對於您擁有的數據模式可能不切實際 – Luanne 2013-03-12 17:22:36