武汉大学教学实验报告信息管理学院信息管理与信息系统专业2011年1 月1 日实验名称元数据方案分析指导教师Loly 姓名hrvy 年级2008 学号2008302330000 成绩一、预习部分1.实验目的2.实验基本原理3.主要仪器设备(含必要的元器件、工具)1 2 3 实验目的:通过自学包括DC在内的多种元数据方案,对其进行一定程度的分析,加深对元数据的理解,体会元素据方案的具体应用及其作用——如何实现机器与客户之间的接口,进一步感受信息组织的涵义作用,加深对本课程的理解与认识。
实验基本原理:从网络上寻找任一种元数据方案(DC除外),对其进行简单介绍并仔细分析其元素涵义,最后通过一个具体的实例将自己所了解的知识贯通。
主要仪器设备:一台连接到因特网的电脑。
二、实验操作部分1.实验数据、表格及数据处理2.实验操作过程(可用图表示)3.结论1 实验数据、表格及数据处理:本实验采用的是LDIF元数据方案。
LDIF:LDIF 全称是 LDAP(Lightweight Directory Access Protocol,轻量级目录访问协议) Data Interchange Format ,轻量级目录访问格式数据交换文本。
LDIF中传达的一组记录目录的内容,每一个对象(或项目)的纪录。
它代表了一组记录的更新请求,如添加,修改,删除,重命名,为每个更新请求的记录。
LDIF 是一种普遍使用的文件格式,用来描述目录信息或可对目录执行的修改操作。
LDIF 完全独立于在所有特定目录中使用的储存格式,LDIF 通常用于从LDAP 服务器导出目录信息或将数据导入LDAP 服务器。
LDIF 一般很容易生成。
因此,可以借助于一些工具(如awk 或perl)将专有格式的数据移入LDAP 目录。
也可以编写脚本来生成LDIF 格式的测试数据。
LDIF 由两部分组成,第一部分是前两行,版本和 dn ,后面是属性和值。
有两种类型的 LDIF 文件:第一种是描述 Directory 条目数据的,第二种是描述更新条目的。
第一种:version: 1 #定义版本dn: uid=bjensen, ou=people, dc=example, dc=com #定义判别名:用户UID,组织单元,域名的成分()objectclass: top #定义对象类objectclass: person #定义对象类objectclass: organizationalPerson #定义对象类objectclass: inetOrgPerson #定义对象类cn: Barbara Jensen #定义用户普通名cn: Babs Jensen #定义用户的普通名givenName: Barbara #名sn: Jensen #姓uid: bjensen #定义用户的UIDmail: bjensen@ #定义邮箱地址telephoneNumber: +1 408 555 1212 #定义电话号码description: Manager, Switching Products Division #内容描述如果值很长,可以分行,如:description: I will be out of theoffice from August 12, 2001, to September 10, 2001. If you need assistance with the Ostrich project, please contact Steve Smithat extension 7226.第二种:增加条目dn: uid=bjensen, ou=people, dc=example, dc=comchangetype: add #更改类型(添加)objectclass: topobjectclass: personobjectclass: organizationalPersonobjectclass: inetOrgPerson #对象类cn: Barbara Jensencn: Babs Jensen #普通名givenName: Barbara #名sn: Jensen #姓uid: bjensen #UIDmail: bjensen@ #邮箱telephoneNumber: +1 408 555 1212 #电话号码删除条目dn: uid=bjensen, ou=people, dc=example, dc=comchangetype: delete #更改类型为删除修改操作——增加属性dn: uid=bjensen, ou=people, dc=example, dc=comchangetype: modify #更改类型为修改add: telephoneNumber #添加电话号码这个属性telephoneNumber: +1 216 555 1212telephoneNumber: +1 408 555 1212删除属性dn: uid=bjensen, ou=people, dc=example, dc=comchangetype: modifydelete: telephoneNumber #更改类型为删除,删除的属性为电话号码telephoneNumber: +1 216 555 1212 #定义所要删除的电话号码或者全部删除dn: uid=bjensen, ou=people, dc=example, dc=comchangetype: modifydelete: telephoneNumber #删除了所有的电话号码替换属性dn: uid=bjensen, ou=people, dc=example, dc=comchangetype: modifyreplace: telephoneNumber #更改类型为替换,替换的属性是电话号码telephoneNumber: +1 216 555 1212telephoneNumber: +1 405 555 1212 #替换后的两个号码多个操作可以放在一个文件里面,每个操作用 - (单破折号或者是减号)分开dn: uid=bjensen, ou=people, dc=example, dc=comchangetype: modifyadd: mailmail: bjensen@ #添加邮箱bjensen@-delete: telephoneNumbertelephoneNumber: +1 216 555 1212 #删除电话+1 216 555 1212-delete: description #删除所有描述-replace: givenName #用Barbara和Babs替换名givenName: BarbaragivenName: Babs -LDAP server 处理一个文件类有似于事物处理的机制,只有所有操作都成功才能成功。
修改 DN , deleteoldrdn 注意设置——dn: uid=bjensen, ou=People, dc=example, dc=comchangetype: moddn #更改记录指定进行DN或者RDN的修改操作newrdn: uid=babsj #定义新的相对判别名并为UID赋值deleteoldrdn: 0 #deleteoldrdn为必需的新的RDN限定符,这里表示在重命名后保留旧的RDN结果:dn: uid=babsj, ou=People, dc=example, dc=com2uid: babsjuid: bjensen #处理以上记录后还同时有新旧两个UIDdn: uid=bjensen, ou=People, dc=example, dc=comchangetype: moddnnewrdn: uid=babsjdeleteoldrdn: 1 #表示使用newrdn替换旧的RDN结果:dn: uid=babsj, ou=People, dc=example, dc=comuid: babsj #处理记录后只有一个UID移动节点——dn: uid=bjensen, ou=People, dc=example, dc=comchangetype: moddnnewsuperior: ou=Terminated Employees, dc=example, dc=com #newsuperior新父级,可选的限定符,仅在要重新指派项的父级时才提供实验操作过程:首先,学习课本中有关元数据与元数据方案的定义与功能,理解并熟悉Dublin Core元数据元素定义与应用;其次,选定一种元数据方案(DC除外)并在因特网上搜索该元数据的元素定义与格式标准;然后,分析并理解应用该元数据方案的实例;最后,给出一个或多个采用了该元数据方案的例子并生成实验报告。
——————————Example————————————version: 1dn: o= Corpobjectclass: topobjectclass: organizationo: Corpdescription: Fictional organization for example purposesdn: ou=People,o= Corpobjectclass: topobjectclass: organizationalUnitou: Peopledescription: Fictional organizational unit for example purposestel: 555-5559dn: cn=June Rossi,ou=People,o= CorpobjectClass: topobjectClass: personobjectClass: organizationalPersonobjectClass: inetOrgPersoncn: June Rossisn: RossigivenName: Junemail: rossi@userPassword: {sha}KDIE3AL9DKou: Accountingou: peopletelephoneNumber: 2616roomNumber: 220dn: cn=Marc Chambers,ou=People,o= CorpobjectClass: topobjectClass: personobjectClass: organizationalPersonobjectClass: inetOrgPersoncn: Marc Chamberssn: ChambersgivenName: Marcmail: chambers@userPassword: {sha}jdl2alem87dlacz1telephoneNumber: 2652ou: Manufacturingou: PeopleroomNumber: 167dn: cn=Robert Wong,ou=People,o= CorpobjectClass: topobjectClass: personobjectClass: organizationalPersonobjectClass: inetOrgPersoncn: Robert Wongcn: Bob Wongsn: WonggivenName: RobertgivenName: Bobmail: bwong@userPassword: {sha}nn2msx761telephoneNumber: 2881roomNumber: 211ou: Manufacturingou: peopledn: ou=Groups,o= Corpobjectclass: topobjectclass: organizationalUnitou: groupsdescription: Fictional organizational unit for example purposes ——————————Example———————————3 以下LDIF 示例文件包含多个修改操作:——————————Example———————————version: 1dn: cn=Harvey, ou=Students, l=WuHan, c=CNchangetype: modifyadd: telephonenumbertelephonenumber: +1 552 775 5058-delete: postcodeNumber-replace: descriptiondescription: table tennis playerdescription: true man-delete: telephonenumbertelephonenumber: +1 587 238 1950-replace: titletitle:Profile——————————— Example———————————结论:LDIF跟DC一样,也是记录格式非常结构化的二级元数据,有多个必需与可选的元素,总体内容格式更加简单明了,整个记录文档的自由度也很大。