2014-04-25 132 views
2

假設我有要存儲在數據組中的實體。如果這些屬性都是事先知道的,那麼我只需將它們添加到我的datomic模式中,然後就可以使用它們。在數據組實體旁邊存儲任意鍵/值條目

如果除了已知的屬性,實體可以有任意數量的任意鍵映射到任意值。當然,我可以將該列表存儲在某個「blob」屬性中,我也將其添加到該模式中,但後來我無法輕鬆查詢這些屬性。

,我已經想出了在datomic定義keyvalue屬性,每個string類型,並把這些額外的鍵/值項爲實體的每一個在自己的權利,使用上述解決方案屬性。然後,我可以通過使用ref類型的1:n關係將所有這些鍵/值實體連接到實際實體。

這允許我查詢。這是要走的路還是有更好的方法?

回答

3

我不願意失去屬性定義的力量。 Datomic屬性可以隨時添加,並且限制相當高(2^20),因此可以合理地爲動態鍵和值進行建模,爲每個屬性創建一個新屬性。

+0

有點意外的答案,但可用性明智(查詢)它比我的建議更好。而作爲你(作爲一個基因組合同謀者)不要沮喪,我會給它一個機會。 –

相關問題