小编use*_*976的帖子

OWL API V5从本地文件读取本体

在链接的当前文档示例中:https: //github.com/owlcs/owlapi/blob/version5/contract/src/test/java/org/semanticweb/owlapi/examples/Examples.java 没有示例如何从本地文件加载本体.只有一种方法可以从字符串加载它.

在过去,当我使用owl-api版本3时,以下代码完美地运行:

    OWLOntologyManager manager =OWLManager.createOWLOntologyManager();
    File file = new File (path);
    OWLOntology ont = manager.loadOntologyFromOntologyDocument(IRI.create(file));
Run Code Online (Sandbox Code Playgroud)

但是,在此版本中,前一代码的最后一行:

manager.loadOntologyFromOntologyDocument(IRI.create(file));
Run Code Online (Sandbox Code Playgroud)

返回此错误:

    Exception in thread "main" java.lang.NoSuchMethodError: 
    org.semanticweb.owlapi.util.SAXParsers.initParserWithOWLAPIStandards(Lorg/xml/sax/ext/DeclHandler;)Ljavax/xml/parsers/SAXParser; 
        at 
org.semanticweb.owlapi.rdf.rdfxml.parser.RDFParser.parse(RDFParser.java:148)
    at org.semanticweb.owlapi.rdf.rdfxml.parser.RDFXMLParser.parse(RDFXMLParser.java:62)
    at uk.ac.manchester.cs.owl.owlapi.OWLOntologyFactoryImpl.loadOWLOntology(OWLOntologyFactoryImpl.java:173)
    at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.load(OWLOntologyManagerImpl.java:954)
    at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:918)
    at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntologyFromOntologyDocument(OWLOntologyManagerImpl.java:859)
    at glass.main.ontology_Test_main2.readOntology(ontology_Test_main2.java:49)
    at glass.main.ontology_Test_main2.main(ontology_Test_main2.java:38)
Run Code Online (Sandbox Code Playgroud)

请注意附件,一个小测试java项目,链接:

dropbox.com/s/3787a3gsk2bwc26/test.tar.gz?dl=0

请问我做错了什么,我确定这个代码

请您提供正确的方法,并将其添加到链接https://github.com/owlcs/owlapi/blob/version5/contract/src/test/java/org/semanticweb/中的教程示例中owlapi /示例/ Examples.java

非常感谢你花时间陪伴.真诚的问候

owl-api

5
推荐指数
2
解决办法
1630
查看次数

标签 统计

owl-api ×1