我是SPARQLR查询的新手,需要一些帮助。
我有两个名为&#34的课程;平台"和" Video_game"。
"平台" class有3个实例:Windows,Playstation_4和Xbox_One。
" Video_game" class也有3个实例:Just_Cause_3,Battlefield_4和Grand_Theft_Auto_5
我还有对象属性名为" availableOn"链接"平台"和" Video_game"一起上课。
现在,如果我想要检索所有视频游戏及其各自的平台,我会运行此查询:
SELECT ?Name ?Platform
WHERE { ?Name rdf:type vg:Video_game ;
vg:availableOn ?Platform . }
该查询可以成功运行。但现在,我想使用" FILTER"命令仅显示所有游戏,但仅在特定平台上显示。例如,仅在" Windows"。
我如何能够过滤结果?我是否需要添加一些数据属性才能使用FILTER命令?
先谢谢了。
答案 0 :(得分:4)
让<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>)
}
如果你还想要?平台在结果中。