当前位置: 首页 > 知识库问答 >
问题:

使用owl API检查类是否与给定的类不相交

贾建茗
2023-03-14

我想用owl API检查类不相交的公理,这里是我的问题,假设我有两个类ChickenTopping和HamTopping,ChickenTopping类有一个子类的axiom HASSPICINSE有些热,HamTopping类有一个子类的axiom HASSPICINSE有些温和。这些热和温和的课是脱节的课。由于公理的子类,ChickenTopping类和HamTopping类是脱节的。那么如何检查给定的HamTopping类是否与Chicken类不相交呢?

共有1个答案

麻超
2023-03-14

Galigator已经提到了一些你可以使用的推理器。

若要检查类是否与另一个已知类不相交,创建owlReasoner后,可以使用以下代码:

OWLClass a = ...
OWLClass b = ...
OWLReasoner reasoner = ...
OWLDataFactory df = ...
OWLAxiom axiom = df.getOWLDisjointClassesAxiom(Arrays.asList(a, b));
boolean classesAreDisjoint = reasoner.isEntailed(axiom);
 类似资料:
  • 我有一种对象变量叫做obj(Object obj)。我用的是obj。getClass()我想检查返回的类是否是一个特定的类,在我的例子中是一个名为Student的类。我该怎么做? 我尝试了,但它告诉我学生不能被解析为变量。是的,我已经做了我的研究,并在SO上发现了类似的问题,但出于某种原因,我没有做任何工作。

  • 我有一个数组,它由组成。我想对它进行迭代,并找到所有作为数组实例的元素。 如何在Swift中检查对象是否属于给定类型?

  • 问题内容: 我需要保留Swift元类型的集合并编写一个函数,该函数将检查给定对象是否是其中之一的实例。我可以在Java中轻松做到这一点: 但是,我不知道如何在Swift中做到这一点: 这甚至可以在Swift中完成吗? 问题答案: 不幸的是,您目前只能对运算符使用命名类型,还不能对其使用任意的元类型值(尽管实际上 应该 可以使用IMO )。 假设您可以控制要与之进行比较的元类型的创建,则达到相同结果

  • 问题内容: 我有一个由组成的数组。我想遍历它,并找到所有属于数组实例的元素。 如何在Swift中检查对象是否为给定类型? 问题答案: 如果要检查特定类型,可以执行以下操作: 您可以使用“ as!” 如果类型不正确,则会引发运行时错误 您也可以一次检查一个元素:

  • 我读过https://projectlombok.org/features/equalsandHashCode几次,从中得出了不同的结论。 下面是我正在做的一个例子来帮助澄清我的问题: GeneratorTypeB看起来与上面的代码段完全相同。现在说我有以下几点: 我用来组合集合的代码在这个设置中工作得很好,但是我要处理的数据很多,所以遇到equals方法中使用的重复的唯一标识符的几率很低,但是它

  • 问题内容: 好吧,这是一个复杂的问题,我完全迷失了。 假设您有一个字符串和一个通用类。像这样。 您将如何检查String是否表示该类可以相等的值。 例如,可以这样说: 如何检查字符串“ true”实际上是布尔值? 这是另一个例子。可以这样说: 如何检查字符串“ true”不是整数? 问题答案: 鉴于您只需要 Wrapper Types ,可以在此处使用一些反射技巧(为简洁起见,忽略无关代码的异常处