带条件,列表等的SPARQL查询

时间:2017-05-25 21:51:58

标签: sparql

所以我想要合并3个SPARQL查询:

查询1

PREFIX entity: <http://.../entity/>
PREFIX p: <http://.../prop/>
PREFIX ps: <http://.../prop/statement/>
PREFIX pd: <http://.../prop/direct/>
entity:Q276 p:P19 ?statement .
?statement ps:P19 ?next .
?next pd:P18 ?kpa .

查询2

PREFIX entity: <http://.../entity/>
PREFIX p: <http://.../prop/>
PREFIX ps: <http://.../prop/statement/>
PREFIX pd: <http://.../prop/direct/>
entity:Q276 p:P19 ?statement .
?statement pq:P20 ?nav_rule .
?nav_rule pd:P18 ?kpb .

查询3

PREFIX entity: <http://.../entity/>
PREFIX p: <http://.../prop/>
PREFIX ps: <http://.../prop/statement/>
entity:Q276 p:P19 ?statement . 
?statement ps:P19 ?next .
?next rdfs:label ?kpc .

我想在变量名?kpa下的列表中输出?kpb?key_phrase。如果?kpa?kpb都为空或无,则?key_phrase应为包含?kpc的列表。此外,?kpa?kpc可能有多个值,因此如果您可以在同一个列表中包含所有这些值,则需要额外的道具。这个新查询将用作更大的sparql查询的子查询,所以我认为我不能使用GROUP-CONCATORDER BY

示例

例如,我想为电视节目(Q15416)或歌曲<的子类的每个条目提取 AAT ID (P1014) / strong>(Q7366)或流派游戏节目(Q846662)。如果 AAT ID 属性不存在,则改为提取条目的标题。提取的所有值都应列在字段名称?key_phrase

0 个答案:

没有答案