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

在OWL-API中不使用DL查询进行推断

齐健柏
2023-03-14

Hospitals和hasNameWithWords值“Center”^^字符串

这个查询返回给我的实例是,在Protege4.2中,使用FACT++reasoner和Hermit reasoner的医院名称中有“Center”

但当我在OWL-API的DL查询示例中输入相同的查询时,该示例可在以下网站获得:http://sourceforge.net/p/owlapi/code/ci/aef6981535f07a2d0d44c394b9f4d5415f36025a/tree/contract/src/test/java/org/code/owlapi/examples/dlqueryexample.java

共有1个答案

钮承恩
2023-03-14

用作示例的类(dlQueryExample.java)依赖于OWL-API内置的结构推理器(owlReasonerFactory reasonerFactory=new StructuralReasonerFactory();)。

这种类型的推理器相当简单,不适合像您这样的复杂查询。但是,它可以在类层次结构上提供答案:这就是使用简单的查询hospitals得到一些结果的原因。

您需要做的是将代码设置为使用Hermit或fact++。我举一个与Hermit有关的例子:

    null
 类似资料:
  • 我已经使用OWL API4.1.3加载了我的本体,它并不大。由于需要使用推断信息,我还使用Hermit1.3.8.413库进行了推理。下面的代码显示了我是如何完成的。 它不会抛出任何错误,但它需要将推断出的本体存储在一个新文件中。事实上,即使在2天后,它也没有完成工作。我的IDE是eclipse EE,我为运行这个应用程序提供了6到12 GB的内存。我找不到任何问题与我的代码或我的本体。

  • 我正在尝试执行一个带有基数限制的查询。查询看起来像 A类和(roleA最小2类B) 但这返回一个空集。另一方面,当我执行查询时 更具体地说,我有类Team、Player和Position,以及对象属性employs(与Team和Player相关)和hasPosition(与Player和Positions相关)。我正在尝试进行查询 球队和雇用的最小2人(球员和拥有一些{striker**}**)

  • 我开始学习如何对owl本体进行推理,并且在确定我尝试做的事情是否可能时遇到了一些问题。 我使用的本体论是位于这里的葡萄酒本体论;它引用了这个食物本体。我在Protege和Jena都玩过推理引擎。 所以现在我尝试使用属性来确定什么类型的葡萄酒可以搭配这道菜。在本体论中为可以与此属性关联的实例定义了几个限制:、等--定义如下: 我可以A)获得这些限制,这样我就可以确定什么类型的葡萄酒将与我的MealC

  • 我有一个包含不同类型事件的本体论。因此我有三个类:A、B、C和一个helper类Temp。 我希望推理器为每找到一对个体a(RDF:TypeOf a)和b(RDF:TypeOf b)创建一个新个体作为C的子类。这个新个体应该包含关于a和B的信息。 在过去,我使用一个带有自己规则文件的jena推理器来得到这个结果,但现在我想切换到一个标准的OWL DL推理器。 和ad为a提供Temp类型,对Temp

  • 我甚至尝试与其他推理者(隐士,佩莱),因为我读到其他的帖子,但结果没有改变。我该怎么解决呢?

  • 问题内容: 我对Doctrine Symfony中SQL查询的翻译有疑问。我想做这样的事情: 在此示例中,我搜索用户99的所有朋友。 My tables : Member: (id, name, visible) Friend: (id, id_member, id_friend, active) 精度:我想使用Symfony传呼机。 一个解法 ?谢谢 ! 问题答案: DQL不支持UNION,但是