我想问一下,如何在SPARQL端点(而不是整个远程SPARQL端点)的子图上执行联邦SPARQL查询。
当SPARQL端点是"http://localhost:8890/sparql“时,我在Virtuoso v7中获得了我的数据,我想对这个端点的子图"http://localhost:8890/TC”进行远程查询,并且我尝试了
SELECT *
WHERE
{ SERVICE <http://localhost:8890/sparql>
{ SELECT ?subject ?predicate ?object
FROM <http://localhost:8890/TC>
WHERE
{ ?subject ?predicate ?object }
}
} LIMIT 50我得到的错误是"FROM“用法不正确,所以我有两个问题:
1)我可以在SPARQL端点的子图上进行远程查询吗?
2)我可以为Virtuoso v7中的每个图使用SPARQL端点吗?
非常感谢你的帮助。
发布于 2018-02-06 22:04:44
您可以使用graph而不是from。
在您的示例中:
SELECT *
WHERE
{
SERVICE <http://localhost:8890/sparql>
{
SELECT ?subject ?predicate ?object
WHERE
{ graph <http://localhost:8890/TC> { ?subject ?predicate ?object } }
}
} LIMIT 50在与dbpedia (Virtuoso)联合时,我在Uniprot SPARQL端点(Virtuoso)中使用以下查询测试了此语法:
SELECT *
WHERE
{ SERVICE <http://dbpedia.org/sparql>
{select distinct ?activity where { graph <http://dbpedia.org> {?activity a <http://www.ontologydesignpatterns.org/ont/d0.owl#Activity>} } LIMIT 10
}
} LIMIT 50https://stackoverflow.com/questions/47019582
复制相似问题