Sparql Wikidata mwapi同时搜索多个术语

Sparql Wikidata mwapi同时搜索多个术语,sparql,wikidata,Sparql,Wikidata,可以同时搜索多个术语吗?在media wiki api中使用OR运算符,例如,如果我想搜索芝加哥或纽约市,请访问 下面是搜索刚芝加哥的例子,也是如何搜索准确的词?我不想“123芝加哥”被退回,我只想要“芝加哥” 多个术语:SELECT?item?itemLabel WHERE{VALUES?term{“Chicago”“Boston”}服务wikibase:mwapi{bd:serviceParam wikibase:endpoint“www.wikidata.org”;wikibase:api

可以同时搜索多个术语吗?在media wiki api中使用OR运算符,例如,如果我想搜索芝加哥或纽约市,请访问

下面是搜索刚芝加哥的例子,也是如何搜索准确的词?我不想“123芝加哥”被退回,我只想要“芝加哥”


多个术语:
SELECT?item?itemLabel WHERE{VALUES?term{“Chicago”“Boston”}服务wikibase:mwapi{bd:serviceParam wikibase:endpoint“www.wikidata.org”;wikibase:api“EntitySearch”;mwapi:search?term;mwapi:language“en”。?item wikibase:apiOutputItem mwapi:item.}服务wikibase:label{bd:serviceParam wikibase:language“en”}
为了精确匹配,只使用标准SPARQL是不是更好?
SELECT?item?itemLabel其中{VALUES?term{Chicago“@en”Boston“@en}?item rdfs:label | skos:altLabel?term服务wikibase:label{bd:serviceParam wikibase:language“en”}
@UninformedUser非常感谢,多个术语都能很好地工作。为了精确匹配,在wikidata中直接搜索标签的速度非常慢,根据他们的sparql优化技巧,他们建议使用mwapi更快@UninformedUser我正在尝试改进这种查询,这种查询大约需要20秒
SELECT DISTINCT?ent?wdtProperty?val?valLabel其中{val wdt:P31 | wdt:P106[rdfs:label | skos:altLabel'newister'@en]?ent rdfs:label | skos:altLabel“Chicago”@en.?wdProperty2 rdfs:label | skos:altLabel“出生地”@en;wikibase:directClaim?wdtProperty2.?val?wdtProperty2?ent.可选{val rdfs:label?valLabel?valLabel过滤器(?valLabel)=“en”)}LIMIT 10
为什么要添加四个级别的间接寻址?难怪它不起作用。查询接口中集成了数百个示例,所以我真的不明白你从哪里学到了你的卷积方案。
SELECT ?item ?itemLabel WHERE {
 SERVICE wikibase:mwapi {
   bd:serviceParam wikibase:endpoint "www.wikidata.org";
   wikibase:api "EntitySearch";
   mwapi:search "Chicago"; 
   mwapi:language "en".
   ?item wikibase:apiOutputItem mwapi:item.
 }
  
 SERVICE wikibase:label {bd:serviceParam wikibase:language "en".}
}