让我们考虑一个
(1) P Domain CSuper
(2) CSub subClassOf CSuper
使用 Jena,我试图列出CSub
. 我认为P
不能将其列为CSub
. 我的理由:P
是 的声明属性CSub
,iff CSub
是 的域P
, from (1)CSuper
是一个域P
,并不意味着它CSub
也是一个域;(1) 表示如果(x, y)
是P
,那么x
是CSuper
,显然x
可能(不是)是CSub
。
令人惊讶的是,即使使用 OntModelSpec.OWL_DL_MEM_RULE_INF 或 Pellet ,Jena 也在使用方法时P
作为声明属性列出!我错过了什么吗?CSub
listDeclaredProperties
更新: 某个类的声明属性是什么意思?这是否意味着属性是它们的域的类!