我有以下设置:
- 一个猫头鹰本体(通过owlready使用此类层次结构访问:
owl:Thing
├── ClassA1
└── ClassB1
└── ClassB2
└── ClassB3
└── ClassB4
- 每个类的一个实例,例如
A1
,B1
等。 prop1
与相关A1
的财产B4
:prop1(A1, B4)
我想要一个给定的 SWRL 规则,它与prop1(A1, B4)
和via相关。A1
B3
B2
prop1
我想一定有这样的东西(部分发明的语法):
ClassA(?a), prop1(?a, ?i1), rdfs:type(?i1, ?c),
direct_subclass(?c ,?d), rdfs:type(?i2, ?d), not rdfs:type(?i2, ClassB1) -> prop(?a, ?i2)
但是,我没有在 SWRL 中找到任何关于“表示类的变量”(参见direct_subclass(?c, ?d)
或rdfs:type(?i2, ?d)
)。
如何制定我的规则?