首页 > 解决方案 > 如何通过 SPARQL 仅知道 Protégé 中的个人和类名来检索数据属性值?

问题描述

我开始根据工作需要使用 Protégé,目前正在学习如何使用 SPARQL Query。

我心里有个问题如下:

假设我有一个这样的本体: -owl:thing > -Phone ,所以“电话”是“猫头鹰:事物”类的子类。“Phone”类有以下个体“Galaxy”和“iPhone”。每个人都通过数据属性“hasVersion”进行分类。单个“iPhone”通过该数据属性“hasVersion”获得了版本值“X-MAX”。所以关系如下:

{ iPhone hasVersion X-MAX }

个体“Galaxy”通过该数据属性“hasVersion”获得了版本值“S10”。所以关系如下:

{ Galaxy hasVersion S10 }

所以现在的问题是,在没有明确提及“X-MAX”值的情况下,检索单个“iPhone”的版本值(即“X-MAX”)的正确 SPARQL 查询是什么?

这么简单,我知道个人名称和数据属性,但不知道“hasVersion”数据属性的值,所以想检索属于“iPhone”个人的数据属性值。

换句话说,我知道类名“Phone”+个人名称“iPhone”,但不知道“iPhone”的版本值。另外,我只想要属于单个“iPhone”的版本值,不想看到“Galaxy”。

我尝试过这样的事情,但没有奏效:

:iPhone :hasVersion ?VersionValue .

标签: sparqlrdfowlontologyprotege

解决方案


推荐阅读