耶拿;如何检查A subClassOf B而不迭代A超类和B子类

时间:2015-03-28 12:27:17

标签: java rdf jena owl

让我们有一个由Jena和两个本体类(OntClass),A和B操纵的本体。有没有任何方法可以检查

A a subClassOf B

不迭代超类并检查B是否在其中。也没有迭代B子类并检查A是否在其中。我的意思是

A.isSubClassOf(B)

1 个答案:

答案 0 :(得分:2)

检查的最佳位置是文档。 (实际上,使用支持自动完成功能的IDE也可以轻松找到它。)在这种情况下,OntClass的文档有两种方法正是您所要求的。它不是 isSubClass ,而是hasSubClass(Resource)。还有hasSuperClass(Resource)。例如,要检查A是否是B的子类,您可以执行以下操作:

OntClass A = ...;
OntClass B = ...;

A.hasSuperClass(B); // Does A have B as a superclass?
B.hasSubClass(A);   // Does B have A as a subclass?