Différences entre versions de « Module:Pape »
Sauter à la navigation
Sauter à la recherche
Ligne 45 : | Ligne 45 : | ||
local subject = f.args.iri or linkedwiki.getCurrentIRI(); | local subject = f.args.iri or linkedwiki.getCurrentIRI(); | ||
− | + | ||
− | + | local linkedwiki = require 'linkedwiki' | |
− | + | local subject = linkedwiki.getCurrentIRI(); -- read the iri of the current page | |
− | + | local object = linkedwiki.new(subject) | |
− | + | object:setDebug(true) | |
− | + | object:removeSubject() -- delete all triples of this subject | |
− | |||
Ligne 58 : | Ligne 57 : | ||
--linkedwiki.addPropertyWithIri(PROPERTY,IRI) | --linkedwiki.addPropertyWithIri(PROPERTY,IRI) | ||
--linkedwiki.addPropertyWithLitteral(PROPERTY,VALUE,TYPE,LANG) [LANG=nil=>default lang] [LANG=''=>no lang] | --linkedwiki.addPropertyWithLitteral(PROPERTY,VALUE,TYPE,LANG) [LANG=nil=>default lang] [LANG=''=>no lang] | ||
− | mw.log( | + | |
− | mw.log( | + | mw.log(object:addPropertyWithIri(rdf..'type',ri..'Pape')) |
− | mw.log( | + | mw.log(object:addPropertyString(rdfs..'label',f.args.Title)) |
− | mw.log( | + | mw.log(object:addPropertyWithIri(rp..'picture',f.args.Picture)) |
− | mw.log( | + | mw.log(object:addProperty(rp..'nom_de_naissance',f.args.NomDeNaissance)) |
− | mw.log( | + | mw.log(object:addProperty(rp..'naissance',f.args.Naissance,xsd..'date','')) |
− | mw.log( | + | mw.log(object:addProperty(rp..'naissancePrecision',f.args['Naissance précision (années)'],xsd..'integer','')) |
− | mw.log( | + | mw.log(object:addPropertyString(rp..'lieu_de_naissance',f.args.LieuDeNaissance)) |
− | mw.log( | + | mw.log(object:addProperty(rp..'deces',f.args.Deces,xsd..'date','')) |
− | mw.log( | + | mw.log(object:addPropertyString(rp..'lieu_de_deces',f.args.LieuDeDeces)) |
− | mw.log( | + | mw.log(object:addProperty(rp..'election_au_pontificat',f.args.ElectionAuPontificat,xsd..'date','')) |
− | mw.log( | + | mw.log(object:addProperty(rp..'intronisation',f.args.Intronisation,xsd..'date','')) |
− | mw.log( | + | mw.log(object:addProperty(rp..'fin_du_pontificat',f.args.FinDuPontificat,xsd..'date','')) |
− | mw.log( | + | --mw.log(object:addProperty(rp..'source_wikidata',f.args.SourceWikidata)) |
+ | --mw.log(object:addProperty(rp..'source_bnf',f.args.SourceBnf)) | ||
--mw.log(lonkedwiki.addPropertyWithLitteral(rp..'source_iri',f.args.Iri)) | --mw.log(lonkedwiki.addPropertyWithLitteral(rp..'source_iri',f.args.Iri)) | ||
--mw.log(linkedwiki.addPropertyWuthLitteral(rp..'source_gregroius',f.args.SourceGregorius)) | --mw.log(linkedwiki.addPropertyWuthLitteral(rp..'source_gregroius',f.args.SourceGregorius)) | ||
Ligne 78 : | Ligne 78 : | ||
--compare data with wikidata | --compare data with wikidata | ||
− | + | ||
+ | local iriWikidataAboutThisPage ="" | ||
+ | local objWikidata = nil | ||
local wLieuDeNaissance = '' | local wLieuDeNaissance = '' | ||
+ | local wNomDeNaissance = '' | ||
local wPicture = '' | local wPicture = '' | ||
local wTODO = '' | local wTODO = '' | ||
--local wEnd = '' | --local wEnd = '' | ||
+ | |||
+ | |||
if not linkedwiki.isEmpty(f.args.WikidataID) then | if not linkedwiki.isEmpty(f.args.WikidataID) then | ||
− | + | iriWikidataAboutThisPage = wd .. f.args.WikidataID | |
− | mw.log( | + | objWikidata = linkedwiki.new(iriWikidataAboutThisPage,'http://www.wikidata.org',"fr") |
+ | |||
+ | mw.log(object:addPropertyWithIri(rp..'WikidataID',iriWikidataAboutThisPage)) | ||
− | + | wLieuDeNaissance = objWikidata:printTitleInWiki(wdt..'P19') | |
− | + | wPicture = objWikidata:getValue(wdt..'P18') | |
− | |||
− | |||
− | wPicture = | ||
end | end | ||
+ | |||
+ | local iriBNFAboutThisPage ="" | ||
+ | local objBnf = nil | ||
if not linkedwiki.isEmpty(f.args.BnfID) then | if not linkedwiki.isEmpty(f.args.BnfID) then | ||
− | + | iriBNFAboutThisPage = bnf .. f.args.BnfID | |
− | + | objBnf = linkedwiki.new(iriBNFAboutThisPage,'http://data.bnf.fr',"fr") | |
− | + | mw.log(object:addPropertyWithIri(rp..'BnfID',iriWikidataAboutThisPageBNF)) | |
− | |||
− | |||
− | |||
end | end | ||
− | + | local infobox = capiunto.create( { | |
bodyStyle = 'width : 50px', | bodyStyle = 'width : 50px', | ||
bodyClass = 'gregoriusPape', | bodyClass = 'gregoriusPape', | ||
title = 'Pape' , | title = 'Pape' , | ||
− | top = | + | top = object:checkLink(rdfs..'label',f.args.Title) , |
topStyle = 'background:#FFD200;height:50px;font-size: 25px;vertical-align:middle', | topStyle = 'background:#FFD200;height:50px;font-size: 25px;vertical-align:middle', | ||
− | bottom = | + | bottom = object:checkString(rdfs..'seeAlso',f.args.Modification) |
} ) | } ) | ||
− | :addImage( | + | infobox:addImage( object:printImageInWiki(f.args.Picture,wPicture),"", "device_image" ) |
− | :addRow('Nom de naissance', | + | infobox:addRow('Nom de naissance', object:printValueInWiki(f.args.NomDeNaissance,wNomDeNaissance)) |
− | :addRow('Lieu de naissance', | + | infobox:addRow('Lieu de naissance', object:printValueInWiki(f.args.LieuDeNaissance,wLieuDeNaissance)) |
− | :addRow('Naissance', | + | infobox:addRow('Naissance', object:printDateInWiki(dateFormat,f.args.Naissance,wDateNaissance)) |
− | :addRow('Décès', | + | infobox:addRow('Décès', object:printDateInWiki(dateFormat,f.args.Deces,wDeces)) |
− | :addRow('Lieu de décès', | + | infobox:addRow('Lieu de décès', object:printValueInWiki(f.args.LieuDeDeces,wLieuDeces)) |
− | :addRow('Élection au pontificat', | + | infobox:addRow('Élection au pontificat', object:printDateInWiki(dateFormat,f.args.ElectionAuPontificat,wDatePontificat)) |
− | :addRow('Intronisation', | + | infobox:addRow('Intronisation', object:printDateInWiki(dateFormat,f.args.Intronisation,wDateIntronisation)) |
− | :addRow('Fin du pontificat', | + | infobox:addRow('Fin du pontificat', object:printDateInWiki(dateFormat,f.args.FinDuPontificat,wFinDuPontificat)) |
− | :addRow('Source', | + | infobox:addRow('Source', iriWikidataAboutThisPage) |
− | :addRow('Source', | + | infobox:addRow('Source', iriBNFAboutThisPage) |
− | + | infobox:addWikitext('Site BNF', object:printValueInWiki(f.args.SiteBNF,wSiteBNF)) | |
− | :addWikitext( linkedwiki.getMaintenanceCategory() .."[[Category:Pape]]" ) | + | --:addWikitext( linkedwiki.getMaintenanceCategory() .."[[Category:Pape]]") |
+ | |||
+ | |||
+ | return infobox | ||
+ | |||
+ | |||
+ | |||
end | end | ||
return p | return p |
Version du 22 août 2016 à 13:33
Utilisation
Cette infobox a pour fonction de pouvoir afficher et associer des données à propos des papes.
Exemple d'utilisation
{{#invoke:Pape|infobox | Wikidata ID = Q132845 | Bnf ID = | Titre = Adrien IV | Image = http://commons.wikimedia.org/wiki/Special:FilePath/Pope%20Hadrian%20IV.jpg | Nom de naissance = Nicolas Breakspear | Date de naissance = 1100-01-01 | Naissance précision (années) = 10 | Lieu de naissance = Abbots Langley | Date de décès = 1159-09-01 | Lieu de décès = Anagni | Election au pontificat = 1154-12-04 | Intronisation = 1154-12-05 | Fin du pontificat = 1159-09-01 }}
Paramétres
Wikidata ID
: QXXXXXBnf ID
:Titre
:Image
:Nom de naissance
:Date de naissance
: YYYY-MM-DDNaissance précision (années)
: entierLieu de naissance
:Date de décès
: YYYY-MM-DDLieu de décès
: YYYY-MM-DDElection au pontificat
: YYYY-MM-DDIntronisation
: YYYY-MM-DDFin du pontificat
: YYYY-MM-DD
--[[
-- Debug console
frame = mw.getCurrentFrame() -- Get a frame object
newFrame = frame:newChild{ -- Get one with args
title = 'Adrien IV' ,
args = {
iri = 'http://gregorius.fr/wiki/Adrien_IV' ,
WikidataID = 'Q132845' ,
Title = 'Adrien IV' ,
Picture = 'https://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/PopeAdrianIVCameo.jpg/189px-PopeAdrianIVCameo.jpg' ,
NomDeNaissance = 'Nicolas Breakspear' ,
Naissance = '1100-1-1' ,
['Naissance précision (années)'] = '10' ,
LieuDeNaissance = 'Abbots Langley' ,
Deces = '1159-09-1' ,
LieuDeDeces = 'Anagni' ,
ElectionAuPontificat = '1154-12-4' ,
Intronisation = '1154-12-5' ,
FinDuPontificat = '1159-9-1'
}
}
mw.log(p.infobox( newFrame ) )
]]
local p = {}
function p.infobox(f)
local capiunto = require 'capiunto'
local linkedwiki = require 'linkedwiki'
local rdf = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'
local rdfs = 'http://www.w3.org/2000/01/rdf-schema#'
local ri = 'http://gregorius.fr/wiki/'
local rp = 'http://gregorius.fr/wiki/Property:'
local geo = 'http://www.w3.org/2003/01/geo/wgs84_pos#'
local vcard = 'http://www.w3.org/2006/vcard/ns#'
local xsd = 'http://www.w3.org/2001/XMLSchema#'
local wdt = 'http://www.wikidata.org/prop/direct/'
local wd = 'http://www.wikidata.org/entity/'
local bnf = 'http://www.data.bnf.fr/'
local dateFormat = "d M Y"
local subject = f.args.iri or linkedwiki.getCurrentIRI();
local linkedwiki = require 'linkedwiki'
local subject = linkedwiki.getCurrentIRI(); -- read the iri of the current page
local object = linkedwiki.new(subject)
object:setDebug(true)
object:removeSubject() -- delete all triples of this subject
-- {{#time:d M Y|2004-12-06}}
--"2004-12-06"^^xsd..'date'
--linkedwiki.addPropertyWithIri(PROPERTY,IRI)
--linkedwiki.addPropertyWithLitteral(PROPERTY,VALUE,TYPE,LANG) [LANG=nil=>default lang] [LANG=''=>no lang]
mw.log(object:addPropertyWithIri(rdf..'type',ri..'Pape'))
mw.log(object:addPropertyString(rdfs..'label',f.args.Title))
mw.log(object:addPropertyWithIri(rp..'picture',f.args.Picture))
mw.log(object:addProperty(rp..'nom_de_naissance',f.args.NomDeNaissance))
mw.log(object:addProperty(rp..'naissance',f.args.Naissance,xsd..'date',''))
mw.log(object:addProperty(rp..'naissancePrecision',f.args['Naissance précision (années)'],xsd..'integer',''))
mw.log(object:addPropertyString(rp..'lieu_de_naissance',f.args.LieuDeNaissance))
mw.log(object:addProperty(rp..'deces',f.args.Deces,xsd..'date',''))
mw.log(object:addPropertyString(rp..'lieu_de_deces',f.args.LieuDeDeces))
mw.log(object:addProperty(rp..'election_au_pontificat',f.args.ElectionAuPontificat,xsd..'date',''))
mw.log(object:addProperty(rp..'intronisation',f.args.Intronisation,xsd..'date',''))
mw.log(object:addProperty(rp..'fin_du_pontificat',f.args.FinDuPontificat,xsd..'date',''))
--mw.log(object:addProperty(rp..'source_wikidata',f.args.SourceWikidata))
--mw.log(object:addProperty(rp..'source_bnf',f.args.SourceBnf))
--mw.log(lonkedwiki.addPropertyWithLitteral(rp..'source_iri',f.args.Iri))
--mw.log(linkedwiki.addPropertyWuthLitteral(rp..'source_gregroius',f.args.SourceGregorius))
--mw.log(linkedwiki.addPropertyWithLitteral(rp..'site_bnf',f.args.SiteBNF))
--compare data with wikidata
local iriWikidataAboutThisPage =""
local objWikidata = nil
local wLieuDeNaissance = ''
local wNomDeNaissance = ''
local wPicture = ''
local wTODO = ''
--local wEnd = ''
if not linkedwiki.isEmpty(f.args.WikidataID) then
iriWikidataAboutThisPage = wd .. f.args.WikidataID
objWikidata = linkedwiki.new(iriWikidataAboutThisPage,'http://www.wikidata.org',"fr")
mw.log(object:addPropertyWithIri(rp..'WikidataID',iriWikidataAboutThisPage))
wLieuDeNaissance = objWikidata:printTitleInWiki(wdt..'P19')
wPicture = objWikidata:getValue(wdt..'P18')
end
local iriBNFAboutThisPage =""
local objBnf = nil
if not linkedwiki.isEmpty(f.args.BnfID) then
iriBNFAboutThisPage = bnf .. f.args.BnfID
objBnf = linkedwiki.new(iriBNFAboutThisPage,'http://data.bnf.fr',"fr")
mw.log(object:addPropertyWithIri(rp..'BnfID',iriWikidataAboutThisPageBNF))
end
local infobox = capiunto.create( {
bodyStyle = 'width : 50px',
bodyClass = 'gregoriusPape',
title = 'Pape' ,
top = object:checkLink(rdfs..'label',f.args.Title) ,
topStyle = 'background:#FFD200;height:50px;font-size: 25px;vertical-align:middle',
bottom = object:checkString(rdfs..'seeAlso',f.args.Modification)
} )
infobox:addImage( object:printImageInWiki(f.args.Picture,wPicture),"", "device_image" )
infobox:addRow('Nom de naissance', object:printValueInWiki(f.args.NomDeNaissance,wNomDeNaissance))
infobox:addRow('Lieu de naissance', object:printValueInWiki(f.args.LieuDeNaissance,wLieuDeNaissance))
infobox:addRow('Naissance', object:printDateInWiki(dateFormat,f.args.Naissance,wDateNaissance))
infobox:addRow('Décès', object:printDateInWiki(dateFormat,f.args.Deces,wDeces))
infobox:addRow('Lieu de décès', object:printValueInWiki(f.args.LieuDeDeces,wLieuDeces))
infobox:addRow('Élection au pontificat', object:printDateInWiki(dateFormat,f.args.ElectionAuPontificat,wDatePontificat))
infobox:addRow('Intronisation', object:printDateInWiki(dateFormat,f.args.Intronisation,wDateIntronisation))
infobox:addRow('Fin du pontificat', object:printDateInWiki(dateFormat,f.args.FinDuPontificat,wFinDuPontificat))
infobox:addRow('Source', iriWikidataAboutThisPage)
infobox:addRow('Source', iriBNFAboutThisPage)
infobox:addWikitext('Site BNF', object:printValueInWiki(f.args.SiteBNF,wSiteBNF))
--:addWikitext( linkedwiki.getMaintenanceCategory() .."[[Category:Pape]]")
return infobox
end
return p