使用 owl API 检查 class 是否与给定的 class 不相交
check whether a class is disjoint or not with the given class using owl API
我想使用 owl API.here 我的 problem.suppose 检查 class 不相交的公理 我有两个 classes ChickenTopping 和 HamTopping.ChickenTopping class 有公理的子class hasSpiciness some Hot 和 HamTopping class 有公理 的子 class 有一些温和 的辣味。这些 Hot 和 Mild class 是脱节的。由于 subclass 公理,ChickenTopping 和 HamTopping classes 是脱节的。那么如何检查给定的 HamTopping class 是否与 Chicken class 不相交?
Galigator 已经提到了一些您可以使用的推理器。
要检查 class 是否与另一个已知的 class 不相交,创建 OWLReasoner
后,您可以使用以下代码:
OWLClass a = ...
OWLClass b = ...
OWLReasoner reasoner = ...
OWLDataFactory df = ...
OWLAxiom axiom = df.getOWLDisjointClassesAxiom(Arrays.asList(a, b));
boolean classesAreDisjoint = reasoner.isEntailed(axiom);
我想使用 owl API.here 我的 problem.suppose 检查 class 不相交的公理 我有两个 classes ChickenTopping 和 HamTopping.ChickenTopping class 有公理的子class hasSpiciness some Hot 和 HamTopping class 有公理 的子 class 有一些温和 的辣味。这些 Hot 和 Mild class 是脱节的。由于 subclass 公理,ChickenTopping 和 HamTopping classes 是脱节的。那么如何检查给定的 HamTopping class 是否与 Chicken class 不相交?
Galigator 已经提到了一些您可以使用的推理器。
要检查 class 是否与另一个已知的 class 不相交,创建 OWLReasoner
后,您可以使用以下代码:
OWLClass a = ...
OWLClass b = ...
OWLReasoner reasoner = ...
OWLDataFactory df = ...
OWLAxiom axiom = df.getOWLDisjointClassesAxiom(Arrays.asList(a, b));
boolean classesAreDisjoint = reasoner.isEntailed(axiom);