Module:Etablissement
Aller à la navigation
Aller à la recherche
La documentation pour ce module peut être créée à Module:Etablissement/doc
local p = {}
function p.infobox(f)
local capiunto = require 'capiunto'
local linkedwiki = require 'linkedwiki'
linkedwiki.setCurrentFrame(mw.getCurrentFrame())
-- init the prefix
local escr = 'http://gregorius.fr/wiki/Data:'
local rdf = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'
local rdfs = 'http://www.w3.org/2000/01/rdf-schema#'
local xsd = 'http://www.w3.org/2001/XMLSchema#'
local wdt = 'http://www.wikidata.org/prop/direct/'
local wd = 'http://www.wikidata.org/entity/'
local p = 'http://www.wikidata.org/prop/'
local pq = 'http://www.wikidata.org/prop/qualifier/'
local ps = 'http://www.wikidata.org/prop/statement/'
local dateFormat = "d M Y"
local subject = f.args.iri or linkedwiki.getCurrentIRI(); --find the iri of the current page
local object = linkedwiki.new(subject,"https://data.escr.fr/data")
--object:setDebug(true)
object:removeSubject() -- delete all triples of this subject
-- Save the data in the infobox in a knowledge base
mw.log(object:addPropertyWithIri(rdf .. 'type', escr .. 'Lycée'))
mw.log(object:addPropertyString(rdfs .. 'label', f.args["Titre"]))
-- mw.log(object:addPropertyWithIri(rp .. 'picture', f.args["Image"]))
-- mw.log(object:addProperty(rp .. 'nomDeNaissance', f.args['Nom de naissance']))
-- mw.log(object:addProperty(rp .. 'naissance', f.args['Date de naissance'], xsd .. 'date', ''))
-- mw.log(object:addProperty(rp .. 'naissancePrecision', f.args['Naissance précision (années)'], xsd .. 'integer', ''))
-- mw.log(object:addPropertyString(rp .. 'lieuDeNaissance', f.args['Lieu de naissance']))
-- mw.log(object:addProperty(rp .. 'deces', f.args['Date de décès'], xsd .. 'date', ''))
-- mw.log(object:addPropertyString(rp .. 'lieuDeDeces', f.args['Lieu de décès']))
-- mw.log(object:addProperty(rp .. 'electionAuPontificat', f.args['Election au pontificat'], xsd .. 'date', ''))
-- mw.log(object:addProperty(rp .. 'intronisation', f.args['Intronisation'], xsd .. 'date', ''))
-- mw.log(object:addProperty(rp .. 'finDuPontificat', f.args['Fin du pontificat'], xsd .. 'date', ''))
-- --compare data with Wikidata
-- local iriWikidata = ""
-- local objWikidata = nil
-- local objWikidataLieuNaissance = nil
-- local objWikidataLieuDeces = nil
-- local objPapeFonction = nil
-- local linkWikidata = ""
-- if not linkedwiki.isEmpty(f.args['Wikidata ID']) then
-- local idConfigWikidata = 'http://www.wikidata.org'
-- local taglang = 'fr'
-- iriWikidata = wd .. f.args['Wikidata ID']
-- objWikidata = linkedwiki.new(iriWikidata, idConfigWikidata, taglang)
-- mw.log(object:addPropertyWithIri(rp .. 'WikidataID', iriWikidata))
-- objWikidataLieuNaissance = linkedwiki.new(objWikidata:getValue(wdt .. 'P19'), idConfigWikidata, taglang)
-- objWikidataLieuDeces = linkedwiki.new(objWikidata:getValue(wdt .. 'P20'), idConfigWikidata, taglang)
-- listIri = linkedwiki.explode(";", objWikidata:getValue(p .. 'P39'))
-- objPapeFonction = nil
-- for i, iri in ipairs(listIri) do
-- objPapeFonction = linkedwiki.new(iri, idConfigWikidata, taglang)
-- if objPapeFonction:getValue(ps .. 'P39') == wd .. "Q19546" then
-- break
-- end
-- end
-- linkWikidata = '[' .. iriWikidata .. ' ' .. f.args['Wikidata ID'] .. ']'
-- end
--Make infobox with capiunto
local infobox = capiunto.create({
--bodyStyle = 'width : 50px',
-- bodyClass = 'gregoriusPape',
title = 'Lycée',
-- top = objWikidata:checkString(rdfs .. 'label', f.args.Titre),
top = f.args.Titre,
topStyle = 'background:#dfedff;height:45px;font-size: 1.4em;vertical-align:middle'
})
-- infobox:addImage(objWikidata:checkImage(wdt .. 'P18', f.args["Image"], 200), "", "Image")
-- infobox:addRow('Nom de naissance', objWikidata:checkString(wdt .. "P1477", f.args['Nom de naissance']))
-- infobox:addRow('Lieu de naissance', objWikidataLieuNaissance:checkString(rdfs .. "label", f.args['Lieu de naissance']))
-- infobox:addRow('Naissance', objWikidata:checkDate(wdt .. "P569", f.args['Date de naissance'], dateFormat))
-- infobox:addRow('Lieu de décès', objWikidataLieuDeces:checkString(rdfs .. "label", f.args['Lieu de décès']))
-- infobox:addRow('Date de décès', objWikidata:checkDate(wdt .. "P570", f.args['Date de décès'], dateFormat))
-- infobox:addRow('Élection au pontificat', f.args['Election au pontificat'])
-- infobox:addRow('Intronisation', objPapeFonction:checkDate(pq .. "P580", f.args['Intronisation'], dateFormat))
-- infobox:addRow('Fin du pontificat', objPapeFonction:checkDate(pq .. "P582", f.args['Fin du pontificat'], dateFormat))
-- infobox:addRow('Source Wikidata', linkWikidata)
return infobox
end
return p