首页 文章

SPARQL endpoints 的子图上的联合SPARQL查询

提问于
浏览
0

我想问一下,如何在SPARQL endpoints 的子图上(而不是整个远程SPARQL endpoints )进行联合SPARQL查询 .

我在Virtuoso v7中获取了数据,而SPARQL endpoints 是“http://localhost:8890/sparql ", I'd like to do a remote query on a subgraph of this endpoint which is " 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 endpoints 的子图进行远程查询吗?

2)我可以为Virtuoso v7中的每个图形使用SPARQL endpoints 吗?

非常感谢你的帮助 .

1 回答

  • 0

    您可以使用图形而不是来自 .

    在你的例子中:

    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 endpoints (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 50
    

相关问题