Módulo:Wikidata/Formatos educación
Uso
En este módulo se definen algunos de los tipos de datos de la plantilla {{propiedad}}
o equivalentemente de las funciones permitidas para el parámetro valor-función del módulo:Wikidata.
educado en
<section begin=Wikidata_educado_en_texto />
- uso desde la plantilla propiedad
{{Propiedad|id. de la propiedad|tipo de dato=educado en|parámetros opcionales}}
Tipo de dato para la propiedad «Error de Lua: Error interno: El intérprete ha finalizado con la señal "-129". (P69)». Se muestra el lugar en el que se ha educado y entre paréntesis el grado académico, la especialidad y el periodo. Calificativos:
- Error de Lua: Error interno: El intérprete ha finalizado con la señal "-129". (p512): Error de Lua: Error interno: El intérprete ha finalizado con la señal "-129".
- Error de Lua: Error interno: El intérprete ha finalizado con la señal "-129". (p812): Error de Lua: Error interno: El intérprete ha finalizado con la señal "-129".
- Error de Lua: Error interno: El intérprete ha finalizado con la señal "-129". (p580): Error de Lua: Error interno: El intérprete ha finalizado con la señal "-129".
- Error de Lua: Error interno: El intérprete ha finalizado con la señal "-129". (p582): Error de Lua: Error interno: El intérprete ha finalizado con la señal "-129".
Para la lista de los parámetros posibles véase la plantilla {{propiedad}}
o el módulo:Wikidata si se accede desde un módulo Lua.
Pueden verse ejemplos de utilización en la página de pruebas del módulo. <section end=Wikidata_educado_en_texto />
Error de secuencia de órdenes: Error de Lua: Error interno: El intérprete ha finalizado con la señal "-129".
local p = {} -- Funciones de otros módulos local moduloTablas = require('Módulo:Tablas') local elementoTabla = moduloTablas.elemento local moduloWikidata = require('Módulo:Wikidata') local formatoIdEntidadWikidata = moduloWikidata.formatoIdEntidad local moduloWikidataFormatos = require('Módulo:Wikidata/Formatos') local enlazar = moduloWikidataFormatos.enlazar local obtenerDatos = moduloWikidataFormatos.obtenerDatos local formatoPeriodoWikidata = moduloWikidataFormatos.formatoPeriodo local grados = { ['Q163727'] = {abreviatura = 'Grado', enlace = 'Título de grado'}, -- Bachelor ['Q1765120'] = {abreviatura = 'B.A.', enlace = 'Bachelor of Arts'}, ['Q2878277'] = {abreviatura = 'B.F.A.', enlace = 'Bachelor of Fine Arts'}, ['Q798137'] = {abreviatura = 'B.L.', enlace = 'Bachelor of Laws'}, ['Q787674'] = {abreviatura = 'B.S.', enlace = 'Bachelor of Science'}, ['Q749020'] = {abreviatura = 'Lic.', enlace = 'Licenciatura'}, ['Q691532'] = {abreviatura = 'Lic. en Derecho', enlace = 'Licenciatura en Derecho'}, ['Q183816'] = {abreviatura = 'Maestría', enlace = 'Maestría'}, ['Q2091008'] = {abreviatura = 'M.A.', enlace = 'Master of Arts'}, ['Q191701'] = {abreviatura = 'M.B.A.', enlace = 'Maestría en Administración de Empresas'}, ['Q4175466'] = {abreviatura = 'M.F.A.', enlace = 'Máster en Bellas Artes'}, ['Q950900'] = {abreviatura = 'M.S.', enlace = 'Master of Science'}, ['Q849697'] = {abreviatura = 'Doc.', enlace = 'Doctorado'}, ['Q4618975'] = {abreviatura = 'Doc.', enlace = 'Doctorado'}, -- doctor ['Q3033550'] = {abreviatura = 'Doc.', enlace = 'Doctorado (Francia)'}, ['Q959320'] = {abreviatura = 'Doc. of Law', enlace = 'Doctor of Law'}, ['Q1540185'] = {abreviatura = 'J.D.', enlace = 'Juris Doctor'}, ['Q6518699'] = {abreviatura = 'L.L.D.', enlace = 'LLD'}, ['Q913404'] = {abreviatura = 'M.D.', enlace = 'Doctor en Medicina'}, ['Q752297'] = {abreviatura = 'Ph.D.',enlace = 'Philosophiæ doctor'}, } local especialidades = { ['Q222749'] = {etiqueta = 'Actuación', enlace = 'Actuación'}, ['Q12271'] = {etiqueta = 'Arquitectura', enlace = 'Arquitectura'}, ['Q21198'] = {etiqueta = 'Ciencias de la Computación', enlace = 'Ciencias de la computación'}, ['Q7748'] = {etiqueta = 'Derecho', enlace = 'Derecho'}, ['Q4932206'] = {etiqueta = 'Jurisprudencia', enlace = 'Ciencia del derecho'}, ['Q382995'] = {etiqueta = 'Ciencias del Derecho', enlace = 'Ciencias del derecho'}, ['Q8134'] = {etiqueta = 'Ciencias Económicas', enlace = 'Ciencia económica'}, ['Q5891'] = {etiqueta = 'Filosofía', enlace = 'Filosofía'}, ['Q413'] = {etiqueta = 'Física', enlace = 'Física'}, ['Q309'] = {etiqueta = 'Historia', enlace = 'Historia'}, ['Q395'] = {etiqueta = 'Matemáticas', enlace = 'Matemáticas'}, ['Q11190'] = {etiqueta = 'Medicina', enlace = 'Medicina'}, ['Q11030'] = {etiqueta = 'Periodismo', enlace = 'Periodismo'}, ['Q36442'] = {etiqueta = 'Ciencias Políticas', enlace = 'Ciencia política'}, ['Q9418'] = {etiqueta = 'Psicología', enlace = 'Psicología'}, ['Q2329'] = {etiqueta = 'Química', enlace = 'Química'}, ['Q21201'] = {etiqueta = 'Sociología', enlace = 'Sociología'}, ['Q34178'] = {etiqueta = 'Teología', enlace = 'Teología'}, } function p.formatoEducadoEn(valor, opciones, frame, calificativos) -- Función que devuelve para un lugar de educación, por ejemplo Universidad Harvard. -- -- Funciones internas -- function obtenerGrado(idGrado, opciones) if not idGrado then return end local grado = grados[idGrado] if grado then return enlazar(grado.enlace, grado.abreviatura, idGrado,opciones) else -- En el caso de que el grado no sea uno de los grados de la tabla interna return formatoIdEntidadWikidata(idGrado, opciones) end end function obtenerEspecializacion(idEspecialidad, opciones) if not idEspecialidad then return end local especialidad = especialidades[idEspecialidad] if especialidad then return enlazar(especialidad.enlace, especialidad.etiqueta, idEspecialidad,opciones) else -- En el caso de que la especialidad no sea uno de las especialidades de la tabla interna return formatoIdEntidadWikidata(idEspecialidad, opciones) end -- A medias return formatoIdEntidadWikidata(idEspecialidad, opciones) end -- Variables if not valor then return end -- Obtener los datos local enlaceLugarEducacion, etiquetaLugarEducacion, idEntidadLugarEducacion = obtenerDatos(valor) local lugarEducacion = enlazar(enlaceLugarEducacion, etiquetaLugarEducacion, idEntidadLugarEducacion,opciones) if not lugarEducacion then return end -- Grados local grado local declaracionGrados = elementoTabla(calificativos,'P512') if declaracionGrados then local grados = {} local idGrado for k, v in pairs(declaracionGrados) do idGrado = elementoTabla(v,'datavalue','value','id') if idGrado then table.insert(grados, obtenerGrado(idGrado, opciones)) end end grado = mw.text.listToText( grados, ', ', ' y ' ) end -- Especialización local especializacion local declaracionEspecializaciones = elementoTabla(calificativos,'P812') if declaracionEspecializaciones then local especializaciones = {} local idEspecializacion for k, v in pairs(declaracionEspecializaciones) do idEspecializacion = elementoTabla(v,'datavalue','value','id') if idEspecializacion then table.insert(especializaciones, obtenerEspecializacion(idEspecializacion, opciones)) end end especializacion = mw.text.listToText( especializaciones, ', ', ' y ' ) end -- Añadir al grado la especialización local gradoEspecializacion if grado and especializacion then gradoEspecializacion = grado .. ' en ' .. especializacion else gradoEspecializacion = grado or especializacion end local periodo = formatoPeriodoWikidata(calificativos, opciones) -- Casos -- if gradoEspecializacion and periodo then return lugarEducacion .. ' <small>(' .. gradoEspecializacion .. '; ' .. periodo .. ')</small>' elseif gradoEspecializacion then return lugarEducacion .. ' <small>(' .. gradoEspecializacion .. ')</small>' elseif periodo then return lugarEducacion .. ' <small>(' .. periodo .. ')</small>' else return lugarEducacion end --if true then return require('Módulo:Tablas').tostring(calificativos) end -- Pruebas end -- Alias para simplificar el uso desde la plantilla propiedad -- p['educado en'] = p.formatoEducadoEn return p