在SPARQL中匹配值为NULL的位置

时间:2013-12-17 20:09:50

标签: sql sparql allegrograph

我有以下SPARQL查询:

SELECT ?label ?img 
WHERE
{
  ?uri rdfs:label ?label .
  ?uri vtio:hasImage ?img .
}

结果如下:

label | img
-------------
label | link1
labe2 | link2
…

我还希望没有?img的标签也匹配,即?imgNULL的条目,即我想要的结果如下:

label  | img
--------------
label1 | link1
label2 |
label3 | link3
…

如果我使用之前的查询,label2的结果将不会显示?

如何修改我的查询以包含这样的行?

1 个答案:

答案 0 :(得分:8)

使用OPTIONAL:

select ?label ?img where {
?uri rdfs:label ?label.
 OPTIONAL { ?uri vtio:hasImage ?img. }
}