Ir al contenido

Módulo:Wikidata/Formatos educación

De Wikipedia, la enciclopedia libre

Uso

En este módulo se definen algunos de lostipos de datosde la plantilla{{propiedad}}o equivalentemente de las funciones permitidas para el parámetrovalor-funcióndelmódulo:Wikidata.

educado en

uso desde la plantilla propiedad
{{Propiedad|id. de la propiedad|tipo de dato=educado en|parámetros opcionales}}

Tipo de dato para la propiedad «educado en(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:

    • grado académico(p512): distinción dada por alguna institución educativa
    • especialización académica(p812): especialización estudiada en un centro de educación
    • fecha de inicio(p580): fecha en que una aseveración comienza a ser válida
    • fecha de fin(p582): fecha en que un elemento deja de existir o en que una afirmación deja de ser válida

Para la lista de los parámetros posibles véase la plantilla{{propiedad}}o elmódulo:Wikidatasi se accede desde un módulo Lua.

Pueden verse ejemplos de utilización en lapágina de pruebasdel módulo.



localp={}

-- Funciones de otros módulos
localmoduloTablas=require('Módulo:Tablas')
localelementoTabla=moduloTablas.elemento
localmoduloWikidata=require('Módulo:Wikidata')
localformatoIdEntidadWikidata=moduloWikidata.formatoIdEntidad
localmoduloWikidataFormatos=require('Módulo:Wikidata/Formatos')
localenlazar=moduloWikidataFormatos.enlazar
localobtenerDatos=moduloWikidataFormatos.obtenerDatos
localformatoPeriodoWikidata=moduloWikidataFormatos.formatoPeriodo

localgrados={
['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'},
}

localespecialidades={
['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'},
}

functionp.formatoEducadoEn(valor,opciones,frame,calificativos)
-- Función que devuelve para un lugar de educación, por ejemplo Universidad Harvard.

--
-- Funciones internas
--

functionobtenerGrado(idGrado,opciones)
ifnotidGradothen
return
end

localgrado=grados[idGrado]

ifgradothen
returnenlazar(grado.enlace,grado.abreviatura,idGrado,opciones)
else
-- En el caso de que el grado no sea uno de los grados de la tabla interna
returnformatoIdEntidadWikidata(idGrado,opciones)
end
end

functionobtenerEspecializacion(idEspecialidad,opciones)
ifnotidEspecialidadthen
return
end

localespecialidad=especialidades[idEspecialidad]

ifespecialidadthen
returnenlazar(especialidad.enlace,especialidad.etiqueta,idEspecialidad,opciones)
else
-- En el caso de que la especialidad no sea uno de las especialidades de la tabla interna
returnformatoIdEntidadWikidata(idEspecialidad,opciones)
end

-- A medias
returnformatoIdEntidadWikidata(idEspecialidad,opciones)
end

-- Variables
ifnotvalorthen
return
end

-- Obtener los datos

localenlaceLugarEducacion,etiquetaLugarEducacion,idEntidadLugarEducacion=obtenerDatos(valor)
locallugarEducacion=enlazar(enlaceLugarEducacion,etiquetaLugarEducacion,idEntidadLugarEducacion,opciones)

ifnotlugarEducacionthen
return
end

-- Grados
localgrado
localdeclaracionGrados=elementoTabla(calificativos,'P512')

ifdeclaracionGradosthen
localgrados={}
localidGrado

fork,vinpairs(declaracionGrados)do
idGrado=elementoTabla(v,'datavalue','value','id')

ifidGradothen
table.insert(grados,obtenerGrado(idGrado,opciones))
end
end

grado=mw.text.listToText(grados,', ',' y ')
end

-- Especialización
localespecializacion
localdeclaracionEspecializaciones=elementoTabla(calificativos,'P812')

ifdeclaracionEspecializacionesthen
localespecializaciones={}
localidEspecializacion

fork,vinpairs(declaracionEspecializaciones)do
idEspecializacion=elementoTabla(v,'datavalue','value','id')

ifidEspecializacionthen
table.insert(especializaciones,obtenerEspecializacion(idEspecializacion,opciones))
end
end

especializacion=mw.text.listToText(especializaciones,', ',' y ')
end

-- Añadir al grado la especialización
localgradoEspecializacion
ifgradoandespecializacionthen
gradoEspecializacion=grado..' en '..especializacion
else
gradoEspecializacion=gradoorespecializacion
end

localperiodo=formatoPeriodoWikidata(calificativos,opciones)

-- Casos
--

ifgradoEspecializacionandperiodothen
returnlugarEducacion..'&nbsp;<small>('..gradoEspecializacion..'; '..periodo..')</small>'
elseifgradoEspecializacionthen
returnlugarEducacion..'&nbsp;<small>('..gradoEspecializacion..')</small>'
elseifperiodothen
returnlugarEducacion..'&nbsp;<small>('..periodo..')</small>'
else
returnlugarEducacion
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

returnp