在 sparql 查询中使用联合
use union in sparql query
我在 2 个 DBpedia 资源之间得到了这个 SPARQL 查询:法国和阿尔斯通
select * where{
<http://dbpedia.org/resource/France> ?pre ?obj.
?obj ?pre1 <http://dbpedia.org/resource/Alstom>
}
而且 returns 没什么
但是如果我这样颠倒主宾:
select * where{
<http://dbpedia.org/resource/Alstom> ?pre ?obj.
?obj ?pre1 <http://dbpedia.org/resource/France>
}
查询 returns 一些结果..
有什么方法可以使用 UNION 合并这两个查询吗?
根据您的评论,您只需要使用以下语法的简单联合:
prefix dbpedia: <http://dbpedia.org/resource/>
select * where{
{
dbpedia:France ?pre ?obj.
?obj ?pre1 dbpedia:Alstom.
}
Union {
dbpedia:Alstom ?pre ?obj.
?obj ?pre1 dbpedia:France
}
}
我在 2 个 DBpedia 资源之间得到了这个 SPARQL 查询:法国和阿尔斯通
select * where{
<http://dbpedia.org/resource/France> ?pre ?obj.
?obj ?pre1 <http://dbpedia.org/resource/Alstom>
}
而且 returns 没什么
但是如果我这样颠倒主宾:
select * where{
<http://dbpedia.org/resource/Alstom> ?pre ?obj.
?obj ?pre1 <http://dbpedia.org/resource/France>
}
查询 returns 一些结果..
有什么方法可以使用 UNION 合并这两个查询吗?
根据您的评论,您只需要使用以下语法的简单联合:
prefix dbpedia: <http://dbpedia.org/resource/>
select * where{
{
dbpedia:France ?pre ?obj.
?obj ?pre1 dbpedia:Alstom.
}
Union {
dbpedia:Alstom ?pre ?obj.
?obj ?pre1 dbpedia:France
}
}