我正在使用OWL API来获取数据属性的范围,如下所示:
OWLDataProperty dataProperty = ontologyManager.getOWLDataFactory().getOWLDataProperty("http://schema.mobivoc.org/powerInKW");
Set<OWLDataPropertyRangeAxiom> ranges = ontology.getOWLOntology().getDataPropertyRangeAxioms(dataProperty);
for (OWLDataPropertyRangeAxiom range : ranges) {
String rangeString = range.getRange().getDataRangeType().getIRI().getIRIString();
}
属性"http://schema.mobivoc.org/powerInKW"
的范围为xsd:Double
。但是上面的代码返回了owl:DataType
。尽管我同意xsd:Double
是owl:DataType
的实例,但如何获取实际范围(在这种情况下为owl:DataType
?
答案 0 :(得分:0)
您的代码中包含getDataRangeType()
,将您从范围移动到其类型。但是您想要的是范围,因此跳过该方法,仅使用范围即可。您可以创建一个访问者以浏览不同的范围,也可以将其转换为OWLDatatype以获取普通数据类型。