维基数据全文搜索

2024-05-20 00:00:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经下载并过滤了最新的Wikidata转储文件,以便它只包含人,并且它是一个.json.bz2文件,我计划使用BZ2File接口处理它。我想将该文件用作知识库,我想使用Python对其运行一些查询,因为查询量将很高,我不想依赖API的限制,因为API经常超时

在Wikidata查询服务中,此查询仅起作用

SELECT ?item WHERE {
  SERVICE wikibase:mwapi {
      bd:serviceParam wikibase:api "EntitySearch" .
      bd:serviceParam wikibase:endpoint "www.wikidata.org" .
      bd:serviceParam mwapi:search "1949" .
      bd:serviceParam mwapi:language "en" .
      ?item wikibase:apiOutputItem mwapi:item .
      ?num wikibase:apiOrdinal true .
  }
} ORDER BY ASC(?num) LIMIT 10

但是这个

SELECT ?item WHERE {
  SERVICE wikibase:mwapi {
      bd:serviceParam wikibase:api "EntitySearch" .
      bd:serviceParam wikibase:endpoint "www.wikidata.org" .
      bd:serviceParam mwapi:search "1949 footballer" .
      bd:serviceParam mwapi:language "en" .
      ?item wikibase:apiOutputItem mwapi:item .
      ?num wikibase:apiOrdinal true .
  }
} ORDER BY ASC(?num) LIMIT 10

不返回任何结果,此

SELECT ?item WHERE {
  SERVICE wikibase:mwapi {
      bd:serviceParam wikibase:api "EntitySearch" .
      bd:serviceParam wikibase:endpoint "www.wikidata.org" .
      bd:serviceParam mwapi:search "1949" && "footballer" .
      bd:serviceParam mwapi:language "en" .
      ?item wikibase:apiOutputItem mwapi:item .
      ?num wikibase:apiOrdinal true .
  }
} ORDER BY ASC(?num) LIMIT 10

为&&;接线员

是否可以将上述内容修改为针对本地文件运行?有免费的全文搜索吗?如果没有,是否有其他知识库允许这种类型的搜索


Tags: 文件apiparamwwwserviceitemwhereselect