weixin_37629529 2017-10-30 01:38 采纳率: 0%
浏览 1485

jena读取本体文件发生错误

跪求解释!!jena读取本体文件发生RDFDefaultErrorHandler.java:44错误,网上的解决方案多为地址问题,但是调整了多次地址仍不能运行,是否可能是本体文件的问题呢?但是本体文件是protege的examples本体文件,也不可能有问题啊。跪求点播!!!
代码如下:

 package jena;
import java.io.FileInputStream;
import java.io.FileNotFoundException;

//import org.mindswap.pellet.jena.PelletReasonerFactory;

import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.rdf.model.ModelFactory;

public class jena {
public static void main(String args[]) throws FileNotFoundException
{

OntModel ontModel = ModelFactory.createOntologyModel();
ontModel.read((new FileInputStream("D:/pizza.owl")),null);

}

}

console错误为:
ERROR [main] (RDFDefaultErrorHandler.java:44) - http://protege.stanford.edu/plugins/owl/protege(line 1 column 50): White spaces are required between publicId and systemId.
 WARN [main] (OntDocumentManager.java:1137) - An error occurred while attempting to read from http://protege.stanford.edu/plugins/owl/protege. Msg was 'rethrew: org.xml.sax.SAXParseException; systemId: http://protege.stanford.edu/plugins/owl/protege; lineNumber: 1; columnNumber: 50; White spaces are required between publicId and systemId.'.
org.xml.sax.SAXParseException; systemId: http://protege.stanford.edu/plugins/owl/protege; lineNumber: 1; columnNumber: 50; White spaces are required between publicId and systemId.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unkn
at org.apache.xerces.impl.XMLDocumentScannerImpl$PrologDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at com.hp.hpl.jena.rdf.arp.impl.RDFXMLParser.parse(RDFXMLParser.java:106)
...
at com.hp.hpl.jena.util.FileManager.readModel(FileManager.java:316)
at com.hp.hpl.jena.ontology.OntDocumentManager.read(OntDocumentManager.java:1133)
at com.hp.hpl.jena.ontology.OntDocumentManager$1.readModel(OntDocumentManager.java:1099)
at com.hp.hpl.jena.rdf.model.impl.ModelMakerImpl.getModel(ModelMakerImpl.java:105)
at com.hp.hpl.jena.ontology.OntDocumentManager.fetchLoadedImportModel(OntDocumentManager.java:1103)
at com.hp.hpl.jena.ontology.OntDocumentManager.fetchPossiblyCachedImpo...

at com.hp.hpl.jena.ontology.impl.OntModelImpl.read(OntModelImpl.java:2046)
at jena.jena.main(jena.java:18)
com.hp.hpl.jena.shared.JenaException: rethrew: org.xml.sax.SAXParseException; systemId: http://protege.stanford.edu/plugins/owl/protege; lineNumber: 1; columnNumber: 50; White spaces are required between publicId and systemId.
at com.hp.hpl.jena.rdf.model.impl.RDFDefaultErrorHandler.fatalError(RDFDefaultErrorHandler.java:45)
at com.hp.hpl.jena.rdf.arp.impl.ARPSaxErrorHandler.fatalError(ARPSaxErrorHandler.java:35)
at com.hp.hpl.jena.rdf.arp.impl.XMLHandler.warning(XMLHandler.java:214)
at com.hp.hpl.jena.rdf.arp.impl.XMLHandler.fatalError(XMLHandler.java:241)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
...
at org.apache.xerces.impl.XMLDocumentScannerImpl.scanDoctypeDecl(Unknown Source)
at org.apache.xerces.impl.XMLDocumentScannerImpl$PrologDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at com.hp.hpl.jena.rdf.arp.impl.RDFXMLParser.parse(RDFXMLParser.java:106)
....
at jena.jena.main(jena.java:18)
Caused by: org.xml.sax.SAXParseException; systemId: http://protege.stanford.edu/plugins/owl/protege; lineNumber: 1; columnNumber: 50; White spaces are required between publicId and systemId.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
... 30 more

本体文件为:
<?xml version="1.0"?>
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:swrlb="http://www.w3.org/2003/11/swrlb#"
    xmlns:protege="http://protege.stanford.edu/plugins/owl/protege#"
    xmlns:swrla="http://swrl.stanford.edu/ontologies/3.3/swrla.owl#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:sqwrl="http://sqwrl.stanford.edu/ontologies/built-ins/3.4/sqwrl.owl#"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns="http://www.co-ode.org/ontologies/pizza/2005/10/18/pizza.owl#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:xsp="http://www.owl-ontologies.com/2005/08/07/xsp.owl#"
    xmlns:swrl="http://www.w3.org/2003/11/swrl#"
    xmlns:daml="http://www.daml.org/2001/03/daml+oil#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
  xml:base="http://www.co-ode.org/ontologies/pizza/2005/10/18/pizza.owl">
  
    
    
    
    An example ontology that contains all constructs required for the various versions of the Pizza Tutorial run by Manchester University (see http://www.co-ode.org/resources/tutorials/)/rdfs:comment
         >version 1.3/owl:versionInfo
         >en/protege:defaultLanguage
  /owl:Ontology
  owl:Class
    
      owl:Restriction
        owl:onProperty
          
        /owl:onProperty
                 >3/owl:minCardinality
      /owl:Restriction
      
    /owl:intersectionOf
  /owl:Class
  owl:Class
    
      
      owl:Restriction
        owl:onProperty...字数限制。。

  • 写回答

1条回答 默认 最新

  • weixin_37629529 2017-10-30 04:36
    关注

    自己已经解决,关键在于 本体文件的格式问题,protege中的save as自动存储为RDF/XML-ABBREV,将该格式转为RDF/XML,再读取即可!

    评论

报告相同问题?

悬赏问题

  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件