Différences entre versions de « Module:Pape »

De Gregorius 3.0
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();
+
 
-- save data in the triplestore of Gregorius
+
local linkedwiki = require 'linkedwiki'
  linkedwiki.setConfig() -- bydefault Gregorius
+
local subject = linkedwiki.getCurrentIRI(); -- read the iri of the current page
  linkedwiki.setSubject(subject)  
+
local object =  linkedwiki.new(subject)
--linkedwiki.setDebug(true)  
+
object:setDebug(true)
 
+
object:removeSubject() -- delete all triples of this subject
  linkedwiki.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(linkedwiki.addPropertyWithIri(rdf..'type',ri..'Pape'))
+
 
mw.log(linkedwiki.addPropertyWithLitteral(rdfs..'label',f.args.Title))
+
mw.log(object:addPropertyWithIri(rdf..'type',ri..'Pape'))
mw.log(linkedwiki.addPropertyWithIri(rp..'picture',f.args.Picture))
+
mw.log(object:addPropertyString(rdfs..'label',f.args.Title))
mw.log(linkedwiki.addPropertyWithLitteral(rp..'nom_de_naissance',f.args.NomDeNaissance))
+
mw.log(object:addPropertyWithIri(rp..'picture',f.args.Picture))
mw.log(linkedwiki.addPropertyWithLitteral(rp..'naissance',f.args.Naissance,xsd..'date',''))
+
mw.log(object:addProperty(rp..'nom_de_naissance',f.args.NomDeNaissance))
mw.log(linkedwiki.addPropertyWithLitteral(rp..'naissancePrecision',f.args['Naissance précision (années)'],xsd..'integer',''))
+
mw.log(object:addProperty(rp..'naissance',f.args.Naissance,xsd..'date',''))
mw.log(linkedwiki.addPropertyWithLitteral(rp..'lieu_de_naissance',f.args.LieuDeNaissance))
+
mw.log(object:addProperty(rp..'naissancePrecision',f.args['Naissance précision (années)'],xsd..'integer',''))
mw.log(linkedwiki.addPropertyWithLitteral(rp..'deces',f.args.Deces,xsd..'date',''))
+
mw.log(object:addPropertyString(rp..'lieu_de_naissance',f.args.LieuDeNaissance))
mw.log(linkedwiki.addPropertyWithLitteral(rp..'lieu_de_deces',f.args.LieuDeDeces))
+
mw.log(object:addProperty(rp..'deces',f.args.Deces,xsd..'date',''))
mw.log(linkedwiki.addPropertyWithLitteral(rp..'election_au_pontificat',f.args.ElectionAuPontificat,xsd..'date',''))
+
mw.log(object:addPropertyString(rp..'lieu_de_deces',f.args.LieuDeDeces))
mw.log(linkedwiki.addPropertyWithLitteral(rp..'intronisation',f.args.Intronisation,xsd..'date',''))
+
mw.log(object:addProperty(rp..'election_au_pontificat',f.args.ElectionAuPontificat,xsd..'date',''))
mw.log(linkedwiki.addPropertyWithLitteral(rp..'fin_du_pontificat',f.args.FinDuPontificat,xsd..'date',''))
+
mw.log(object:addProperty(rp..'intronisation',f.args.Intronisation,xsd..'date',''))
mw.log(linkedwiki.addPropertyWithLitteral(rp..'source_wikidata',f.args.SourceWikidata))
+
mw.log(object:addProperty(rp..'fin_du_pontificat',f.args.FinDuPontificat,xsd..'date',''))
mw.log(linkedwiki.addPropertyWithLitteral(rp..'source_bnf',f.args.SourceBnf))
+
--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
local iriWikidataAboutThisPage = wd .. f.args.WikidataID
+
iriWikidataAboutThisPage = wd .. f.args.WikidataID
     mw.log(linkedwiki.addPropertyWithIri(rp..'WikidataID',iriWikidataAboutThisPage))
+
objWikidata = linkedwiki.new(iriWikidataAboutThisPage,'http://www.wikidata.org',"fr")
 +
 +
     mw.log(object:addPropertyWithIri(rp..'WikidataID',iriWikidataAboutThisPage))
 
 
   linkedwiki.setConfig('http://www.wikidata.org')
+
   wLieuDeNaissance = objWikidata:printTitleInWiki(wdt..'P19')
  linkedwiki.setSubject(iriWikidataAboutThisPage)
+
   wPicture = objWikidata:getValue(wdt..'P18')
  --linkedwiki.setDebug(true)
 
    wLieuDeNaissance = linkedwiki.getString(rdfs..'label',"fr",linkedwiki.getValue(wdt..'P19'))
 
   wPicture = linkedwiki.getValue(wdt..'P18')
 
 
end
 
end
 +
 +
local iriBNFAboutThisPage =""
 +
local objBnf = nil
  
 
if not linkedwiki.isEmpty(f.args.BnfID) then
 
if not linkedwiki.isEmpty(f.args.BnfID) then
local iriWikidataAboutThisPageBNF = bnf .. f.args.BnfID
+
iriBNFAboutThisPage = bnf .. f.args.BnfID
    mw.log(linkedwiki.addPropertyWithIri(rp..'BnfID',iriWikidataAboutThisPageBNF))
+
objBnf = linkedwiki.new(iriBNFAboutThisPage,'http://data.bnf.fr',"fr")
+
    mw.log(object:addPropertyWithIri(rp..'BnfID',iriWikidataAboutThisPageBNF))
  linkedwiki.setConfig('www.http://data.bnf.fr')  
 
  linkedwiki.setSubject(iriWikidataAboutThisPage)  
 
  --linkedwiki.setDebug(true)  
 
 
end
 
end
  
return capiunto.create( {
+
local infobox = capiunto.create( {
 
    bodyStyle = 'width : 50px',
 
    bodyStyle = 'width : 50px',
 
    bodyClass = 'gregoriusPape',
 
    bodyClass = 'gregoriusPape',
 
title =  'Pape' ,
 
title =  'Pape' ,
         top = linkedwiki.checkLink(subject, rdfs..'label',f.args.Title) ,
+
         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 = linkedwiki.checkString(rdfs..'seeAlso',f.args.Modification)
+
bottom = object:checkString(rdfs..'seeAlso',f.args.Modification)
 
} )
 
} )
:addImage(linkedwiki.printImageInWiki(f.args.Picture,wPicture),"", "device_image" )
+
infobox:addImage( object:printImageInWiki(f.args.Picture,wPicture),"", "device_image" )
:addRow('Nom de naissance', linkedwiki.printValueInWiki(f.args.NomDeNaissance,wNomDeNaissance))
+
infobox:addRow('Nom de naissance', object:printValueInWiki(f.args.NomDeNaissance,wNomDeNaissance))
:addRow('Lieu de naissance', linkedwiki.printValueInWiki(f.args.LieuDeNaissance,wLieuDeNaissance))
+
infobox:addRow('Lieu de naissance', object:printValueInWiki(f.args.LieuDeNaissance,wLieuDeNaissance))
:addRow('Naissance', linkedwiki.printDateInWiki(dateFormat,f.args.Naissance,wTODO))
+
infobox:addRow('Naissance', object:printDateInWiki(dateFormat,f.args.Naissance,wDateNaissance))
:addRow('Décès', linkedwiki.printDateInWiki(dateFormat,f.args.Deces,wTODO))
+
infobox:addRow('Décès', object:printDateInWiki(dateFormat,f.args.Deces,wDeces))
:addRow('Lieu de décès', linkedwiki.printValueInWiki(f.args.LieuDeDeces,wTODO))
+
infobox:addRow('Lieu de décès', object:printValueInWiki(f.args.LieuDeDeces,wLieuDeces))
:addRow('Élection au pontificat', linkedwiki.printDateInWiki(dateFormat,f.args.ElectionAuPontificat,wTODO))
+
infobox:addRow('Élection au pontificat', object:printDateInWiki(dateFormat,f.args.ElectionAuPontificat,wDatePontificat))
:addRow('Intronisation', linkedwiki.printDateInWiki(dateFormat,f.args.Intronisation,wTODO))
+
infobox:addRow('Intronisation', object:printDateInWiki(dateFormat,f.args.Intronisation,wDateIntronisation))
:addRow('Fin du pontificat', linkedwiki.printDateInWiki(dateFormat,f.args.FinDuPontificat,wTODO))
+
infobox:addRow('Fin du pontificat', object:printDateInWiki(dateFormat,f.args.FinDuPontificat,wFinDuPontificat))
:addRow('Source', linkedwiki.printValueInWiki(f.args.SourceWikidata,wSourceWikidata))
+
infobox:addRow('Source', iriWikidataAboutThisPage)
:addRow('Source', linkedwiki.printValueInWiki(f.args.SourceBnf,wSourceBnf))
+
infobox:addRow('Source', iriBNFAboutThisPage)
--:addWikitext('Site BNF', linkedwiki.printValueInWiki(f.args.SiteBNF,wSiteBNF))
+
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 : 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 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