亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

不知道如何使用 Hermit 從 Java 本體中獲取對象屬性

不知道如何使用 Hermit 從 Java 本體中獲取對象屬性

米琪卡哇伊 2022-05-21 14:02:35
我試圖從一個類中獲取一個對象屬性,特別是:我試圖了解一個類何時是某個其他類的一部分(使用的構造可以在屏幕截圖中看到)。我已經嘗試在對象上使用OWL-api函數(對象是“e”)。getObjectPropertiesInSignature()OWLClass//display delle object propertySet<OWLObjectProperty> proprietà = e.getObjectPropertiesInSignature();System.out.println("Object Property:");if(proprietà.isEmpty()) {    System.out.println("\tQuesta classe non ha object property");}else {    for(OWLObjectProperty prop : proprietà) {        System.out.println("\t"+ prop);    }}片段的輸出是Questa classe non ha object property,所以函數返回一個空 Set,但在這種情況下,它應該返回一個具有一個對象屬性的 Set:part-Of 對象屬性。
查看完整描述

1 回答

?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

您要找出的是一個類是否包含在對象屬性的域中(類在 OWL 中沒有“具有”對象屬性),或者該類是否是限制的子類。僅當類表達式提到屬性時,類對象的簽名才包含對象屬性,例如合格的基數限制或存在限制,如您的示例中所示。


為了查看一個類是否有一個使用 的超類partOf,您可以創建一個表示子類公理右側的類表達式并詢問它的子類。


OWLDataFactory df = ...

OWLClassExpression c = df.getOWLObjectSomeValuesFrom(partOf, car);

NodeSet subClasses = hermit.getSubClasses(c, false);

對于 partOf 域中的類,您必須尋找域表達式交集的子類:


OWLClassExpression domain = df.getOWLObjectIntersectionOf(ontology.objectPropertyDomainAxioms(partOf));

NodeSet subClassesInDomain = hermit.getSubClasses(domain, false);


查看完整回答
反對 回復 2022-05-21
  • 1 回答
  • 0 關注
  • 189 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號