似乎本机 Wikidata 搜索在解释用户条目时应用了一些“模糊逻辑”。在您的情况下,它显示了两个结果,尽管C
第一个中缺少该字符。
回到 API和您选择的操作,您可以将Jas 39 Gripen
其用作搜索词(将显示一个结果)以及Jas 39C Gripen
(也将显示一个结果)。但似乎你不能使用(注意和Jas 39 C Gripen
之间的空格字符)。9
C
换句话说,
https://www.wikidata.org/w/api.php?action=wbsearchentities&format=json&language=en&type=item&continue=0&search=Jas%2039%20Gripen
https://www.wikidata.org/w/api.php?action=wbsearchentities&format=json&language=en&type=item&continue=0&search=Jas%2039C%20Gripen
两者都有效,但是
https://www.wikidata.org/w/api.php?action=wbsearchentities&format=json&language=en&type=item&continue=0&search=Jas%2039%20C%20Gripen
才不是。
我进一步调查了这个问题,终于找到了解决方案。试试这个:
https://www.wikidata.org/w/api.php?action=query&list=search&format=json&srsearch=Jas+39+C+Gripen
该操作query
允许在搜索词中出现一些“模糊性”。有关详细信息,请参阅 API 文档。简而言之,此操作执行全文搜索(您显然想要)并允许nearmatch
搜索类型。