【问题标题】:SPARQL query using multiple datasources使用多个数据源的 SPARQL 查询
【发布时间】:2016-02-07 23:18:08
【问题描述】:

我有我的默认图表,我需要使用 DBpedia 扩展数据。

我已使用 owl:sameAs 属性将我的数据中的所有实例与它们各自的来自 DBpedia 的 URI 映射。

此查询返回所有owl:sameAs 数据: (我的端点:http://dydra.com/brunopenteado/br_municipalities/@query

select * 
  where 
    { 
      ?mun owl:sameAs ?db .
    } 
  limit 10

现在我想使用我的数据从 DBpedia 查询 rdfs:label

如何构建一个查询来读取我的数据并扩展到 DBpedia 属性?

我尝试了这样的查询,但没有返回任何结果。

select * 
  from <http://dydra.com/brunopenteado/br_municipalities/sparql>
  from <http://pt.dbpedia.org/sparql>
where 
  { 
    ?mun owl:sameAs ?dbp .
    ?dbp rdfs:label ?name
  } 
limit 10

【问题讨论】:

    标签: sparql dbpedia linked-data


    【解决方案1】:

    FROM 不起作用,因为它用于识别当前数据源中的图表。您可以使用 SERVICE 关键字从单个查询访问多个 SPARQL 端点。

    select * 
    where 
    { 
       SERVICE <http://dydra.com/brunopenteado/br_municipalities/sparql>
       {
          ?mun owl:sameAs ?dbp .
          ?dbp rdfs:label ?name
       }
    
       SERVICE <http://pt.dbpedia.org/sparql>
       {
          ?mun owl:sameAs ?dbp .
          ?dbp rdfs:label ?name
       }
    }
    

    您可能希望将OPTIONAL 添加到您的服务查询中。更多信息可以阅读the specs

    【讨论】:

    • 感谢 Tomasz 的回答和参考!只是一个小问题:当我在 Dryad 上运行查询时,我必须进行以下调整:select * where { ?mun owl:sameAs ?dbp . SERVICE &lt;http://pt.dbpedia.org/sparql&gt; { ?dbp rdfs:label ?name } }
    猜你喜欢
    • 1970-01-01
    • 2013-05-21
    • 2016-12-24
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 2022-11-03
    相关资源
    最近更新 更多