1 回答
TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超10個(gè)贊
您要找出的是一個(gè)類是否包含在對(duì)象屬性的域中(類在 OWL 中沒有“具有”對(duì)象屬性),或者該類是否是限制的子類。僅當(dāng)類表達(dá)式提到屬性時(shí),類對(duì)象的簽名才包含對(duì)象屬性,例如合格的基數(shù)限制或存在限制,如您的示例中所示。
為了查看一個(gè)類是否有一個(gè)使用 的超類partOf,您可以創(chuàng)建一個(gè)表示子類公理右側(cè)的類表達(dá)式并詢問它的子類。
OWLDataFactory df = ...
OWLClassExpression c = df.getOWLObjectSomeValuesFrom(partOf, car);
NodeSet subClasses = hermit.getSubClasses(c, false);
對(duì)于 partOf 域中的類,您必須尋找域表達(dá)式交集的子類:
OWLClassExpression domain = df.getOWLObjectIntersectionOf(ontology.objectPropertyDomainAxioms(partOf));
NodeSet subClassesInDomain = hermit.getSubClasses(domain, false);
添加回答
舉報(bào)
