使用OWL API获取数据属性的范围

时间:2019-07-12 12:04:13

标签: 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:Doubleowl:DataType的实例,但如何获取实际范围(在这种情况下为owl:DataType

1 个答案:

答案 0 :(得分:0)

您的代码中包含getDataRangeType(),将您从范围移动到其类型。但是您想要的是范围,因此跳过该方法,仅使用范围即可。您可以创建一个访问者以浏览不同的范围,也可以将其转换为OWLDatatype以获取普通数据类型。