Java 内容存储库中的节点和属性是什么?

Java 内容存储库中的节点和属性是什么?,java,jakarta-ee,jackrabbit,jcr,content-repository,Java,Jakarta Ee,Jackrabbit,Jcr,Content Repository,我正在阅读内容存储库,目前正在阅读JCR规范和ApacheJackrabbit上的文档。但是,我仍然不明白我将在节点的和属性中存储什么 我知道实际的数据在属性中。但我不明白它们的“语义”,它们是如何使用的。有人能解释一下节点和属性吗 它扮演什么角色?节点提供了一种简单的方法来重新组合属性和其他节点。将它们视为文件系统中的文件夹,而属性更像文件(数据)。 将JCR视为您的文件系统,它应该可以帮助您感觉到您想要使用它的方式。考虑JCR内容模型的一个好方法就像“类固醇上的分形文件系统” 您可以从在宏树

我正在阅读内容存储库,目前正在阅读JCR规范和ApacheJackrabbit上的文档。但是,我仍然不明白我将在节点的和属性中存储什么

我知道实际的数据在属性中。但我不明白它们的“语义”,它们是如何使用的。有人能解释一下节点和属性吗


它扮演什么角色?

节点提供了一种简单的方法来重新组合属性和其他节点。将它们视为文件系统中的文件夹,而属性更像文件(数据)。
将JCR视为您的文件系统,它应该可以帮助您感觉到您想要使用它的方式。

考虑JCR内容模型的一个好方法就像“类固醇上的分形文件系统”

您可以从在宏树中组织内容开始,并将各种内容项视为具有自己结构的微树,独立于一般内容树结构

在我的团队的项目中,我们使用了一种类似于unix系统的宏树结构,其中有/content、/var、/etc、/tmp等文件夹,它们提供了一种熟悉且清晰的结构

然后,一个节点可能是一个网页,其中包含图像、注释、内容等子文件夹和标题、描述、标记等属性。将实际内容作为一组有序的节点存储在页面节点下的内容文件夹中通常是有意义的,其中每个内容子节点在内容中起着特定的作用,如文章标题、文章正文、主图像等

然后,实际文本内容将存储在这些内容子节点的字符串属性中,而常规元数据可能是元数据子节点的属性

在我看来,将JCR树视为(某种程度上)分形结构会有所帮助,您需要在内容树的宏视图和微观视图(包括嵌套的微观视图)之间切换,以验证这些结构是否清晰,是否适用于您的用例。在该模型中,节点主要用于组织内容,属性存储实际内容


还提供了关于JCR内容模型设计的良好建议。

OK,那么Node只用于组织您可以说?如何组织节点由您决定?(目前)没有正确或错误的方法来做这件事?它就像您自己的文件系统中的文件夹?