如何使用SQWRL查询与另一个类的个人相关的类?

时间:2018-04-18 14:07:49

标签: ontology sqwrl

我是SQWRL的新手,所以我在一门课程中创建的本体论中做了一些测试。

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

BallpointPen and hasCharacteristic value Refillable

这将显示正确的结果。

相关问题