Alfresco Repository 是Alfresco 的存储核心,所有涉及到存储的服务都在这一层!同时它也是各种规范的实现。
Repository库的是围绕着“节点存储”=>“XML”-“Model”-“DB”-“Lucene”展开的。
XML定义了数据结构并接替了数据库的
数据完整性检查!
我们会在XML中定义节点的类型,以及子节点的类型!
DB会存放特定的数据,而Lucene提供了对文件系统的搜索,以及
虚拟文件路径PATH和Properties的搜索工作!
PATH类似的写法如下: PATH=/root/directory
那么我要搜索 用户为A的目录下的所有二级文件夹中的图片,那么我在Alfresco就可以写成
PATH=/homt/users/A/* and TYPE=JPEG 这样就可以完成虚拟文件系统的快速检索!
以上大致介绍了一下Alfresco的特性,那么下面要介绍的是实现上面所需要的XML技术和特定的模型介绍。
很多内容这里无法更好的解释,如果不明白在后面的数据库分析中就会详细的明白alfresco的数据设计方式,同时也会明白Node, Type, Aspect, Associations ,Child Associations, QName, store , properties 的意思了
Data Dictionary 的核心是描述一个或多个内容的元数据. 可以按照 元模型的描述 M1,M2,M3..., 我们所涉及到的 字典元模型是采用 M2 描述,内容模型采用 M1 描述。
元数据支持2种主要的结构体:Content Type(内容类型) 和 Content Aspect(内容描述) , 他们2个都提供了去描述所指定内容结构的能力,包括了数据的性质和对其他内容的关联。面向对象的结构,如继承也是支持的。
Content Type(内容类型) 和 Content Aspect(内容描述) 的区别是什么? Content通常被看作是一个Content Type. Type描述的是Content的基础的结构.Content Aspect 所表示的是另一种封装的形式, 就是任意内容的ContentType都能很好的被描述的清楚(自己的话), 就是说 Content Aspect 就是扩展和封装Content Type 使之更容易扩展.
附加说明:Content Type 和 Aspect 均描述在同一个xml中,如下:
Type 主要是描述一个类型的操作性质,可以认为是一个基本属性。
基本文件属性:
文件名称:name // 这是一个 QName
修改时间:modifyDate // 这是一个 QName
发布日期:publishedDate // 这是一个 QName
Aspect 被认为是一个扩展属性(应该用在描述文件的外围属性) , 大量的集合属性。
增强型的扩展属性组:
Email属性组: // 这就是一个aspect
Email地址:abce@sina.com // 这是一个 QName
Meta-Model 元模型
元模型分为4级, M3,M2,M1,M0.
M3 - 元元模型 (采用MOF元对象库标准)
M2 - M3 的实现 - 元模型 - UML 的 元模型 , 满足 JSR-170 节点类型的标准 ( 像Class, Interface.Attribute 的定义方式等.. JSR170即内容管理API的标准接口定义)
M1 - M2 的实现 - 模型 - 内容模式模型 (像 文件夹,文件 等实际抽象一点的描述)
M0 - M1 的实现 - 用户对象 - 实际的对象体信息( 像 文件夹的路径 /root/my , 文件的名称readme.txt)
注: 在源码和Wiki的图片中我们可以看到大量 M2标示 ,说明该 UML 和 源码均在JSR170的标准上实现。
原模型是定义JCR的,说到JCR我就上一张图
上面的图说明了JCR中的存储是以Node为原型,节点分别代表了其路径。这样我们就可以实现一个虚拟的文件系统节点。可以方便存储和管理!
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0025/9712/9e8f00f8-aa17-3ce4-9f20-51dbcb6438f8-thumb.jpg)
- 大小: 37.5 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0025/9716/8ec822d0-ba09-3246-acab-b27187b256c8-thumb.jpg)
- 大小: 6 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0025/9718/052efcbd-12e8-33db-924a-077fce113696-thumb.jpg)
- 大小: 12 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0025/9720/f6612aee-b338-3757-982c-51135b29a199-thumb.jpg)
- 大小: 20.6 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0025/9722/70d27f4d-79cc-3766-a026-320b3b2d338e-thumb.jpg)
- 大小: 16 KB
分享到:
相关推荐
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
西门子224XP十显控触摸屏下的螺杆式空压机工频运行控制策略及程序注释解析,螺杆式空压机工频运行,变频机上用不了!!!使用西门子224xp 十显控触摸屏,程序有注释,可直接用于工程 ,核心关键词:螺杆式空压机;工频运行;变频机;西门子224xp;十显控触摸屏;程序注释;工程使用。,西门子224XP空压机控制程序工频变频切换方案
# 基于Arduino的Tellarium天文模拟系统 ## 项目简介 Tellarium是一个基于Arduino平台的天文模拟系统,旨在通过步进电机驱动行星模型,模拟行星的轨道运动。该项目通过串行通信接收用户指令,并使用DCF77库处理时间信号,以确保行星的运动与真实世界的时间同步。 ## 项目的主要特性和功能 1. 步进电机控制精确控制步进电机,实现行星模型的平滑运动。 2. 串行通信通过串行端口接收用户指令,如设置行星速度、启动或停止电机。 3. DCF77时间信号接收使用DCF77库接收时间信号,确保行星运动与真实时间同步。 4. 日志和调试提供日志输出和调试LED闪烁功能,便于开发者进行调试和问题排查。 5. 时间管理包括获取和设置时间、处理时间字符串等功能,确保系统时间的准确性。 ## 安装使用步骤 1. 硬件准备确保所有必要的硬件已正确连接,包括步进电机、磁铁传感器、Arduino板等。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
内容概要:文章介绍了针对COVID-19的药物再利用的创新方法,这种方法融合了基于文献的知识(LitCovid和CORD-19数据集)及先进的知识图谱补全技术。具体采用了基于神经网络的TransE、RotatE等多种算法预测药物再利用的潜力,并通过开放和封闭的发现模式为预测结果提供合理的机制解释,包括发现模式、准确性分类及定性评估等手段,增强了方法的实用性。研究表明,TransE表现最优,并成功预测并验证了一系列药物作为COVID-19的治疗候选人选。此外,方法不仅适用于COVID-19,还具备应用于其他疾病药物再利用及其他临床问题解决的潜力。此研究为快速高效地推进药物再利用提供了一个新的计算框架。 适合人群:生物医学科研人员,从事药品再利用、人工智能药物筛选的专业研究人员,对生物信息数据分析和处理感兴趣的学者或技术人员。 使用场景及目标:① 利用计算模型预测药物能否被重新应用于新的适应症,尤其是在面对突发公共卫生事件时加快新药物的研发进程。② 对现有药物进行再评价,以发现更广泛、安全、有效的治疗用途,为临床治疗提供依据和理论指导。③ 探讨通过自动化手段发掘药物作用机理的技术路径。 其他说明:作者团队来自多个国家和地区,研究获得了多项国家级基金支持,论文详尽描述了实验细节,并附上了全部代码和数据资源供后续拓展和重复研究使用。
QT 串口源码 串口实例 QT 串口助手代码 (2),含有完整的代码
2025年最新酒店客房部经理考试题答案.docx
# 基于Arduino的陶瓷加热器控制系统 ## 项目简介 这是一个基于Arduino的陶瓷加热器控制系统项目,旨在实现对陶瓷加热器的精确控制,适用于实验室、工业生产等需要精确控温的场合。 ## 项目的主要特性和功能 陶瓷加热器控制通过Arduino板控制陶瓷加热器的开关。 温度获取与转换采用ADC值获取温度,并通过查找表转换为实际温度。 目标温度设置允许用户设置目标温度。 错误检测与处理检测加热器的错误状态,如温度过高或短路等。 调试模式提供调试功能,方便开发者调试和测试。 ## 安装使用步骤 1. 下载并解压项目源码文件。 2. 将解压后的文件复制到Arduino的sketchbook目录中。 3. 连接陶瓷加热器到Arduino板上的指定引脚。 4. 使用USB线连接Arduino板到计算机。 5. 在Arduino IDE中打开项目文件,选择正确的Arduino板型号和端口。 6. 上传代码到Arduino板。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
CatBoost-shap集成模型:分类任务的解释与可视化Python代码实现,自带数据集,即插即用,全部图形直观展现,CatBoost-shap集成模型用于分类任务,对模型和变量用shap进行解释 Python 代码,自带数据集可以直接运行 所有图所见即所得 ,核心关键词:CatBoost-shap; 分类任务; 模型解释; 变量解释; Python代码; 自带数据集; 直接运行; 图形化结果。,"CatBoost模型SHAP解释器:分类任务图解"
项目均经过测试,可正常运行! 环境说明: 开发语言:java JDK版本:jdk1.8 框架:springboot 数据库:mysql 5.7/8 数据库工具:navicat 开发软件:eclipse/idea
基于西门子S7-1200 PLC与Wincc组态技术的智能路口交通指挥系统解决方案。,No.698 西门子S7-1200 和Wincc组态基于PLC的路口交通指挥系统 ,No.698; 西门子S7-1200; Wincc组态; PLC; 路口交通指挥系统; 交通控制系统。,基于PLC与Wincc组态的西门子S7-1200交通指挥系统
西门子S7-200 PLC控制的灯泡安装工作站系统设计:高效、智能的自动化解决方案,No.662 基于西门子S7-200 PLC的灯泡安装工作站的控制系统设计 ,基于西门子S7-200 PLC; 灯泡安装工作站; 控制系统设计,西门子S7-200 PLC控制灯泡安装站设计 No.662
PHP从入门到精通课程资料+pdf
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
LBM格子玻尔兹曼方法在Matlab中模拟3D气泡上升多相流的应用研究,lbm格子玻尔兹曼方法模拟3D气泡上升多相流 matlab ,LBM;格子玻尔兹曼方法;3D气泡上升;多相流模拟;Matlab,LBM格子玻尔兹曼模拟3D气泡多相流上升过程 Matlab实现
SQL Server 从入门到精通-pdf
"混合储能功率共享系统:基于滑动平均与多通道FFT的功率分配及模糊控制SOC管理策略",混合储能功率共享系统 光伏发出的功率与负载消耗功率的差值即混合储能的功率,将混合储能功率通过滑动平均后剩下的功率差值通过多通道FFT进行二次划分;二次划分得到的低频功率分量与之前的滑动平均得到的成分一起分给蓄电池进行平抑,最后剩下的高频部分交给超级电容进行平抑 soc通过模糊控制进行管理 ,混合储能;功率共享;滑动平均;多通道FFT;低频功率;soc管理;超级电容;蓄电池平抑,混合储能功率管理系统的设计与优化
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
ollama