2013-07-23 47 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

相关问题