欢迎您来到 数字平台。 您尚未登录。[登录] [注册新用户]
当前位置: 论坛首页 / 栏目 产品与服务 / 文章 618

点击:24263[回复顶层] [树状] [详细]
[回复留言] [回复(需要先登录)] [引用(需要先登录)]普通文章第 1 楼
文章id: 615
关于编目前端的配置讨论

作者: liujp


我在使用dp2系统进行专题的建过程中,通过服务器管理器修改了dcdef文件

 <element name="dc:title">
            <caption lang="zh">题名</caption>
            <caption lang="en">Title</caption>
            <types>
                <type name="cntitle">
                    <caption lang="zh">中文题名</caption>
                    <caption lang="en">cntitle</caption>
                </type>
                <type name="entitle">
                    <caption lang="zh">英文题名</caption>
                    <caption lang="en">entitle</caption>
                </type>
                 <type name="othertitle">
                    <caption lang="zh">其他题名</caption>
                    <caption lang="en">othertitle</caption>
                </type>
            </types>
        </element>

目的是让在编目前端有这样三个下拉选项

通过初始化后建立的记录不能实现题名检索

keys修改如下

 <key>
        <xpath nstable="">//dc:title[not(@xsi:type)]</xpath>
        <from>title</from>
        <table ref="title" />
    </key>
    <table name="title" id="0" type="title">
        <convert>
            <string style="upper,stopword,simplify" stopwordTable="title" />
        </convert>
        <convertquery>
            <string style="upper,stopword,simplify" stopwordTable="title" />
        </convertquery>
        <caption lang="zh-cn">题名</caption>
        <caption lang="en">Title</caption>
    </table>

有没有朋友配置过,一起讨论.



发表时间: 2010-10-18 15:04:08



[回复留言] [回复(需要先登录)] [引用(需要先登录)]普通文章第 2 楼
文章id: 616
关于DC限定词



小刘你好。看到你贴出来的内容,有以下几个问题想跟你深入交流一下:

1、采用DC元数据来描述特色资源,是一个很好的办法。描述特色资源,仅用简单DC是不够的,所以多采用DC限定(修饰),以使元素语义更精炼(所谓的语义限定)、更规范(所谓的编码限定)。如何用表达DC的语义限定,常见的是采用另一种命名空间的语义,比如dcterms中的alternative,就是其它题名的语义。那么,这个语义,形式上是等同于dc中的title,因而,采用我们的DC编目功能,在界面定义配置文件“dcdef”中,你那些“中文题名”、“英文题名”、“其它题名”的描述层面,如果是你们理解的DC限定词(随后再交流对于描述语种的表达方式),也得类同于dc:title一样进行定义,如:

    <element name="dc:title">

      <caption lang="zh">题名</caption>

      <caption lang="en">Title</caption>

    </element>

    <element name="dcterms:alternative">

      <caption lang="zh">其他题名</caption>

      <caption lang="en">Alternative Title</caption>

    </element>

即元素与元素限定,都是元素。

2、在DC中,是可以采用多种语种对资源的描述层面进行描述的,这些多种语种的描述信息,显然都是某个描述层面,只是其描述语种不一样。例如都是正题名,只不是一个是英文的正题名,另一个是中文的正题名而已。那么,更合理的界面定义,应该是采用常用的元素语种限定(修饰),这个配置定义,为节省配置文件尺寸,我们没有放在某个元素下,而是独立放置于配置文件后面的languages元素中:

  <languages>

    <item name="zh">

      <caption lang="zh">中文</caption>

      <caption lang="en">Chinese</caption>

    </item>

    <item name="en">

      <caption lang="zh">英文</caption>

      <caption lang="en">English</caption>

    </item>    

  </languages>

也就是说,当你用中文描述正题名时,在相关元素,比如dc:title的界面后,有一个语种下拉选单,你选中“中文”即可;如果是用英文描述正题名(即你们所谓的“英文题名”)时,选择“英文”即可,实际产生的记录XML格式如下:

  <dc:title xml:lang="zh">中文正题名测试</dc:title> 

  <dc:title xml:lang="zh">英文正题名测试</dc:title> 

3、关于编码限定,由于某些描述层面,涉及到用规范词或规范体系中的取值而不是自然语言描述,那么,这就是常见的DC编码限定,我们的dcdef配置中,将其置于元素定义下,比如:

    <element name="dc:subject">

      <caption lang="zh">主题</caption>

      <caption lang="en">Subject</caption>

      <types>

        <type name="CT">

          <caption lang="zh">汉语主题词</caption>

          <caption lang="en">Chinese Thesaurus</caption>

        </type>

         <type name="CLC">

          <caption lang="zh">中图法分类号</caption>

          <caption lang="en">Chinese Library Class</caption>

        </type>

      </types>

    </element>

    <element name="dc:date">

      <caption lang="zh">日期</caption>

      <caption lang="en">Date</caption>

      <types>

        <type name="dcterms:W3CDTF">

          <caption lang="zh">W3C日期时间格式</caption>

          <caption lang="en">W3CDTF</caption>

        </type>

      </types>

    </element>

在用dc:subject对资源作主题分析中,可以采用“汉语主题词”、“中图法分类”等规范取值;还比如采用“W3CDTF”格式作为dc:date的描述格式等等。

4、还有我个人的理解,对于DC的限定,可以不采用另一个命名空间的元素,比如不采用dcterms中的元素——虽然其广为人知。但因与dc命名空间混用,导致理解困难——打个比方,假如dc:title是“人”,dcterms:alternative就是“好人”,如果都按元素来理解和表达,好比说:“我是人”,“我是好人”,根据常理,如果“我是好人”,已经表达出了“我是人”的概念,用不着多此一举进行描述。而我们常见的描述层面中,有正题名、有其它题名等等描述要求,那么,好比有这样的一个描述体系,它具有dcterms:title和dcterms:alternative两个元素,前一个就是“正题名”定义,后一个是“其它题名”定义,注意,这里的dcterms:title并不等于dc:title了。

也就是说,我认为当前dc命名空间与dcterms命名空间混用的元数据描述中,已将dc:title中的语义弱化成dcterms命名空间中级别与dcterms:alternative元素一样的某个题名概念,比如所谓的“正题名”。它们两并不能体现出上下级关系或内在联系。

那么,如果要想体现出宽泛概念与其精练概念的层次关系或语义联系,那么,我认为DC的语义限定,也应该是采用类似其编码限定一样的表达方式,即在XML中作为描述元素的一个属性,比如xsi:type属性名值是编码限定的表达,那么,另外一个属性名值,比如refinement属性名值就是语义限定的表达,XML格式如下:

  <dc:title xml:lang="zh">中文之题名测试</dc:title> 

即当不清楚这个题名是什么题名时,尽管用不带语义限定词的方式表达它。当某天,我们认识到它其实是翻译题名(注意,这是资源本身的题名,而不是我们编目人员用另一种语言来描述它的题名,后者更应该用描述语种限定来表达)时,我们仅需修改当前描述,为其添加上相关的语义限定表达,XML格式如下:

  <dc:title xml:lang="zh" refinement="translate">中文之题名测试</dc:title> 

也就是说,现在的“中文之题名测试”这个描述字符串,表达的是用中文语种进行描述的、这个资源的翻译题名——是资源本来具有的翻译题名,可能这是一个其它语种编写的资源,它具有中文题名。这里,我故意用这种复杂的例子来阐述我的观点,希望不至于让你困惑。

然而,由于这只是我的一个观点,所以,当前系统DC元数据编目测试功能中,只具有元素的编码限定定义配置,即在element元素下,采用types子元素来表达并形成编码限定的下拉列表值;也只具有资源描述的语种表达定义配置,即前述的languages元素,相关dcdef配置文件如下:

  <elements>

    <element name="dc:source">

      <caption lang="zh">来源</caption>

      <caption lang="en">Source</caption>

      <types>

        <type name="dcterms:URI">

          <caption lang="zh">统一资源标识</caption>

          <caption lang="en">URI</caption>

        </type>

      </types>

    </element>

  </elements>

  <languages>

    <item name="zh">

      <caption lang="zh">中文</caption>

      <caption lang="en">Chinese</caption>

    </item>

    <item name="en">

      <caption lang="zh">英文</caption>

      <caption lang="en">English</caption>

    </item>    

  </languages>

并没有给你们扩展一个语义限定的属性列表值,即假如我的观点得到业界或客户的认可,那么,是可以考虑在dcdef定义文件中,增加这样的定义:

    <element name="dc:title">

      <caption lang="zh">题名</caption>

      <caption lang="en">Title</caption>

      <refinements>

        <refinement name="alternative">

          <caption lang="zh">其他题名</caption>

          <caption lang="en">Alternative Title</caption>

        </refinement>

      </refinements>

      <types>

        <type name="pinyin">

          <caption lang="zh">拼音</caption>

          <caption lang="en">pinyin</caption>

        </type>

      </types>

    </element>

即在element元素下的refinements元素下采用refinement元素表达这个dc:title的语义限定,注意,语义限定值一样可以采用另一个命名空间的语义元素,比如dcterms:alternative——如果你认为广为人知的dcterms:alternative的语义更不易让人误解的话——嗬嗬,我又在故意用复杂的例子来“赠送”另一种交流话题了。

5、回到你的问题上来,假如抛开以上理论概念,按你配置出来的dcdef,生成的XML记录,你那检索点配置方式应该没问题呀,因为你的XPath表达式:

//dc:title[not(@xsi:type)]

意思就是提取不含xsi:type属性的所有dc:title元素内容,假如你能保证你的元素XML中,确实没有xsi:type属性,应该没错的。

但是,既然界面中有这个下拉列表,有可能你不选择内容,也会形成一个空值的@xsi:type属性,所以,你的[not(@xsi:type)]的意思是找不带有xsi:type属性的dc:title,就自然不能提取内容了——可以改成[@xsi:type!='']判断试试。

——这纯属在你的样例基础上探讨的。所以,注意,严格意义上,不含属性和属性值为空是不一样的概念。



发表时间: 2010-10-19 14:40:06
[回复留言] [回复(需要先登录)] [引用(需要先登录)]普通文章第 3 楼
文章id: 617
业务需要

作者: liujp


关于DC元数据体系,我也知道一二,现在我不怀疑这种体系在描述资源的上问题.我想建立是在软件上提供一个下拉可选,并在后同录入相应的内容,检索时,可以检索到相应记录,只是在路径远程上,我可以根据某个元数据(字段)检索,也可以根据某个元数据加上限定词(暂叫子字段吧)检索.



发表时间: 2010-10-20 09:52:25



[回复留言] [回复(需要先登录)] [引用(需要先登录)]普通文章第 4 楼
文章id: 618
改XPath判断后是否达到你要的效果呢?



1、你只是想在元素中,添加一个下拉菜单,选择它后,值作为此元素的属性。那么,当前实验系统只提供“编码限定”和“描述语种”两个下拉列表,以此构成DC元素的xsi:type属性和xml:lang属性。如果不想考虑所谓的DC描述地不地道,只求效果,你当然可以“借用”这个“编码限定”来添加你的相应限定。

2、你可查看你的数据样例,看看是否因为你数据中产生了空值的xsi:type属性,[not(@xsi:type)]可换成[@xsi:type!='']试试,因为它们的效果不一样的。



发表时间: 2010-10-21 12:56:07
页 1 / 1
 

在线用户
(无) 
当前栏目在线用户数 0, 总在线用户数 0