簡體   English   中英

OWL Api類斷言

[英]OWL Api class assertion

我有兩個類AB ,我想斷言ArelatedClass B

我想在類級別做到這一點,起初我想創建一個對象屬性relatedClass並添加該斷言。 但是我只能在個人之間做到這一點。

OWLObjectProperty related = dataFactory.getOWLObjectProperty(IOR + "#relatedClass");
OWLAxiom axiom = dataFactory.getOWLObjectPropertyAssertionAxiom(related, classA, classB);

這是不正確的,因為該方法期望classAclassB是個人。

是否可以設置類之間的關系? 使用OWL API如何完成?

我正在遵循此模式來轉換分類法,它說:

斷言能力是相關的

competenceperformance都是課堂。


更新資料

好的,因此,根據您的回答和評論,我一直在嘗試了解所討論的模式是哪種關系。 但是我很茫然。

首先,related的含義與skos:related的含義相同,因此非常籠統:

屬性skos:related用於聲明兩個SKOS概念之間的關聯鏈接。

當兩個概念相關但一個不是另一個的更籠統或更具體的概念時使用。 另外,它是對稱屬性。 我的領域中的一個例子是“信息系統”與“系統安全性”相關(但是您可以看到,這是一種非常通用的關系)。

這是該模式的一部分包含的圖:

在此處輸入圖片說明

這是示例圖的版本(非常模糊,但這就是它在紙上的外觀)版本:

在此處輸入圖片說明

所以我從這里得到的是它必須是一個ObjectProperty並且我必須設置域和范圍,但是如果發生以下情況,它將如何工作:

ClassA related ClassB
ClassC related ClassD

在這種情況下,如何設置域和范圍? 還是您認為我應該在每對相關的班級中選一個?

使用OWL API無法實現此目的,因為OWL不支持它。 在特定的OWL規范狀態中

對象屬性連接成對的個人。

因此,對象屬性不是鏈接個人的類別而是鏈接個人。 您能做的最好的事情就是說,如果兩個對象通過對象屬性鏈接在一起,則這些對象屬於特定的類,可以使用域和范圍限制來實現。 即:

ObjectProperty: relatedClass
  Domain: A
  Range: B

使用OWL API,您需要執行以下操作:

OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
OWLDataFactory dataFactory = manager.getOWLDataFactory(); 

IRI relatedClassPropertyIRI = IRI.create(ontologyIRI + "#relatedClass");
IRI aClassIRI = IRI.create(ontologyIRI + "#A");
IRI bClassIRI = IRI.create(ontologyIRI + "#B");

OWLObjectProperty relatedClassProperty = dataFactory.getOWLObjectProperty(relatedClassPropertyIRI);

OWLClass aClass = dataFactory.getOWLClass(aClassIRI);
OWLClass bClass = dataFactory.getOWLClass(bClassIRI);

dataFactory.getOWLObjectPropertyDomainAxiom(relatedClassProperty, aClass);
dataFactory.getOWLObjectPropertyRangeAxiom(relatedClassProperty, bClass);

如果您現在使用屬性聲明公理,例如

OWLAxiom axiom = dataFactory.getOWLObjectPropertyAssertionAxiom(related, individualA, individualB);

推理者將推斷出individualA A屬於A類, individualB B屬於B類。

更新資料

要處理多個相關類,您必須對域和范圍使用這些類的並集:

ObjectProperty: relatedClass
 Domain: A or C
 Range: B or D

暫無
暫無

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

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