我一直在尝试加载我在 Protégé 中制作的 OWL 文件。我将 OWL API 3.4.3 导入到我的项目中,并将sample.owl
文件传递到原始文件夹,但是当我尝试加载 OWL 文件时,它不起作用。 没有错误,但我只是收到此消息
不幸的是,样本项目已停止
这是我使用的代码部分。当我在标准 Java 环境中尝试代码时,它可以正常工作。
OWLOntology localOntology = null;
int rID = resources.getIdentifier("com.example.cammclient1:raw/"+"sample", null, null);
InputStream input = resources.openRawResource(rID);
OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
ontology = manager.loadOntologyFromOntologyDocument(input);
try {
for (OWLClass cls : localOntology.getClassesInSignature()) {
Log.d("class in the ontology", ((CharSequence) cls).toString());
}
TV1.setText("reading classes...............");
}
catch (Exception e) {
TV1.setText("Not successfull");
}
您正在将OWLClass
实例强制转换为CharSequence
,然后对其调用toString()
。这将导致抛出ClassCastException
- OWLClass 不是一个字符串。只需改用cls.toString()
,您将获得相同的结果。
您也在吞下捕获块中的异常。这对诊断问题没有帮助,因为它通过仅说"不成功"而不提供更多信息来隐藏信息。