【问题标题】:How to disable inference in hermiT如何在 hermiT 中禁用推理
【发布时间】:2019-02-04 14:05:27
【问题描述】:

我正在使用 OWL-Api 和 hermiT 推理器,在尝试使用 hermiT 检索 partOf 子类时,它返回了正确的结果,因此 partOf 子类,但它也返回了推断的子类(我不需要)。

这是用于检索 partOf 子类的函数:

            //ricerca delle classi che hanno come parti quella attuale
            System.out.println("Questa classe è parte di: ");
            OWLClassExpression domain = df.getOWLObjectIntersectionOf((Stream<? extends OWLClassExpression>) ontologia.objectPropertyDomainAxioms(partOf));
            NodeSet<OWLClass> subClassesInDomain = hermit.getSubClasses(domain, false);
            if(subClassesInDomain.isEmpty()) {
                System.out.println("\tQuesta classe non è parte di nessun'altra");
            }
            else {
                for(Node<OWLClass> parteDi : subClassesInDomain) {
                    OWLClass classe2 = parteDi.getRepresentativeElement();
                    System.out.println("\t"+ classe2.getIRI().getFragment());;
                }
            }

在此图像中,提供了操作的实际结果。 given result

在这里,它显示了我需要的结果。 wanted result

有没有办法只为此操作禁用 hermiT 推理引擎?

【问题讨论】:

    标签: owl-api inference hermit


    【解决方案1】:
    hermit.getSubClasses(domain, false);
    

    改成

    hermit.getSubClasses(domain, true);
    

    仅检索直接子类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-11
      • 1970-01-01
      • 1970-01-01
      • 2021-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-02
      相关资源
      最近更新 更多