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

    >> 本版讨论Semantic Web(语义Web,语义网或语义万维网, Web 3.0)及相关理论,如:Ontology(本体,本体论), OWL(Web Ontology Langauge,Web本体语言), Description Logic(DL, 描述逻辑),RDFa,Ontology Engineering等。
    [返回] W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWLW3CHINA.ORG讨论区 - Web新技术讨论『 Semantic Web(语义Web)/描述逻辑/本体 』 → [求助]请大家帮我看看我这个本体到底有什么问题? 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 4017 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: [求助]请大家帮我看看我这个本体到底有什么问题? 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     she 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(Java考了96分!)
      文章:52
      积分:359
      门派:XML.ORG.CN
      注册:2005/4/3

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给she发送一个短消息 把she加入好友 查看she的个人资料 搜索she在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看she的博客楼主
    发贴心情 [求助]请大家帮我看看我这个本体到底有什么问题?

    郁闷了好几天,始终没有找出错在哪里,但是用Jena的解析器来读取文档时,就会出现一些错误,请大虾们帮忙看看,离导师的期限没几天了,我急呀!

    1、下面我描述一下我建立的本体,这个本体是根据中科院核心元数据标准的15个核心元素建立的,它是用来描述数据集的。为了测验,我目前只对其中一个核心元素建立了本体, 这个核心元素是”数据集主题“(Subject), 其是一个复合属性,有 ”学科主题词“ (ControlledWord) 和 ”自由关键词"(KeyWords)两个属性, 而 "学科主题词"也是复合属性, 包括 "主题词”(SubjectWord) 和 “词汇表”(Thesaurus) 两个属性。
    像DC本体15个元素都为属性一样,我这个本体只有一个类(Dataset), 其余都为属性。其中最烦的这些属性不是继承关系,而是包含关系,而且每个属性有其势的限制。所以在对属性取值的限制很是罗嗦。整个的本体文件如下:
    *******************************************************************
    <?xml version="1.0"?>
    <!DOCTYPE rdf:RDF [
         <!ENTITY xsd  "http://www.w3.org/2001/XMLSchema#" >
       ]>

    <rdf:RDF
        xmlns="http://www.she.com/dataset#"
        xml:base="http://www.she.com/dataset#"
        xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
        xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
        xmlns:owl="http://www.w3.org/2002/07/owl#"
        
      >
      <owl:Ontology rdf:about=""/>

      <owl:Class rdf:ID="DataSet"/>

      <owl:ObjectProperty rdf:ID="Subject">
        <rdfs:domain rdf:resource="#DataSet"/>
      </owl:ObjectProperty>

      <owl:ObjectProperty rdf:ID="ControlledWord">
      </owl:ObjectProperty>
      
      <owl:DataProperty rdf:ID="KeyWords">
        <rdfs:range rdf:resource="&xsd;string"/>
      </owl:DataProperty>

    <owl:DataProperty rdf:ID="SubjectWord">
       <rdfs:range rdf:resource="&xsd;string"/>
    </owl:DataProperty>

    <owl:DataProperty rdf:ID="Thesaurus">
       <rdfs:range rdf:resource="&xsd;string"/>
    </owl:DataProperty>

    <owl:Class rdf:about="DataSet">
      <owl:equivalentClass>
        <owl:Restriction>
          <owl:onProperty rdf:resource="#Subject" />
          <owl:allValuesFrom>
         <owl:Class>
       <owl:intersectionOf rdf:parseType="Collection">
        <owl:Restriction>
        <owl:onProperty rdf:resource="#ControlledWord"/>
        <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:minCardinality>
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">unbounded</owl:maxCardinality>
        <owl:allValuesFrom>
          <owl:Class>
           <owl:intersectionOf rdf:parseType="Collection">
            <owl:Restriction>
            <owl:onProperty rdf:resource="#SubjectWord" />
            <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
                   <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">unbounded</owl:maxCardinality>
         </owl:Restriction>

            <owl:Restriction>
            <owl:onProperty rdf:resource="#Thesaurus" />
            <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
            </owl:Restriction>
           </owl:intersectionOf>
          </owl:Class>
        </owl:allValuesFrom>
        </owl:Restriction>
        
        <owl:Restriction>
        <owl:onProperty rdf:resource="#KeyWords" />
        <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:minCardinality>
           <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">unbounded</owl:maxCardinality>
        </owl:Restriction>
       </owl:intersectionOf>
      </owl:Class>
           </owl:allValuesFrom>
        </owl:Restriction>
      </owl:equivalentClass>
    </owl:Class>

    <!--use it describe data-->
    <Dataset rdf:ID="dataset1">
      <Subject>
          <ControlledWord>
        <SubjectWord rdf:datatype="&xsd;string">标准核心元数据元素</SubjectWord>
        <SubjectWord rdf:datatype="&xsd;string">OWL</SubjectWord>
        <Thesaurus rdf:datatype="&xsd;string">RDF</Thesaurus>
          </ControlledWord>
          <KeyWords rdf:datatype="&xsd;string">OWL</KeyWords>
      </Subject>
    </Dataset>

    <Dataset rdf:ID="dataset2">
      <Subject>
          <ControlledWord>
        <SubjectWord rdf:datatype="&xsd;string">水资源</SubjectWord>
        <SubjectWord rdf:datatype="&xsd;string">OWL</SubjectWord>
        <Thesaurus rdf:datatype="&xsd;string">RDF</Thesaurus>
          </ControlledWord>
          <KeyWords rdf:datatype="&xsd;string">OWL</KeyWords>
      </Subject>
    </Dataset>  

    </rdf:RDF>
    ***************************************************************
    说明:大家可能想“为什么要这么多空类(空节点),为什么不定义一些中间类来简化?”这是因为那些中间的类对描述数据集有任何意义,更糟糕的是,假如真的建立那些中间类,当描述数据实例的时候,还要实例化这些中间类,这是一件十分痛苦和恶心的事情,因为这些中间类的实例没有任何实际意义。

    2、当我把描述数据“dataset1","dataset2"中的”KeyWords"部分删掉,没有什么问题。一加上“KeyWords"部分,就会出现如下错误:
    ****************************************************************
    ERROR [main] (RDFDefaultErrorHandler.java:40) - [88:7]: {E201} Syntax
    error when processing general start element tag.
    Cannot have another XML element here.
    (Maybe one object has already been given as the value of the
    enclosing property).
    ERROR [main] (RDFDefaultErrorHandler.java:40) - [98:7]: {E201} Syntax
    error when processing general start element tag.
    Cannot have another XML element here.
    (Maybe one object has already been given as the value of the
    enclosing property).
    **********************************************************
    其中88行,98行就是那个“KeyWords"部分!
    按照上面本体的定义,"KeyWords"属性跟”ControlledWord"属性是可以共存的。可是用jena来读取,却好像表示不可以。
    我不知道到底我的本体写错了,还是其他什么原因?

    3.还有一件郁闷的事情,即使我把"dataset1"和"dataset2"中的"KeyWords"部分的去掉,当我把其导入jena的Model中,列出所有的statements, 确找不到属性为"ControlledWord"的statement。我用RDQL来查询具有“ControlledWord"属性的 subject和object时,返回的空。

    ################################################
    哪位大虾如能帮我解决前面一个或者两个,小弟我会感恩戴德!!!


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/7/11 17:39:00
     
     iamwym 帅哥哟,离线,有人找我吗?
      
      
      
      威望:9
      等级:计算机硕士学位(版主)
      文章:2454
      积分:17456
      门派:XML.ORG.CN
      注册:2004/11/14

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给iamwym发送一个短消息 把iamwym加入好友 查看iamwym的个人资料 搜索iamwym在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 访问iamwym的主页 引用回复这个贴子 回复这个贴子 查看iamwym的博客2
    发贴心情 
    问一下,楼主是用文本写的本体?
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/7/11 18:45:00
     
     she 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(Java考了96分!)
      文章:52
      积分:359
      门派:XML.ORG.CN
      注册:2005/4/3

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给she发送一个短消息 把she加入好友 查看she的个人资料 搜索she在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看she的博客3
    发贴心情 
    恩,对呀, 这个本体不复杂,所以直接用文本编辑器写的
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/7/11 21:30:00
     
     windbird 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(汇编考了97分!)
      文章:101
      积分:446
      门派:XML.ORG.CN
      注册:2004/8/25

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给windbird发送一个短消息 把windbird加入好友 查看windbird的个人资料 搜索windbird在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看windbird的博客4
    发贴心情 
    为何不用PROTEGE进行本体编辑,然后再用RACER来进行检验呢?
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/7/12 0:16:00
     
     iamwym 帅哥哟,离线,有人找我吗?
      
      
      
      威望:9
      等级:计算机硕士学位(版主)
      文章:2454
      积分:17456
      门派:XML.ORG.CN
      注册:2004/11/14

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给iamwym发送一个短消息 把iamwym加入好友 查看iamwym的个人资料 搜索iamwym在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 访问iamwym的主页 引用回复这个贴子 回复这个贴子 查看iamwym的博客5
    发贴心情 
    同意楼上,语义网届所有的权威人士都会建议——建立任何本体,都请使用本体编辑器,不要认为自己够牛可以手写。本体不是html,各个概念之间都会有互相关联,手动写是不明智的,容易出错,而且错的很没有意义。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/7/12 4:46:00
     
     she 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(Java考了96分!)
      文章:52
      积分:359
      门派:XML.ORG.CN
      注册:2005/4/3

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给she发送一个短消息 把she加入好友 查看she的个人资料 搜索she在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看she的博客6
    发贴心情 
    谢谢各位关心,在jena-dev上已经有人帮我解决了。

    关于用本体编辑器,是由于自己对protege很不熟悉,像上面写的那些嵌套的匿名的Restriction, 在protege中不知道怎么写。我是小虾一个,哪敢称牛!

    再次谢谢大家!

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/7/12 9:04:00
     
     iamwym 帅哥哟,离线,有人找我吗?
      
      
      
      威望:9
      等级:计算机硕士学位(版主)
      文章:2454
      积分:17456
      门派:XML.ORG.CN
      注册:2004/11/14

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给iamwym发送一个短消息 把iamwym加入好友 查看iamwym的个人资料 搜索iamwym在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 访问iamwym的主页 引用回复这个贴子 回复这个贴子 查看iamwym的博客7
    发贴心情 
    protege不熟,那个tutorial看2个钟头就熟了。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/7/12 17:50:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/2 16:16:10

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

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