Database wikidata获取带有项目标签和值的所有属性

Database wikidata获取带有项目标签和值的所有属性,database,sparql,wikidata,Database,Sparql,Wikidata,我的问题是如何从wikidata(最好是通过SPARQL)中提取网页上呈现的所有属性及其各自的标签 以wikidata上的条目为例。对于财产P414(证券交易所)或P159,有类似P969(位于街道地址)的子财产。它们实际上在您wbgetentities作为限定符时显示。wbgetentities的问题是缺少标签。我通过以下SPARQL查询获得所需的输出(例如,wdt:P17=>country=>United of America): SELECT ?prop_id ?prop_label ?p

我的问题是如何从wikidata(最好是通过SPARQL)中提取网页上呈现的所有属性及其各自的标签

以wikidata上的条目为例。对于财产P414(证券交易所)或P159,有类似P969(位于街道地址)的子财产。它们实际上在您
wbgetentities
作为限定符时显示。wbgetentities的问题是缺少标签。我通过以下SPARQL查询获得所需的输出(例如,
wdt:P17=>country=>United of America
):

SELECT ?prop_id ?prop_label ?prop_val_label WHERE {
  VALUES (?company) {
    (wd:Q95)
  }
  ?company ?prop_id ?company_item.
  ?wd wikibase:directClaim ?prop_id.
  ?wd rdfs:label ?prop_label.
  OPTIONAL {
    ?company_item rdfs:label ?prop_val.
    FILTER((LANG(?prop_val)) = "en")
  }
  BIND(COALESCE(?prop_val, ?companyItem) AS ?prop_val_label)
  FILTER((LANG(?prop_label)) = "en")
}
但这些“子项目”之所以缺失,是因为它们没有直接索赔。要提取单个语句限定符,我可以执行以下操作:

SELECT ?company ?hq ?country WHERE {
  wd:Q95 p:P159 ?company.
  OPTIONAL {
    ?company ps:P159 ?hq.
    ?company pq:P17 ?country. 
  }
}

但问题是,是否有办法将所有内容合并到一个查询中?

Wikidata数据模型上的有用链接:

您的查询应为以下类型:

SELECT ?wdLabel ?ps_Label ?wdpqLabel ?pq_Label {
  VALUES (?company) {(wd:Q95)}

  ?company ?p ?statement .
  ?statement ?ps ?ps_ .

  ?wd wikibase:claim ?p.
  ?wd wikibase:statementProperty ?ps.

  OPTIONAL {
  ?statement ?pq ?pq_ .
  ?wdpq wikibase:qualifier ?pq .
  }

  SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
} ORDER BY ?wd ?statement ?ps_

结果中只包含限定符及其值。既不包括出处参考也不包括值注释(例如时间精度)。如果需要添加,请写一条评论