sql - 匹配 SPARQL 中值为 NULL 的位置

标签 sql sparql allegrograph

我有以下 SPARQL 查询:

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

结果如下:
label | img
-------------
label | link1
labe2 | link2
…

我也想要没有 ?img 的标签也匹配,即 ?img 的条目是 NULL即我想要如下结果:
label  | img
--------------
label1 | link1
label2 |
label3 | link3
…

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

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

最佳答案

使用可选:

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

关于sql - 匹配 SPARQL 中值为 NULL 的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20643705/

相关文章:

c# - 如何使用 sparql 使用 dotNetRDF 库从我自己的 rdf 文件中查询?

python - 来自 AllegroGraph Python API 的 Prolog 查询中的 OWL 推理

sql - 在 T-Sql 中查找特定日期为 "closest"的星期五

mysql - 如何选择日期并忽略时间

java - 获取传递关系中的所有节点 - 扩展

sparql - 使用SPARQL查询RDF时方括号 "[]"的含义?

ruby-on-rails - 如何在数据存储中存储 RDF 图?

graph - allegrograph 和五列 mysql 表有什么区别?

sql - Azure SQL数据库缺少属性等

sql - 无法将 “X”上的 “Y”属性设置为 'null'值。您必须将此属性设置为 'Int32'类型的非空值