SPARQL 能否处理特定单元格的空白结果?

Can SPARQL handle blank results for specific cells?

我正在编写 SPARQL 查询,但无法弄清楚如何允许特定列的空白结果。

我目前的要求是:

select * where {
?game a dbpedia-owl:Game ;
dbpprop:name ?name ; 
dbpedia-owl:publisher ?publisher . }

有些游戏有 owl 发行商,而其他游戏则没有。上述请求过滤掉没有发行商的游戏。我希望能够在同一个 csv 中获得有发行商的游戏和没有发行商的游戏。

我尝试为发布者编写 if isset 语句 owl 但似乎无法获得正确的空白。

我不想过滤掉没有发行商的游戏,而是想要发行商单元格为空白的结果。

有什么建议吗?

无论何时您要查找可能存在或不存在的内容,您都可以将语句的那部分放在 SPARQL 查询的 optional 部分中。因此:

select * where {
    ?game a dbpedia-owl:Game ;
    dbpprop:name ?name . 
optional{
     ?game dbpedia-owl:publisher ?publisher . 
}
}   

可选之前的计数是 112,之后是 143。