新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 关于 XML 的一般性技术讨论,提供 XML入门资料 和 XML教程
    [返回] 计算机科学论坛XML.ORG.CN讨论区 - XML技术『 XML基础 』 → 如何将XML文档转换成RDF文档? 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 4830 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 如何将XML文档转换成RDF文档? 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     瑞星小子 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:0
      积分:72
      门派:XML.ORG.CN
      注册:2007/1/4

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给瑞星小子发送一个短消息 把瑞星小子加入好友 查看瑞星小子的个人资料 搜索瑞星小子在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看瑞星小子的博客楼主
    发贴心情 如何将XML文档转换成RDF文档?

    如何将XML元素树转换成RDF三元组?
    在我们将XML文档中有用的元素读出并生成了一棵XML元素树之后,参照ontology中对各元素的描述,我们可以通过以下算法将这棵XML文档树转换成RDF三元组的形式。
    其具体过程如下,为了弄清楚哪些类或者是属性在描述这个文档的本体中被定义,我们在类的前面加上onto:,在性质的前面加上rdfx。算法描述如下:
    将XML文档本身作为“active_resource”,也就是说,将这篇文档的URI作为转换后文档的第一个语句的主语;
    以先深的顺序遍历整棵元素树,从根元素开始;
    对于每个我们遍历到的元素,我们在本体中查找它辨明他在语法上是定义为类元素还是作为属性。
    当我们遍历到的元素是作为属性元素时,我们作如下处理:
    (a)、当语句中没有“未完成语句”时,我们构造如下的“未完成语句”(“未完成语句”是指一个三元组中只填了两个元素)
    subject             predicate          object
    “   active_resource     onto:Prop          ...
    (b)、此外,如果碰到“未完成语句”,完成该未完成语句,并且创造一新的“未完成语句”,如下:
    subject             predicate          object
    ...                  ...                anon resource 1
    anon resource 1     onto:Prop ...
    当遍历到的元素是作为类元素cls时,作出如下处理:
    (a)、当文档本身作为active_resource,我们创建如下的三元组:
    subject               predicate          object
    URI of document      rdfx:describes      anon resource 1
    anon resource 1       rdf:type           onto:Cls
     之后,我们将anon resource 1作为新的active_resource
     
    (b)、如果存在未完成语句,填补完语句并创造如下新的三元组:
    subject             predicate          object
    ...                  ...                anon resource 1
    anon resource 1     rdf:type           onto:Cls
    之后将anon resource 1作为新的active_resource

    (c)、之外,如果没有为完成语句,我们定义一个谓词hasCls(这个Cls依赖于我们所碰到的类),并创建如下的新的三元组:
    subject             predicate           object
    active resource      onto:hasCls         anon resource 1
    anon resource 1     rdf:type             onto:Cls
    之后将anon resource 1作为新的 active_resource
    如果遍历到的元素标记为内容,我们作出如下处理:
    (a)、如果存在未完成语句,将其作为值填补上,如下:
    subject             predicate           object
    …                 …                 “textual content”
    (b)、如果不存在未完成语句,添加如下的三元组:
    subject               predicate                 object
    active resource        rdfx:value                 “textual content”
    (7) 继续遍历这棵XML元素树,当回溯时发现一个类已经匹配完毕,让之前的active resource作为新的active resource。
     至此,该算法过程描述完毕,如下是一个简单的XML文档,我们以此为例来描述该算法的实现过程:
    < http://mybus.com/order#1233 >
    <IndexItem>
    <ItemDetail>
    <UnitPrice>
        <Money currency="USD">1000</Money>
    </UnitPrice>
    <Description xml:lang="en">
    Armada M700 PIII 500 12GB </Description>
    <UnitOfMeasure>EA</UnitOfMeasure>
    <Classification domain="SPSC">
    C43171801</Classification>
    <ManufacturerPartID>
    140141-002</ManufacturerPartID>
    <ManufacturerName>Florsheim</ManufacturerName>
    <URL>http://www.compaq.com</URL>
    </ItemDetail>
    <IndexItemDetail>
    <LeadTime>10</LeadTime>
    <ExpirationDate>2000-06-01</ExpirationDate>
    <EffectiveDate>2000-01-01</EffectiveDate>
    <SearchGroupData>
    <Name xml:lang="en">Notebook</Name>
    <SearchDataElement name="Processor Speed"
    value="500MHZ"/>
    </SearchGroupData>
    <TerritoryAvailable>USA</TerritoryAvailable>
    </IndexItemDetail>
    </IndexItem>
    < /http://mybus.com/order#1233  >

    首先是利用本体从该文档中提取出有用的元素或者属性,有些不必要的在本体中没有描述的元素或者属性就不需要了,列出如下:
    Class ItemDetail
    Class Money
    Class Classification
    Property unitPrice
    Property currency
    - rdfs:domain Money
    Property description
    Property domain
    - rdfs:domain Classification
    ……..
    …….
    进行转换时,首先遇到的是文档的UML,依照算法,我们首先选择步骤(5)中的a选项,输出如下三元组:
    http://mybus.com/order#1233     rdfx:describes      anon resource 1
    anon resource 1                  rdf:type            onto: ItemDetail
    并将anon resource 1作为新的active resource
    之后遍历到的节点是  unitPrice,我们参照步骤(4)的a选项执行,输出:
    anon resource 1                onto: unitPrice         ...
     遇到 money 节点,因为是类名,而且有未完成语句,参照步骤(5)b执行,填补上一个三元组并生成新的三元组,如下:
    anon resource 1                onto: unitPrice         anon resource 2
    anon resource 2                rdf:type                   onto:money
    以此类推,最后我们能够得到以下全部由三元组组成的文档:
    subject                 predicate                   object
               rdfx:describes               anon 1
    anon 1                 rdf:type                     onto:ItemDetail
    anon 1                 onto:unitPrice               anon 2
    anon 2                 rdf:type                     onto:Money
    anon 2                 onto:currency                “USD”
    anon 2                 rdfx:value                   “1000”
    anon 1                 onto:description              “Armada M700 PIII 500 12GB”
    anon 1                 onto:hasClasssification       anon 3
    anon 3                 rdf:type                     onto:Classsification
    anon 3                 onto:domain                 “SPSC”
    anon 3                 rdfx:value                   “C43171801”
    ……
    ……


    至此,关于三元组的转换过程已经结束了


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/1/4 21:00:00
     
     xiaoweixiong 美女呀,离线,快来找我吧!
      
      
      等级:大一(高数修炼中)
      文章:24
      积分:138
      门派:XML.ORG.CN
      注册:2007/1/22

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给xiaoweixiong发送一个短消息 把xiaoweixiong加入好友 查看xiaoweixiong的个人资料 搜索xiaoweixiong在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看xiaoweixiong的博客2
    发贴心情 
    楼主请你加我QQ253681872,我有事请教
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/3/16 13:43:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML基础 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/6/22 22:39:33

    本主题贴数2,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    78.125ms