我是SQWRL的新手,所以我在一门课程中创建的本体论中做了一些测试。
在那个本体论中,有一个名为BallpointPen的类,它有一些圆珠笔作为子类;此外,还有一个名为PenCharacteristic的类,它具有笔作为个体的可能特征。
我想验证哪些圆珠笔(它是BallpointPen类的子类)具有特征可填充(它是PenCharacteristic类的个体)。为此,我宣布了以下SQWRL查询:
tbox:sca(?x, BallpointPen) ^ hasCharacteristic(?x, Refillable) -> sqwrl:select(?x)
它应该指出两个答案:类MyInnovativeBallpointPen和RefillableBallpointPen,但它没有显示任何结果。有人可以帮帮我吗?
答案 0 :(得分:0)
经过一些研究,我发现查询无法完成,至少不能使用SQWRL,因为它无法同时处理类和实例。一种方法是将BallpointPen子类(包括我试图执行的查询的答案)转换为实例。
以本体的方式进行查询的唯一方法是使用DL Query。在DL查询选项卡(在Protégé上),只需键入并执行:
BallpointPen and hasCharacteristic value Refillable
这将显示正确的结果。