Java 使用KAON2推理器打开一个本体
我有一个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
谢谢请参阅发行版中包含的
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