Java 使用KAON2推理器打开一个本体

Java 使用KAON2推理器打开一个本体,java,ontology,Java,Ontology,我有一个KAON2推理机,我想用它打开一个本体。 这怎么可能 谢谢请参阅发行版中包含的Example01.java: public static void main(String[] args) throws Exception { OntologyManager ontologyManager=KAON2Manager.newOntologyManager(); DefaultOntologyResolver resolver=new DefaultOntologyResolv

我有一个KAON2推理机,我想用它打开一个本体。 这怎么可能


谢谢

请参阅发行版中包含的
Example01.java

public static void main(String[] args) throws Exception {
    OntologyManager ontologyManager=KAON2Manager.newOntologyManager();
    DefaultOntologyResolver resolver=new DefaultOntologyResolver();
    resolver.registerReplacement("http://kaon2.semanticweb.org/example01","file:src/ex01/example01.xml");
    ontologyManager.setOntologyResolver(resolver);
    Ontology ontology=ontologyManager.openOntology("http://kaon2.semanticweb.org/example01",new HashMap<String,Object>());
    ...
}
publicstaticvoidmain(字符串[]args)引发异常{
OntologyManager OntologyManager=KAON2Manager.newOntologyManager();
DefaultOntologyResolver解析器=新的DefaultOntologyResolver();
解析程序注册表替换(“http://kaon2.semanticweb.org/example01“,“文件:src/ex01/example01.xml”);
本体管理器setOntologyResolver(解析器);
Ontology=ontologyManager.openOntology(“http://kaon2.semanticweb.org/example01,新的HashMap());
...
}
其中第一行和最后一行是重要部分;第2-4行只告诉
ontologyManager
从本地文件加载


编辑:如上所述,它不适用于较新的java版本。我用JDK 1.6.12对其进行了测试,效果很好。

我在示例中设置了提供的XML文件的路径,但收到了以下错误ayda maleki(6月10日8:24):‎ 线程“main”org.semanticweb.kaon2.api.KAON2Exception中出现异常:解析时出错。在org.semanticweb.kaon2.pdb.a(未知源)在org.semanticweb.kaon2.hs.parseOntology(未知源)在org.semanticweb.kaon2.gr.a(未知源)在org.semanticweb.kaon2.er.a(未知源)在org.semanticweb.kaon2.be.b(未知源)在org.semanticweb.kaon2.be.f(未知源)在org.semanticweb.kaon2.be位于org.semanticweb.kaon2.ud.openOntology(未知源)位于org.semanticweb.kaon2.ud.openOntology(未知源)位于istest.main(istest.java:49),原因是:org.xml.sax.SAXException位于org.semanticweb.kaon2.mv.a(未知源)位于org.semanticweb.kaon2.pdb.startElement(未知源)位于com.sun.org.apache.xerces.internal.parsers.AbstractSAXP