如何从Wikidata的项目中提取twitter id?

问题描述 投票:0回答:1

我在看 https:/www.wikidata.orgwikiQ181912. 有一节是 "TWitter用户名"(P2002),这里面还有 "Twitter用户数字ID"(P6552)。我如何去提取这个值?我已经尝试过

SELECT ?twitternameLabel ?twitteridLabel
WHERE 
{
  wd:Q181912 wdt:P2002 ?twittername .
  wd:Q181912 wdt:P3744 ?twitterid .
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}

但我没有得到任何结果。如果我去掉这一行 wd:Q181912 wdt:P3744 ?twitterid . 然后我得到正确的微博名称。我如何获得ID?

sparql wikidata
1个回答
2
投票

所以P3744是订阅者的数量。

在RDF中,你经常要对数据进行 "reify"。

在这种情况下,你有KLM公司(wd:Q181912),你想要他们的twitter句柄。然而,有两个这样的句柄,KLM和KLM_JP,每个都有不同的数字ID,分别是56377143和171410513。

如果你把这两个ID都直接连接到wd:Q181912,那么数据就会出现歧义,哪个ID指的是哪个twitter句柄,即KLM_JP是有56377143还是171410513?

为了您的目的,您需要查看不同命名空间下的属性,因此,请看以下内容 此处 以获取更多信息。

这里有一个有效的东西。

SELECT ?twitterid ?twittername
WHERE 
{
  wd:Q181912 p:P2002 ?twitterstatement .
  ?twitterstatement pq:P6552 ?twitterid ;
                    ps:P2002 ?twittername .

}
© www.soinside.com 2019 - 2024. All rights reserved.