SPARQL 查询:过滤器 instance/result

SPARQL Query: Filter instance/result

我是 SPARQLR 查询的新手,需要一些帮助。

我有 2 个 class 名为 "Platform" 和 "Video_game"。

"Platform" class 有 3 个实例:Windows、Playstation_4 和 Xbox_One。

"Video_game"class也有3个实例:Just_Cause_3、Battlefield_4和Grand_Theft_Auto_5

我还有对象 属性 一起命名为 "availableOn" 到 link "Platform" 和 "Video_game" class。

现在,如果我想检索所有视频游戏及其各自的平台,我会 运行 这个查询:

SELECT ?Name ?Platform
WHERE { ?Name rdf:type vg:Video_game  ;
        vg:availableOn ?Platform .  }

该查询可以 运行 成功。但是现在,我想使用 "FILTER" 命令只显示所有游戏,但只在特定平台上显示。例如,仅在 "Windows" 上。

我怎样才能过滤结果?我是否需要添加一些数据属性才能使用 FILTER 命令?

提前致谢。

<P> 为 windows 平台的 URI。从您的数据中获取正确的价值。

类似于:

SELECT ?Name
WHERE { ?Name rdf:type vg:Video_game  ;
              vg:availableOn <P> .  }

您不需要过滤器。 或者

SELECT ?Name ?Platform
WHERE { ?Name rdf:type vg:Video_game  ;
              vg:availableOn ?Platform . 
        FILTER(?Platform = <P>)
}

如果您还想在结果中使用 ?Platform。