【问题标题】:Wikidata - Is this query possible?Wikidata - 这个查询可能吗?
【发布时间】:2015-05-01 10:40:20
【问题描述】:

我想在 WikiData 上查询所有项目,这些项目以某种方式连接到另一个项目。

例如,我有项目“Vienna”(Q1741)。现在我想获取所有在 any 属性中具有 Item Vienna 的项目。

我目前使用的 API 来自 wmflabs。在这里我可以做一个类似的查询

claim[189:1741]

这给了我所有具有属性“发现地”(P189)=“维也纳”(Q1741)的项目。

但我想要的是类似的东西

claim[*:1741]

获取任何属性适合“维也纳”的所有项目,例如“出生地”(P19)、“死亡地”(P20) 或任何东西。但是通配符在这里不起作用。

这可能吗?怎么样?


PS:我没有绑定到这个 API,我可以使用任何 API 来访问通过 JS 访问的 wikidata。还有一些可用的 Wikidata-Dump 的 SparQL 端点(如wikidataldf),但我不知道它们有多稳定。但是,如果有人可以使用 SPARQL 提供解决方案,我也会很高兴。

【问题讨论】:

    标签: sparql rdf semantic-web wikidata wikidata-api


    【解决方案1】:

    您可以使用 sparql 查询 Dbpedia 来获取特定资源的结果,这里是 Vienna。 要获得维也纳使用的所有财产及其资源价值,可以使用

    select ?property ?value where { 
    <http://dbpedia.org/resource/Vienna> ?property ?value
     }
    

    Check here 您可以像这样使用 sparql 查询来选择资源的特定属性。

    select ?country ?density ?timezone ?thumbnail where { 
    <http://dbpedia.org/resource/Vienna> dbpedia-owl:country ?country;
     dbpedia-owl:populationDensity ?density;
    dbpedia-owl:timeZone ?timezone;
    dbpedia-owl:thumbnail ?thumbnail.
    }
    

    Check

    【讨论】:

      【解决方案2】:

      可能是这样的:

      SELECT ?node WHERE {?node ?pred wd:Q1741} 
      

      Wikidata Query Service

      【讨论】:

        【解决方案3】:

        但我想要的是……获得任何属性适合“维也纳”的所有项目[.]

        在 SPARQL 中,这很容易。例如,DBpedia's SPARQL endpoint:

        select ?resource where {
          ?resource ?property dbpedia:Vienna 
        }
        

        SPARQL results (limited to 100)

        【讨论】:

          【解决方案4】:

          已有一些可用于 Wikidata 的 SPARQL 端点。但是,它们仍处于测试阶段,仅反映上次转储中的数据。

          您的查询将是this one

          另见this help page on Wikidata

          【讨论】:

            猜你喜欢
            • 2011-04-07
            • 2011-05-12
            • 1970-01-01
            • 2023-03-07
            • 1970-01-01
            • 2012-04-19
            • 1970-01-01
            • 1970-01-01
            • 2019-02-24
            相关资源
            最近更新 更多