我必须在几个维基百科版本中进行大量查询,以查找不在DBpedia中的信息(例如,维基百科页面中的单词数量)。从一个词,如“巴黎”,我想肯定的是法国首都的维基百科页面,而不是安大略省巴黎的页面。因此,我不得不在我的查询中使用这些类别,如下所示:
问题:维基百科类别不一致。对我来说理想的是能够用作正则表达式的类别,比如“包含法语”这个词。
我在API文档中搜索了几个小时,但却无法理解如何执行此操作。欢迎任何帮助或建议。
答案 0 :(得分:1)
您可以使用insource:/\[\[Category:[^\]]{0,32}France]]/
之类的搜索表达式。 (example)请参阅Help:CirrusSearch#Regular expression searches(通配符长度限制似乎是避免超时的必要条件)。
答案 1 :(得分:1)
另一种可能更适合您的用例的方法是使用维基数据查询服务。文本搜索功能是有限的(但听起来并不像你实际需要它们)并且语法更复杂(SPARQL +你需要知道维基数据具有哪些属性约定)但你可以表达类似于" in法国"
(将鼠标悬停在Pxx / Qxx上以获取信息。)