我观察到,当使用 StaticRDFSReasoner 或仅使用 RDFSReasoner 时,如果我有这样的模式(TURTLE Notation):
ex:A a rdfs:Class;
rdfs:subClassOf ex:B, ex:C .
像这样的数据,具有 A 类的实例“a”:
ex:a a ex:A .
然后我只得到一个推断的 Triple :
ex:a a ex:B .
但是由于 A 应该是 B 类和 C 类的交集的近似值,所以我也应该得到以下 Triple inferred :
ex:a a ex:C .
因为“a”应该是 B 类和 C 类的成员。
我在这里查看了 Reasoner 的实现,但仍然无法弄清楚为什么它不起作用:
也许这里有人可以帮助我为什么这不起作用。如果我切换 B 和 C 的顺序,则推断出“a”是 C 类的成员。