2013-07-23 68 views
1

我正在閱讀有關內容庫的內容,我正在閱讀JCR規範和Apache JackRabbit上找到的文檔。但是,我仍然不明白我要在節點和屬性中存儲什麼。什麼是內容存儲庫中的節點和屬性?

我知道實際數據進入屬性。但我不明白他們的「語義」,他們打算如何使用。有人可以解釋Node和Property嗎?

它有什麼作用?

回答

2

想一想JCR內容模型的好方法就像是「類固醇上的分形文件系統」。

您可以先在宏樹中組織您的內容,然後將您的各種內容項目視爲具有自己結構的微型樹,而與一般內容樹結構無關。

在我團隊的項目中,我們使用了類似於unix系統的宏樹結構,其中包含/ content,/ var,/ etc,/ tmp等文件夾,它們提供了一個熟悉而清晰的結構。

然後,一個節點可能是一個網頁,像子文件夾像圖像,評論,內容和屬性,如標題,描述,標籤。將實際內容作爲有序節點集存儲在頁面節點下的內容文件夾中通常是有意義的,其中這些內容子節點中的每一個在內容中起特定作用,如文章標題,文章主體,主圖像等。

然後,實際文本內容將存儲在這些內容子節點的字符串屬性中,並且一般元數據可能是元數據子節點的屬性。

考慮到JCR樹作爲(有點)分形結構有助於我的觀點,您需要在內容樹的宏觀和微觀視圖(包括嵌套的微觀視圖)之間進行切換,以驗證這些結構中的每一個都是清晰的,爲你的用例。在此模型中,節點主要用於組織內容,而屬性存儲實際內容。

http://wiki.apache.org/jackrabbit/DavidsModel也提供了有關JCR內容模型設計的良好建議。

1

節點提供了重新組合屬性和其他節點的簡單方法。將它們視爲文件系統中的文件夾,而屬性更像文件(數據)。 將JCR視爲您的文件系統,它應該可以幫助您感受您想要使用它的方式。

+0

Okey,所以Node的只是爲了組織你可以說?你如何組織節點取決於你?目前沒有正確或錯誤的方法來做到這一點?它就像你自己的文件系統中的文件夾? – LuckyLuke

+0

是的:o)你可能想閱讀http://wiki.apache.org/jackrabbit/DavidsModel – ehsavoie

相關問題