华为的朋友在我的博客上留言,要开发一个元数据应用系统,关于互联网或者电信网内容(资源)管理:
内容包括文本,图片,音视频,多媒体等网络资源。
期望通过对内容进行结构化的描述,例如元数据,然后发布,实现对内容或者资源进行检索,依据内容之间的相关性进行聚合,以及统一的访问机制等.
目前大致的思路是,先基于RDF/DC元数据等技术,建立一个简单的资源管理与控制平台,把资源(应该是由URI所确定的)按照某些元信息或是简单的标签进行描述,然后注册在某个地方,然后以此为基础研究对资源的聚类,搜索,资源之间的关联,Web服务对资源的调用访问,资源与服务的匹配关系等等。
对这样一个系统,希望大家出出主意。
首先明确需求如下:
1、资源对象:来自网络(提供URI);
2、资源类型:任意(文本、图片、音视频等);
3、资源描述:规范的元数据(如DC),以RDF编码;
4、应用需求:搜索、聚类、关联;
5、访问方式:开放,支持Web服务。
我们参考原型法来考虑问题:满足上述需求的应用,应该有两类现有应用可作参考:
资源导航门户:
1、资源对象:各类网站、网页(可通过URL链接);
2、资源类型:网页,可能会有pdf等文件;
3、资源描述:专业人员加工的元数据(很多应用了DC,但不一定以RDF编码);
4、应用需求:提供搜索、浏览功能,以及人工的分类(聚类)、(主题)关联;
5、访问方式:开放访问,但不一定支持Web服务,但有这种趋势,例如可能支持SRU/W的REST访问等。
个人知识管理(网摘)系统(如365key、Zotero、PiggyBank等):
1、资源对象:网页或网上的任何资源(提供URL或能够被一定服务解析的DOI/OpenURL等);
2、资源类型:任意(文本、图片、音视频等);
3、资源描述:任何规范的元数据(如DC、微格式)或不规范的元数据(如Tag),以XML/RDF或自定义形式编码;
4、应用需求:标注annotation、存档(在线或离线)、搜索、获取、聚类(多种算法、相关反馈或纯粹人工)、关联(规范控制);
5、访问方式:本地、圈内(可定义)、开放,支持或不支持开放API,提供或不提供基于标准或非标准的Web服务。
针对您的需求描述需要进一步澄清的问题:
1、您需要上述哪些功能?
2、您需要开发的是应用型系统(上述第一种为主)还是工具型系统(上述第二种),或者在开发应用的同时开发一些工具?
3、您的系统开发工具和运行平台怎样考虑?纯开源还是商业应用?纯网络实现(Ajax)还是可以有C/S参与?
4、您希望支持各类”标准”,支持到什么程度?(例如元数据格式的类型–包括数据存储和交换的考虑、流程的耦合程度–即各模块的封装程度、服务标准的支持–如何注册、搜寻、发布服务等)