2009-07-24 100 views
0

我想排名實體A的強連接情況下,如何對其他實例或實體A是我graph.I只需要爲n個最近瀏覽的實體爲此之間的連接。 我通過另一個實體B來描述實體A的兩個實例之間的關係。這是因爲我需要描述每個關係。核心數據獲取屬性的排名對象

我使用的是獲取財產,像這樣考慮:

ANY isSourceOfRelation.destinationThing == "$SOURCE_THING" 
OR ANY isDestinationOfRelation.sourceThing == "$SOURCE_THING" 

但我警惕這樣做的,因爲我懷疑它會通過關係,而且通過窮舉搜索評估此。這在桌面上不會出現這樣的問題,但在iPhone上,這對我的數據集來說並不實用。

由於擷取的特性是懶洋洋地評估,並隨後緩存我也許可以訪問每一個對象的屬性獲取在桌面上,但將這個緩存的sqlite的店維持?

我對這個替代方案是通過訪問每一個實體B檢索目的地實體A,隨後這些添加到字典中動態評估這一點。

圖表擁有10000實體A和它們之間約30000關係(實體B)。

我的優先考慮是表現。

您認爲如何?

回答

0

聽起來像一個很好的候選人預先計算和加載單獨點播,甚至在一個單獨的存儲。如果實際數據很小,那不是太重要,大多數iPhone可以爲這類事情騰出一兩個「磁盤」存儲空間。

如果值是可變的,你可以修改後運行一個後臺線程,以確保計算的預表是隨時保持最新狀態。如果用戶在完成該操作之前中斷了該操作,則可以通過「髒」標誌告知您,以便在下次運行該應用程序時再次執行此操作。