我想编写一个查询来获取关于与电影相关的实体的三元组。这是查询条件:在SPARQL中使用OPTIONAL和UNION
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX : <http://dbpedia.org/resource/>
SELECT DISTINCT ?s1 WHERE {
SERVICE <http://dbpedia.org/sparql/> {
?film ?p ?o
FILTER (?film = :Braveheart) .
OPTIONAL {
{
{
{?o ?p2 ?o2 .}
OPTIONAL {
{?o2 ?p21 ?o21}
UNION
{?s21 ?p22 ?o2}
}
}
UNION
{?s1 ?p3 ?o}
}
}
}
}
此查询不提取结果。但是,评论部分
OPTIONAL {
{?o2 ?p21 ?o21}
UNION
{?s21 ?p22 ?o2}
}
生成结果。我想了解为什么OPTIONAL
子句阻止生成结果以及我如何解决问题。
在使用Virtu的Web界面中有超时oso随时随地的功能。 – AKSW