通过generate-mapping命令生成了.ttl文件后,执行dump-rdf命令将ttl文件生成.nt文件报错

F:\Soft\d2rq-0.8.1>dump-rdf -o baidu_baike.nt kg_demo_movie_mapping.ttl
Exception in thread "main" java.lang.ExceptionInInitializerError
        at com.ibm.icu.impl.UPropertyAliases.<clinit>(UPropertyAliases.java:87)
        at com.ibm.icu.lang.UCharacter.<clinit>(UCharacter.java:5680)
        at com.hp.hpl.jena.rdf.arp.impl.CharacterModel.isComposingChar(CharacterModel.java:147)
        at com.hp.hpl.jena.rdf.arp.impl.ParserSupport.checkComposingChar(ParserSupport.java:128)
        at com.hp.hpl.jena.rdf.arp.states.AbsWantLiteralValueOrDescription.characters(AbsWantLiteralValueOrDescription.java:59)
        at com.hp.hpl.jena.rdf.arp.states.WantTypedLiteral.characters(WantTypedLiteral.java:28)
        at com.hp.hpl.jena.rdf.arp.impl.XMLHandler.characters(XMLHandler.java:149)
        at org.apache.xerces.parsers.AbstractSAXParser.characters(Unknown Source)
        at org.apache.xerces.impl.XMLNamespaceBinder.characters(Unknown Source)
        at org.apache.xerces.impl.dtd.XMLDTDValidator.characters(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanContent(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.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:155)
        at com.hp.hpl.jena.rdf.arp.JenaReader.read(JenaReader.java:173)
        at com.hp.hpl.jena.rdf.arp.JenaReader.read(JenaReader.java:160)
        at com.hp.hpl.jena.rdf.arp.JenaReader.read(JenaReader.java:232)
        at com.hp.hpl.jena.rdf.model.impl.ModelCom.read(ModelCom.java:268)
        at com.hp.hpl.jena.ontology.OntDocumentManager.findMetadata(OntDocumentManager.java:894)
        at com.hp.hpl.jena.ontology.OntDocumentManager.initialiseMetadata(OntDocumentManager.java:852)
        at com.hp.hpl.jena.ontology.OntDocumentManager.<init>(OntDocumentManager.java:200)
        at com.hp.hpl.jena.ontology.OntDocumentManager.<init>(OntDocumentManager.java:182)
        at com.hp.hpl.jena.ontology.OntDocumentManager.<init>(OntDocumentManager.java:166)
        at com.hp.hpl.jena.ontology.OntDocumentManager.getInstance(OntDocumentManager.java:244)
        at com.hp.hpl.jena.ontology.OntModelSpec.getDocumentManager(OntModelSpec.java:339)
        at com.hp.hpl.jena.ontology.impl.OntModelImpl.getDocumentManager(OntModelImpl.java:181)
        at com.hp.hpl.jena.ontology.impl.OntModelImpl.loadImports(OntModelImpl.java:1973)
        at com.hp.hpl.jena.ontology.impl.OntModelImpl.<init>(OntModelImpl.java:147)
        at com.hp.hpl.jena.ontology.impl.OntModelImpl.<init>(OntModelImpl.java:119)
        at com.hp.hpl.jena.rdf.model.ModelFactory.createOntologyModel(ModelFactory.java:359)
        at de.fuberlin.wiwiss.d2rq.parser.MapParser.<init>(MapParser.java:85)
        at de.fuberlin.wiwiss.d2rq.SystemLoader.getMapping(SystemLoader.java:300)
        at d2rq.dump_rdf.run(dump_rdf.java:97)
        at de.fuberlin.wiwiss.d2rq.CommandLineTool.process(CommandLineTool.java:158)
        at d2rq.dump_rdf.main(dump_rdf.java:40)
Caused by: java.lang.IllegalArgumentException: Invalid version number: Version number may be negative or greater than 255
        at com.ibm.icu.util.VersionInfo.getInstance(VersionInfo.java:188)
        at com.ibm.icu.impl.ICUDebug.getInstanceLenient(ICUDebug.java:65)
        at com.ibm.icu.impl.ICUDebug.<clinit>(ICUDebug.java:69)
        ... 39 more

解决办法

在 https://github.com/unicode-org/icu/releases/tag/release-68-2 中下载icu4j-68_2.jar这个文件,将d2rq-0.8.1\lib\arq-2.9 中的 icu4j-3.4.4.jar 删除,然后将下载的 icu4j-68_2.jar 复制进去。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐