0

我是 SQWRL 的新手,所以我正在对我在课程中创建的本体进行一些测试。

在那个本体中,有一个名为 BallpointPen 的类,它有一些圆珠笔作为子类;此外,还有一个名为 PenCharacteristic 的类,它具有笔作为个体的可能特征。

我想验证哪些圆珠笔(BallpointPen 类的子类)具有 Refillable 特征它是 PenCharacteristic 类的个体)。为此,我声明了以下 SQWRL 查询:

tbox:sca(?x, BallpointPen) ^ hasCharacteristic(?x, Refillable) -> sqwrl:select(?x)

它应该指出两个答案:MyInnovativeBallpointPen 和 RefillableBallpointPen 类,但它没有显示任何结果。有人可以帮我吗?

4

1 回答 1

0

经过一番研究,我发现无法进行查询,至少不能使用 SQWRL,因为它不能同时使用类和实例。一种方法是将 BallpointPen 子类(包括我尝试执行的查询的答案)转换为实例。

以本体当前的方式进行查询的唯一方法是使用 DL Query。在 DL Query 选项卡中(在 Protégé 上),只需键入并执行:

BallpointPen and hasCharacteristic value Refillable

这将显示正确的结果。

于 2018-04-23T19:57:32.277 回答