使用 OWL API 获取数据范围 属性
Getting range of data property using OWL API
我正在使用 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
?
您的代码中有 getDataRangeType()
,这使您从范围转到其类型。但是你想要的是范围,所以跳过那个方法,直接使用范围。您可以创建一个访问者来导航不同的范围,或者您可以将普通数据类型转换为 OWLDatatype。
我正在使用 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
?
您的代码中有 getDataRangeType()
,这使您从范围转到其类型。但是你想要的是范围,所以跳过那个方法,直接使用范围。您可以创建一个访问者来导航不同的范围,或者您可以将普通数据类型转换为 OWLDatatype。