</> Cómo funciona
Cruce diccionario↔refranario: refranes que contienen la palabra (por su lema). Una palabra del diccionario y los refranes donde aparece — puente hacia el grafo.
| parámetro | tipo | por defecto | qué hace |
|---|---|---|---|
palabra | string | — (obligatorio) | la palabra |
commons/diccionario.py — un solo módulo con la búsqueda base _mvs() y las funciones de cada endpoint (definición, ejemplo, relacionadas, colocaciones, traducción, audio, registros, refranes)._mvs() y encima aplican su especialidad. Por eso son una sola página.flowchart TD
MOD[("repositorio")]
refranes["refranes()"]
refranes -. datos .-> MOD
classDef red fill:#fde7f0,stroke:#c0397b,color:#7a1e4d;
class MOD red;# -*- coding: utf-8 -*-
"""diccionario.py — diccionario semántico: una red de asociación de palabras.
Toda consulta LEMATIZA primero la palabra y busca por el LEMA (no por la forma
concreta), sobre la unidad léxica y sus explicaciones. Se apoya en el Índice de
Contiguidad (palabras del mismo campo semántico están "cerca").
Un solo módulo da servicio a varios endpoints del diccionario: definición, ejemplo,
palabras relacionadas, colocaciones, traducción, audio, clasificación de una frase
y el cruce con los refranes. Todos comparten la misma búsqueda base por lema.
"""
import urllib.parse as _url
_IMG_BASE = "https://diccionario.wordkers.es/media/img/"
_AUDIO_BASE = "https://diccionario.wordkers.es/audio/"
# […consultas al repositorio del diccionario + tabla de idiomas (esquema interno)…]
def refranes(cur, palabra):
"""CRUCE diccionario → refranero: refranes que contienen la palabra (por su lema).
Es el puente hacia el grafo: una palabra y los refranes donde aparece."""
cur.execute(_SQL_REFRANES, (palabra,))
return {"palabra": palabra,
"refranes": [{"id": x[0], "refran": x[1], "significado": x[2]} for x in cur.fetchall()]}
Llámala con el código a la vista.
curl "https://api.wordkers.com/v1/diccionario/refranes?palabra=casa" \
-H "X-API-Key: TU_CLAVE"