由于 where 子句,Sparql 中缺少值
Missing value in Sparql due to where clause
我有一个查询return没有记录,因为 where 子句中没有缩略图
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX dbpedia: <http://dbpedia.org/resource/>
SELECT *
WHERE {
dbpedia:Nancy_Mairs dbpedia-owl:abstract ?abstract; dbpedia-owl:thumbnail ?thumbnail .
}
LIMIT 1
如果我错过了第二个条件,它return就是一个记录
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX dbpedia: <http://dbpedia.org/resource/>
SELECT *
WHERE {
dbpedia:Nancy_Mairs dbpedia-owl:abstract ?abstract
}
LIMIT 1
而不是说如果第一个 return 什么都没有,那么 运行 第二个我可以一次性完成吗 return 如果有 [=18= 一个空缩略图]?
扩展 , you can use the OPTIONAL
关键字来描述图形模式,这些图形模式是……好吧……可选的。如果此模式有解决方案,它将与解决方案的其余部分一起返回;否则,只会返回模式的 "mandatory" 部分。
SELECT * WHERE {
dbpedia:Nancy_Mairs dbpedia-owl:abstract ?abstract
OPTIONAL {
dbpedia:Nancy_Mairs dbpedia-owl:thumbnail ?thumbnail
}
}
如果要排除dbpedia:Nancy_Mairs
的重复,可以使用BIND
关键字:
SELECT * WHERE {
BIND(dbpedia:Nancy_Mairs AS ?topic)
?topic dbpedia-owl:abstract ?abstract
OPTIONAL {
?topic dbpedia-owl:thumbnail ?thumbnail
}
}
我有一个查询return没有记录,因为 where 子句中没有缩略图
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX dbpedia: <http://dbpedia.org/resource/>
SELECT *
WHERE {
dbpedia:Nancy_Mairs dbpedia-owl:abstract ?abstract; dbpedia-owl:thumbnail ?thumbnail .
}
LIMIT 1
如果我错过了第二个条件,它return就是一个记录
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX dbpedia: <http://dbpedia.org/resource/>
SELECT *
WHERE {
dbpedia:Nancy_Mairs dbpedia-owl:abstract ?abstract
}
LIMIT 1
而不是说如果第一个 return 什么都没有,那么 运行 第二个我可以一次性完成吗 return 如果有 [=18= 一个空缩略图]?
扩展 OPTIONAL
关键字来描述图形模式,这些图形模式是……好吧……可选的。如果此模式有解决方案,它将与解决方案的其余部分一起返回;否则,只会返回模式的 "mandatory" 部分。
SELECT * WHERE {
dbpedia:Nancy_Mairs dbpedia-owl:abstract ?abstract
OPTIONAL {
dbpedia:Nancy_Mairs dbpedia-owl:thumbnail ?thumbnail
}
}
如果要排除dbpedia:Nancy_Mairs
的重复,可以使用BIND
关键字:
SELECT * WHERE {
BIND(dbpedia:Nancy_Mairs AS ?topic)
?topic dbpedia-owl:abstract ?abstract
OPTIONAL {
?topic dbpedia-owl:thumbnail ?thumbnail
}
}