Wikidata文本缓存

class WikidataTextCache[source]

基础类: TextCache

用于针对Wikidata的SPARQL端点的请求的缓存。

初始化缓存。

属性摘要

HEADERS

WIKIDATA_ENDPOINT

Wikidata SPARQL 端点。

方法总结

get_descriptions(wikidata_identifiers)

获取给定ID的实体描述。

get_labels(wikidata_identifiers)

获取给定ID的实体标签。

get_texts(identifiers)

获取每个Wikidata标识符的标题和描述的连接。

query(sparql, wikidata_ids[, batch_size, ...])

为给定的ID执行批量SPARQL查询。

query_text(wikidata_ids[, 语言, 批量大小])

查询SPARQL端点以获取给定ID的信息。

verify_ids(ids)

如果遇到无效的ID,则引发错误。

属性文档

HEADERS: dict[str, str] = {'Accept-Encoding': 'gzip', 'User-Agent': 'PyKEEN-Bot/1.11.0 (https://pykeen.github.io; pykeen2019@gmail.com) requests/2.32.3'}
WIKIDATA_ENDPOINT = 'https://query.wikidata.org/bigdata/namespace/wdq/sparql'

Wikidata SPARQL 端点。参见 https://www.wikidata.org/wiki/Wikidata:SPARQL_query_service#Interfacing

方法文档

get_descriptions(wikidata_identifiers: Sequence[str]) Sequence[str][source]

获取给定ID的实体描述。

Parameters:

wikidata_identifiers (Sequence[str]) – Wikidata标识符,每个标识符以Q开头(例如,['Q42']

Returns:

每个Wikidata实体的描述

Return type:

Sequence[str]

get_labels(wikidata_identifiers: Sequence[str]) Sequence[str][source]

获取给定ID的实体标签。

Parameters:

wikidata_identifiers (Sequence[str]) – Wikidata标识符,每个标识符以Q开头(例如,['Q42']

Returns:

每个Wikidata实体的标签

Return type:

Sequence[str]

get_texts(identifiers: Sequence[str]) Sequence[str][source]

获取每个Wikidata标识符的标题和描述的连接。

Parameters:

标识符 (Sequence[str]) – Wikidata标识符,每个以Q开头(例如,['Q42']

Returns:

每个Wikidata实体的标签和描述连接在一起

Return type:

Sequence[str]

classmethod query(sparql: str | Callable[[...], str], wikidata_ids: Sequence[str], batch_size: int = 256, timeout=None) Iterable[Mapping[str, Any]][来源]

为给定的ID执行批量SPARQL查询。

Parameters:
  • sparql (str | Callable[[...], str]) – 带有占位符 ids 的 SPARQL 查询

  • wikidata_ids (Sequence[str]) – Wikidata ID

  • batch_size (int) – 批量大小,即每次查询的最大ID数量

  • timeout – 向SPARQL端点发送GET请求的超时时间

Returns:

一个可迭代的JSON结果,其中键对应于查询变量,值对应于相应的绑定

Return type:

Iterable[Mapping[str, Any]]

classmethod query_text(wikidata_ids: Sequence[str], language: str = 'en', batch_size: int = 256) Mapping[str, Mapping[str, str]][source]

查询SPARQL端点以获取给定ID的信息。

Parameters:
  • wikidata_ids (Sequence[str]) – Wikidata ID

  • 语言 (str) – 标签语言

  • batch_size (int) – 批量大小;如果提供了更多的ID,将大请求分解为多个较小的请求

Returns:

从Wikidata Ids到包含实体标签和描述的字典的映射

Return type:

Mapping[str, Mapping[str, str]]

static verify_ids(ids: Sequence[str])[来源]

如果遇到无效的ID,则引发错误。

Parameters:

ids (Sequence[str]) – 要验证的ids

Raises:

ValueError – 如果遇到任何无效的ID