zoukankan      html  css  js  c++  java
  • protege中 org.xml.sax.SAXParseException: White spaces are required between publicId and systemId

      刚刚接触本体建模,很多东西不懂。用protege加载CIDOC CRM的owl文件然后将其转存至本地后无法打开,网上查了一下,原因是命名空间所声明的本体没有加载进来(即当前所用本体依赖于其它上层本体),于是在<owl:Ontology rdf:about=""> </owl:Ontology>中把所有声明都加进去了,形式如下:

      <owl:imports rdf:resource="http://www.w3.org/2003/11/swrlb#" /> 

      <owl:imports rdf:resource="http://www.w3.org/2003/11/swrl#" />

      <owl:imports rdf:resource="http://protege.stanford.edu/plugins/owl/protege#" />

      <owl:imports rdf:resource="http://www.owl-ontologies.com/2005/08/07/xsp.owl" />

      ……

    报错

      org.xml.sax.SAXParseException: White spaces are required between publicId and systemId

    最开始被异常信息欺骗了,以为哪里少了个空格,实际上真正原因是publicId and systemId冲突,即你的命名和系统命名冲突了。于是所有全部删掉,只留下一个

      <owl:imports rdf:resource="http://www.owl-ontologies.com/2005/08/07/xsp.owl" />

    搞定!猜测原因可能是有些上层本体是protege里有的(太基础太常用了),你再由外部引入就会产生冲突,而另一些是系统里没有的,比如这里的xsp.owl。

  • 相关阅读:
    剑指 Offer 30. 包含min函数的栈
    剑指 Offer 35. 复杂链表的复制
    剑指 Offer 18. 删除链表的节点
    剑指 Offer 24. 反转链表
    Jmeter
    Jmeter
    Linux搭建Jenkins
    [基金项目] 青年基金写作的历程与经验(2)
    [基金项目] 青年基金写作的历程与经验(1)
    浅析mysql存储过程
  • 原文地址:https://www.cnblogs.com/rouge/p/3099196.html
Copyright © 2011-2022 走看看