Différences entre versions de « Module:Pape »

De Gregorius 3.0
Sauter à la navigation Sauter à la recherche
Ligne 7 : Ligne 7 :
 
  args = {  
 
  args = {  
 
  iri = 'http://gregorius.fr/wiki/Adrien_IV' ,
 
  iri = 'http://gregorius.fr/wiki/Adrien_IV' ,
 +
WikidataID = 'Q132845' ,
 
Title = 'Adrien IV' ,
 
Title = 'Adrien IV' ,
 
Picture = 'https://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/PopeAdrianIVCameo.jpg/189px-PopeAdrianIVCameo.jpg' ,
 
Picture = 'https://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/PopeAdrianIVCameo.jpg/189px-PopeAdrianIVCameo.jpg' ,
 
NomDeNaissance = 'Nicolas Breakspear' ,
 
NomDeNaissance = 'Nicolas Breakspear' ,
Naissance = 'vers 1100' ,
+
Naissance = '1100-1-1' ,
 +
['Naissance précision (années)'] = '10' ,
 
LieuDeNaissance = 'Abbots Langley' ,
 
LieuDeNaissance = 'Abbots Langley' ,
Deces = '1er septembre 1159' ,
+
Deces = '1159-09-1' ,
 
LieuDeDeces = 'Anagni' ,
 
LieuDeDeces = 'Anagni' ,
ElectionAuPontificat = '4 décembre 1154' ,
+
ElectionAuPontificat = '1154-12-4' ,
Intronisation = '5 décembre 1154' ,
+
Intronisation = '1154-12-5' ,
FinDuPontificat = '1er septembre 1159'  
+
FinDuPontificat = '1159-9-1'  
 
     }
 
     }
 
}
 
}
Ligne 29 : Ligne 31 :
 
     local linkedwiki = require 'linkedwiki'
 
     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 rdfs = 'http://www.w3.org/2000/01/rdf-schema#'
 
   local ri = 'http://gregorius.fr/wiki/'
 
   local ri = 'http://gregorius.fr/wiki/'
Ligne 34 : Ligne 37 :
 
   local geo = 'http://www.w3.org/2003/01/geo/wgs84_pos#'
 
   local geo = 'http://www.w3.org/2003/01/geo/wgs84_pos#'
 
   local vcard = 'http://www.w3.org/2006/vcard/ns#'
 
   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 wdt = 'http://www.wikidata.org/prop/direct/'
 +
  local wd = 'http://www.wikidata.org/entity/'
 
    
 
    
 
   local subject = f.args.iri or linkedwiki.getCurrentIRI();
 
   local subject = f.args.iri or linkedwiki.getCurrentIRI();
 
   
 
   
 +
-- save data in the triplestore of Gregorius
 
   linkedwiki.setConfig() -- bydefault Gregorius
 
   linkedwiki.setConfig() -- bydefault Gregorius
 
   linkedwiki.setSubject(subject)  
 
   linkedwiki.setSubject(subject)  
   
+
  linkedwiki.setDebug(true)
 +
 
 +
  linkedwiki.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(linkedwiki.addPropertyWithIri(rdf..'type',ri..'Pape'))
 +
mw.log(linkedwiki.addPropertyWithLitteral(rdfs..'label',f.args.Title))
 +
mw.log(linkedwiki.addPropertyWithIri(rp..'picture',f.args.Picture))
 +
mw.log(linkedwiki.addPropertyWithLitteral(rp..'nom_de_naissance',f.args.NomDeNaissance))
 +
mw.log(linkedwiki.addPropertyWithLitteral(rp..'naissance',f.args.Naissance,xsd..'date',''))
 +
mw.log(linkedwiki.addPropertyWithLitteral(rp..'naissancePrecision',f.args['Naissance précision (années)'],xsd..'integer',''))
 +
mw.log(linkedwiki.addPropertyWithLitteral(rp..'lieu_de_naissance',f.args.LieuDeNaissance))
 +
mw.log(linkedwiki.addPropertyWithLitteral(rp..'deces',f.args.Deces,xsd..'date',''))
 +
mw.log(linkedwiki.addPropertyWithLitteral(rp..'lieu_de_deces',f.args.LieuDeDeces))
 +
mw.log(linkedwiki.addPropertyWithLitteral(rp..'election_au_pontificat',f.args.ElectionAuPontificat,xsd..'date',''))
 +
mw.log(linkedwiki.addPropertyWithLitteral(rp..'intronisation',f.args.Intronisation,xsd..'date',''))
 +
mw.log(linkedwiki.addPropertyWithLitteral(rp..'fin_du_pontificat',f.args.FinDuPontificat,xsd..'date',''))
 +
 
 +
--compare data with wikidata
 +
  linkedwiki.setConfig('http://www.wikidata.org')
 +
  linkedwiki.setSubject(wd .. f.args.WikidataID)
 +
  linkedwiki.setDebug(true)
 +
 
 +
local wLieuDeNaissance = linkedwiki.getString(rdfs..'label',nil,linkedwiki.getValue(wdt..'P19'))
 +
local  wPicture = linkedwiki.getValue(rdfs..'label',nil,linkedwiki.getValue(wdt..'P18'))
 +
local wTODO = ''
 +
 
 
return capiunto.create( {
 
return capiunto.create( {
 
    bodyStyle = 'width : 50px',
 
    bodyStyle = 'width : 50px',
 
    bodyClass = 'gregoriusPape',
 
    bodyClass = 'gregoriusPape',
 
title =  'Pape' ,
 
title =  'Pape' ,
         top = linkedwiki.checkLink(linkedwiki.getCurrentIRI(), rdfs..'label',f.args.Title) ,
+
         top = linkedwiki.checkLink(subject, 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 = linkedwiki.checkString(rdfs..'seeAlso',f.args.Modification)
 
bottom = linkedwiki.checkString(rdfs..'seeAlso',f.args.Modification)
 
} )
 
} )
:addImage(linkedwiki.checkImage(rp..'picture',f.args.Picture),"", "device_image" )
+
:addImage(linkedwiki.printImageInWiki(f.args.Picture,wPicture),"", "device_image" )
:addRow('Nom de naissance', linkedwiki.checkString(rp..'nom_de_naissance',f.args.NomDeNaissance))
+
:addRow('Nom de naissance', linkedwiki.printValueInWiki(f.args.NomDeNaissance,wNomDeNaissance))
-- :addRow('Naissance', linkedwikidataCity.checkString(rdfs..'label',f.args.Naissance))
+
:addRow('Lieu de naissance', linkedwiki.printValueInWiki(f.args.LieuDeNaissance,wLieuDeNaissance))
:addRow('Naissance', linkedwiki.checkString(rp..'naissance',f.args.Naissance))
+
:addRow('Naissance', linkedwiki.printValueInWiki(f.args.Naissance,wTODO))
:addRow('Lieu de naissance', linkedwiki.checkString(rp..'lieu_de_naissance',f.args.LieuDeNaissance))
+
:addRow('Décès', linkedwiki.printValueInWiki(f.args.Deces,wTODO))
:addRow('Décès', linkedwiki.checkString(rp..'deces',f.args.Deces))
+
:addRow('Lieu de décès', linkedwiki.printValueInWiki(f.args.LieuDeDeces,wTODO))
:addRow('Lieu de décès', linkedwiki.checkString(rp..'lieu_de_deces',f.args.LieuDeDeces))
+
:addRow('Élection au pontificat', linkedwiki.printValueInWiki(f.args.ElectionAuPontificat,wTODO))
:addRow('Élection au pontificat', linkedwiki.checkString(rp..'election_au_pontificat',f.args.ElectionAuPontificat))
+
:addRow('Intronisation', linkedwiki.printValueInWiki(f.args.Intronisation,wTODO))
:addRow('Intronisation', linkedwiki.checkString(rp..'intronisation',f.args.Intronisation))
+
:addRow('Fin du pontificat', linkedwiki.printValueInWiki(f.args.FinDuPontificat,wTODO))
:addRow('Fin du pontificat', linkedwiki.checkString(rp..'fin_du_pontificat',f.args.FinDuPontificat))
+
:addWikitext( linkedwiki.getMaintenanceCategory() .."[[Category:Pape]]" )
:addWikitext( linkedwiki.getMaintenanceCategory() .."[[Category:Pape]]" )
+
 
 
end
 
end
 
   
 
   
 
return p
 
return p

Version du 15 mai 2016 à 23:22

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 : QXXXXX
  • Bnf ID :
  • Titre :
  • Image :
  • Nom de naissance :
  • Date de naissance : YYYY-MM-DD
  • Naissance précision (années) : entier
  • Lieu de naissance :
  • Date de décès : YYYY-MM-DD
  • Lieu de décès : YYYY-MM-DD
  • Election au pontificat : YYYY-MM-DD
  • Intronisation : YYYY-MM-DD
  • Fin 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 subject = f.args.iri or linkedwiki.getCurrentIRI();
 
 -- save data in the triplestore of Gregorius
   linkedwiki.setConfig() -- bydefault Gregorius
   linkedwiki.setSubject(subject) 
   linkedwiki.setDebug(true) 
   
   linkedwiki.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(linkedwiki.addPropertyWithIri(rdf..'type',ri..'Pape'))
mw.log(linkedwiki.addPropertyWithLitteral(rdfs..'label',f.args.Title))
mw.log(linkedwiki.addPropertyWithIri(rp..'picture',f.args.Picture))
mw.log(linkedwiki.addPropertyWithLitteral(rp..'nom_de_naissance',f.args.NomDeNaissance))
mw.log(linkedwiki.addPropertyWithLitteral(rp..'naissance',f.args.Naissance,xsd..'date',''))
mw.log(linkedwiki.addPropertyWithLitteral(rp..'naissancePrecision',f.args['Naissance précision (années)'],xsd..'integer',''))
mw.log(linkedwiki.addPropertyWithLitteral(rp..'lieu_de_naissance',f.args.LieuDeNaissance))
mw.log(linkedwiki.addPropertyWithLitteral(rp..'deces',f.args.Deces,xsd..'date',''))
mw.log(linkedwiki.addPropertyWithLitteral(rp..'lieu_de_deces',f.args.LieuDeDeces))
mw.log(linkedwiki.addPropertyWithLitteral(rp..'election_au_pontificat',f.args.ElectionAuPontificat,xsd..'date',''))
mw.log(linkedwiki.addPropertyWithLitteral(rp..'intronisation',f.args.Intronisation,xsd..'date',''))
mw.log(linkedwiki.addPropertyWithLitteral(rp..'fin_du_pontificat',f.args.FinDuPontificat,xsd..'date',''))

--compare data with wikidata
   linkedwiki.setConfig('http://www.wikidata.org') 
   linkedwiki.setSubject(wd .. f.args.WikidataID) 
   linkedwiki.setDebug(true) 
   
local wLieuDeNaissance = linkedwiki.getString(rdfs..'label',nil,linkedwiki.getValue(wdt..'P19'))
local  wPicture = linkedwiki.getValue(rdfs..'label',nil,linkedwiki.getValue(wdt..'P18'))
local wTODO = ''
  	
	return capiunto.create( {
	    bodyStyle = 'width : 50px',
	    bodyClass = 'gregoriusPape',
		title =  'Pape' ,
        top = linkedwiki.checkLink(subject, rdfs..'label',f.args.Title) ,
		topStyle = 'background:#FFD200;height:50px;font-size: 25px;vertical-align:middle',		
		bottom = linkedwiki.checkString(rdfs..'seeAlso',f.args.Modification)
	} )
:addImage(linkedwiki.printImageInWiki(f.args.Picture,wPicture),"", "device_image" )
:addRow('Nom de naissance', linkedwiki.printValueInWiki(f.args.NomDeNaissance,wNomDeNaissance))
:addRow('Lieu de naissance', linkedwiki.printValueInWiki(f.args.LieuDeNaissance,wLieuDeNaissance))
:addRow('Naissance', linkedwiki.printValueInWiki(f.args.Naissance,wTODO))
:addRow('Décès', linkedwiki.printValueInWiki(f.args.Deces,wTODO))
:addRow('Lieu de décès', linkedwiki.printValueInWiki(f.args.LieuDeDeces,wTODO))	
:addRow('Élection au pontificat', linkedwiki.printValueInWiki(f.args.ElectionAuPontificat,wTODO))
:addRow('Intronisation', linkedwiki.printValueInWiki(f.args.Intronisation,wTODO))
:addRow('Fin du pontificat', linkedwiki.printValueInWiki(f.args.FinDuPontificat,wTODO))
:addWikitext( linkedwiki.getMaintenanceCategory() .."[[Category:Pape]]" )

end
 
return p