Java 是否将ConversionException转换为OntClass?
我跟你有麻烦。我在循环中使用此方法,在给定点之前效果良好:Java 是否将ConversionException转换为OntClass?,java,semantic-web,apache-jena,Java,Semantic Web,Apache Jena,我跟你有麻烦。我在循环中使用此方法,在给定点之前效果良好: for(Iterator i = class.listSubClasses() ; i.hasNext() ;) { System.out.println(((OntClass) i.next()).getLocalName()); } 然后,将显示以下异常: Exception in thread "main" org.apache.jena.ontology.ConversionException: Cannot conv
for(Iterator i = class.listSubClasses() ; i.hasNext() ;) {
System.out.println(((OntClass) i.next()).getLocalName());
}
然后,将显示以下异常:
Exception in thread "main" org.apache.jena.ontology.ConversionException: Cannot convert node http://titan.be/axis-csrm/interoperabilitymodel/ontology/0.4#AXE to OntClass: it does not have rdf:type owl:Class or equivalent
at org.apache.jena.ontology.impl.OntClassImpl$1.wrap(OntClassImpl.java:82)
...
org.apache.jena.util.iterator.FilterIterator.hasNext(FilterIterator.java:55)
at rocks.novateam.axis.sow.poc.backend.ontology.RegisterManager.main(RegisterManager.java:194)
这很奇怪
在本体中,以下是该特定类的定义:
<!-- http://titan.be/axis-csrm/interoperabilitymodel/ontology/0.4#AXE -->
<rdf:Description rdf:about="http://titan.be/axis-csrm/interoperabilitymodel/ontology/0.4#AXE">
<rdfs:subClassOf rdf:resource="http://titan.be/axis-csrm/datamodel/ontology/0.4#Register"/>
</rdf:Description>
这是在一个互操作模型.owl
中,它被导入到第一个本体中
这种导入机制似乎不是问题,因为有其他类以这种方式从同一本体导入,不会导致程序崩溃
有什么想法吗?难道你的“斧头”没有被定义为猫头鹰类吗
它是一个rdfs:subassof,所以它必须是一个rdfs:class,但这并不意味着它也是一个owl:class,所以tyour#AXE不是简单地定义为owl类吗
它是一个rdfs:subassof,所以它必须是一个rdfs:class,但这并不意味着它也是一个owl:class所以,最终,这个问题与Jena的
OntModel
严格性有关。解决了这个问题。因此,最终,这个问题与Jena的OntModel
严格性有关。解决了这个问题。如果是这个问题,为什么它被认为是protégé中的一个类,我如何更改它?我认为错误一定在这里的某个地方:您声明“这是在interoperabilitymodel.owl中,它在第一个本体中导入。”如果是这个问题,可能这个文件没有正确导入到您的ontmodel中,为什么它被认为是protégé中的一个类,我该如何改变它?我认为错误一定在这里的某个地方:您声明“这是在一个interoperabilitymodel.owl中,它被导入到第一个本体中。”也许这个文件没有正确导入到您的OntModel中
<!-- http://titan.be/axis-csrm/interoperabilitymodel/ontology/0.4#AXE -->
<owl:Class rdf:about="http://titan.be/axis-csrm/interoperabilitymodel/ontology/0.4#AXE">
<rdfs:subClassOf rdf:resource="http://titan.be/axis-csrm/interoperabilitymodel/ontology/0.4#Entity"/>
<rdfs:label xml:lang="en">Autonomous eXchange Entity</rdfs:label>
</owl:Class>