耶拿;如何在不迭代 A super 类 或 B sub 类 的情况下检查 A subClassOf B
Jena; How to check A subClassOf B without iterating A super classes nor B sub classes
让我们有一个由 Jena 操纵的 ontology 和两个 ontology 类 (OntClass
),A 和 B。有什么方法可以检查
A a subClassOf B
无需遍历 A super 类 并检查 B 是否在其中。也没有迭代 B sub 类 并检查 A 是否在其中。我的意思是
A.isSubClassOf(B)
最好的检查点是文档。 (实际上,使用支持自动完成的 IDE 也可以很容易地找到它。)在这种情况下,OntClass has two methods that are exactly what you're asking for. It's not isSubClass, but rather hasSubClass(Resource). There's also 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?
让我们有一个由 Jena 操纵的 ontology 和两个 ontology 类 (OntClass
),A 和 B。有什么方法可以检查
A a subClassOf B
无需遍历 A super 类 并检查 B 是否在其中。也没有迭代 B sub 类 并检查 A 是否在其中。我的意思是
A.isSubClassOf(B)
最好的检查点是文档。 (实际上,使用支持自动完成的 IDE 也可以很容易地找到它。)在这种情况下,OntClass has two methods that are exactly what you're asking for. It's not isSubClass, but rather hasSubClass(Resource). There's also 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?