繁体   English   中英

从 OWL Ontology 获取部分课程

[英]Get part-Of class from OWL Ontology

我有一个用 protègè 制作的本体,我定义了一个名为 part-Of 的ObjectProperty 在此处输入图片说明

我解析一个OWLClass试图找出子类是否是part-Of解析类。 在这种情况下,当子类ANAPHE具有以下subclass of签名时,我正在解析At_Home ,如下图所示在此处输入图片说明 我已经尝试过:

OWLDataFactory df = manager.getOWLDataFactory();
    OWLObjectProperty partOf = df.getOWLObjectProperty("part-Of");
    OWLClassExpression c = df.getOWLObjectSomeValuesFrom(partOf, target);
    NodeSet<OWLClass> subClasses = hermit.getSubClasses(c, true);
    if(subClasses.isEmpty()) {
        //System.out.println("\tQuesta classe non ha parti");
        res[0] = null;
    }
    else {
        for(Node<OWLClass> parte : subClasses) {
            risultato.add(parte.getRepresentativeElement().getIRI().getFragment());
        }
        res[0] = risultato;
    }

其中targetAt_Home OWLClass ,但该方法继续返回一个空的NodeSet ,因此这意味着即使ANAPHEAt_Home部分,它也没有部分。
想要的结果应该是一个带有OWLClass "ANA" 和 "PHE" 的NodeSet

df.getOWLObjectProperty("part-Of");

这就是问题。 您需要使用您财产的完整 IRI,而不仅仅是片段; 这与您的本体中所述的属性不匹配。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM