正则表达式可以与 Wikipedia API 一起使用吗?
Can regular expressions be used with the Wikipedia API?
我必须在多个维基百科版本中进行大量查询才能找到 DBpedia 中没有的信息(例如,维基百科页面中的单词数)。从一个词,如"Paris",我想肯定地得到法国首都的维基百科页面,而不是安大略省巴黎的页面。因此,我不得不在查询中使用类别,如下所示:
问题:维基百科类别不一致。对我来说最理想的是能够将正则表达式用作类别,例如 "contain the word France".
我在 API 文档中搜索了几个小时,却无法理解如何执行此操作。欢迎任何帮助或建议。
您可以使用 insource:/\[\[Category:[^\]]{0,32}France]]/
这样的搜索表达式。 (example) See Help:CirrusSearch#Regular expression searches(通配符长度限制似乎是避免超时所必需的)。
另一种可能更适合您的用例的方法是使用维基数据查询服务。文本搜索功能有限(但听起来您并不真正需要它们)并且语法更复杂(SPARQL + 您需要了解维基数据有哪些 属性 约定)但您可以表达类似 "in France".
(将鼠标悬停在 Pxx/Qxx 事物上以获取信息。)
我必须在多个维基百科版本中进行大量查询才能找到 DBpedia 中没有的信息(例如,维基百科页面中的单词数)。从一个词,如"Paris",我想肯定地得到法国首都的维基百科页面,而不是安大略省巴黎的页面。因此,我不得不在查询中使用类别,如下所示:
问题:维基百科类别不一致。对我来说最理想的是能够将正则表达式用作类别,例如 "contain the word France".
我在 API 文档中搜索了几个小时,却无法理解如何执行此操作。欢迎任何帮助或建议。
您可以使用 insource:/\[\[Category:[^\]]{0,32}France]]/
这样的搜索表达式。 (example) See Help:CirrusSearch#Regular expression searches(通配符长度限制似乎是避免超时所必需的)。
另一种可能更适合您的用例的方法是使用维基数据查询服务。文本搜索功能有限(但听起来您并不真正需要它们)并且语法更复杂(SPARQL + 您需要了解维基数据有哪些 属性 约定)但您可以表达类似 "in France".
(将鼠标悬停在 Pxx/Qxx 事物上以获取信息。)