簡體   English   中英

Get Inferred Object Property Assertions Hermit Reasoner

[英]Get Inferred Object Property Assertions Hermit Reasoner

假設我在 Protege 中創建了一些本體,並且有一個具有某些對象屬性的類的實例,以及一個對象屬性列表,如下圖所示:

設備類“Email_Server”的個體,具有對象屬性“實現”

對象屬性的層次結構如下:

對象屬性層次結構

現在,當我打開 Reasoner (Hermit) 時,我會為同一個人獲得以下斷言對象屬性:

單個 Email_server 的推斷對象屬性

當我點擊推斷對象屬性“dependsUp”客戶的解釋時,我得到:

推斷對象屬性“dependsUp”客戶的說明

我的問題是如何使用 Java 生成它? 我已經可以通過以下方式獲得某些個人的推斷對象屬性(為了簡潔起見,此處不完整,但它可以像我測試的那樣工作):

for (OWLNamedIndividual namedIndividual : this.ontology.getIndividualsInSignature()) {
            if (subjectName.equals(namedIndividual.getIRI().getFragment())) {
                OWLObjectProperty objectProperty = fac.getOWLObjectProperty(IRI.create(propertyIRI));
                NodeSet<OWLNamedIndividual> namedIndividualSet = reasoner.getObjectPropertyValues(namedIndividual ,objectProperty);

                for (Node<OWLNamedIndividual> namedIndividualsInObjectPropertySet : namedIndividualSet) {
                    for (OWLNamedIndividual namedIndividualForObjectPropertySet : namedIndividualsInObjectPropertySet) {
                        for (OWLClassExpression owlClass : namedIndividualForObjectPropertySet.getTypes(this.ontology)){
                            if (owlClass.toString().split("#")[1].replace(">", "").equals(archiClass)) {
                                result.add(OWLOntologyUtils.getHumanInstanceName(this.ontology, namedIndividualForObjectPropertySet.getIRI().getFragment()));
// Result contains all the inferred object properties shown in the above pictures, so this code works. How can I access the explanation for one of the inferred object properties by the reasoner here?
                            }
                        }
                    }
                }

            }
        }

您可以使用InferredObjectPropertyAxiomGenerator

InferredObjectPropertyAxiomGenerator generator = new InferredObjectPropertyAxiomGenerator();
generator.createAxioms(owldatafactory, reasoner);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM