gpt4 book ai didi

sparql - Wikidata api如何根据维基百科页面id获取一些属性

转载 作者:行者123 更新时间:2023-12-01 02:44:55 28 4
gpt4 key购买 nike

所以我有这个页面 ID 12517871:https://fr.wikipedia.org/wiki?curid=12517871

我想从这里的底部获取标识符 https://www.wikidata.org/wiki/Q64007200

使用 sparql,但我不知道该怎么做。

我知道我必须使用类似的东西

    SELECT ?sitelink ?itemLabel ?sitelinkLabel ?article ?cid WHERE {
?sitelink schema:isPartOf <https://fr.wikipedia.org/>.
}

但是我不知道如何按页面 ID 搜索以及如何获取标识符(imdb、allocine ..)

谢谢

编辑:我正在使用这个查询 https://w.wiki/GD5但它随机返回任何内容。要测试这种随机性,请更改“限制”上的数字

SELECT ?propertyclaim ?value ?item WHERE {
hint:Query hint:optimizer "None" .
SERVICE wikibase:mwapi {
bd:serviceParam wikibase:endpoint "fr.wikipedia.org" .
bd:serviceParam wikibase:api "Generator" .
bd:serviceParam mwapi:generator "revisions" .
bd:serviceParam mwapi:pageids "12148688" .
?item_ wikibase:apiOutputItem mwapi:item .
bd:serviceParam wikibase:limit 3
}
BIND (COALESCE(?item_, " ") AS ?item)
?item ?propertyclaim ?value .
?property wikibase:directClaim ?propertyclaim .
?property wikibase:propertyType wikibase:ExternalId .
SERVICE wikibase:label { bd:serviceParam wikibase:language "fr,en". }}

最佳答案

因为您有一个 pageid 而不是一个文章标题,这使得查询有点麻烦。

您需要使用 Mediawiki API Service从 SPARQL 调用 Mediawiki API 以获取维基百科页面 ID 的维基数据项目 ID。

获得项目 ID 后,您可以查询该项目的所有外部标识符。总之,查询看起来像这样:

SELECT ?propertyLabel ?value WHERE {
SERVICE wikibase:mwapi {
bd:serviceParam wikibase:endpoint "fr.wikipedia.org" .
bd:serviceParam wikibase:api "Generator" .
bd:serviceParam mwapi:generator "revisions" .
bd:serviceParam mwapi:pageids "12517871" .
?item wikibase:apiOutputItem mwapi:item .
}
?property wikibase:propertyType wikibase:ExternalId .
?property wikibase:directClaim ?propertyclaim .
?item ?propertyclaim ?value
SERVICE wikibase:label { bd:serviceParam wikibase:language "fr,en". }
}

关于sparql - Wikidata api如何根据维基百科页面id获取一些属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59900180/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com