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' ,
+
["Wikidata ID"] = 'Q132845' ,
Title = 'Adrien IV' ,
+
["Bnf ID"] = '' ,
Picture = 'https://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/PopeAdrianIVCameo.jpg/189px-PopeAdrianIVCameo.jpg' ,
+
["Titre"] = 'Adrien IV' ,
NomDeNaissance = 'Nicolas Breakspear' ,
+
["Image"] = 'http://commons.wikimedia.org/wiki/Special:FilePath/Pope%20Hadrian%20IV.jpg' ,
Naissance = '1100-1-1' ,
+
['Nom de naissance'] = 'Nicolas Breakspear' ,
 +
['Lieu de naissance'] = 'Abbots Langley' ,
 +
['Date de naissance'] = '1159-09-1' ,
 
['Naissance précision (années)'] = '10' ,
 
['Naissance précision (années)'] = '10' ,
LieuDeNaissance = 'Abbots Langley' ,
+
['Lieu de décès'] = 'Anagni' ,
Deces = '1159-09-1' ,
+
['Date de décès'] = '1159-09-01' ,
LieuDeDeces = 'Anagni' ,
+
['Election au pontificat'] = '1154-12-4' ,
ElectionAuPontificat = '1154-12-4' ,
+
['Intronisation'] = '1154-12-5' ,
Intronisation = '1154-12-5' ,
+
['Fin du pontificat'] = '1159-9-1'  
FinDuPontificat = '1159-9-1'  
 
 
     }
 
     }
 
}
 
}
Ligne 41 : Ligne 42 :
 
   local wd = 'http://www.wikidata.org/entity/'
 
   local wd = 'http://www.wikidata.org/entity/'
 
   local bnf = 'http://www.data.bnf.fr/'
 
   local bnf = 'http://www.data.bnf.fr/'
 +
  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 dateFormat = "d M Y"
Ligne 51 : Ligne 55 :
 
object:setDebug(true)
 
object:setDebug(true)
 
object:removeSubject() -- delete all triples of this subject
 
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: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:addPropertyString(rdfs..'label',f.args["Titre"] ))
mw.log(object:addProperty(rp..'nom_de_naissance',f.args.NomDeNaissance))
+
mw.log(object:addPropertyWithIri(rp..'picture',f.args["Image"]))
mw.log(object:addProperty(rp..'naissance',f.args.Naissance,xsd..'date',''))
+
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: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:addPropertyString(rp..'lieuDeNaissance',f.args['Lieu de naissance']))
mw.log(object:addProperty(rp..'deces',f.args.Deces,xsd..'date',''))
+
mw.log(object:addProperty(rp..'deces',f.args['Date de décès'],xsd..'date',''))
mw.log(object:addPropertyString(rp..'lieu_de_deces',f.args.LieuDeDeces))
+
mw.log(object:addPropertyString(rp..'lieuDeDeces',f.args['Lieu de décès']))
mw.log(object:addProperty(rp..'election_au_pontificat',f.args.ElectionAuPontificat,xsd..'date',''))
+
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..'intronisation',f.args['Intronisation'],xsd..'date',''))
mw.log(object:addProperty(rp..'fin_du_pontificat',f.args.FinDuPontificat,xsd..'date',''))
+
mw.log(object:addProperty(rp..'finDuPontificat',f.args['Fin du pontificat'],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
 
--compare data with wikidata
  
 
+
local iriWikidata =""
local iriWikidataAboutThisPage =""
 
 
local objWikidata = nil
 
local objWikidata = nil
local wLieuDeNaissance = ''
+
local objWikidataDateNaissance = nil
local wNomDeNaissance = ''
 
local wPicture = ''
 
local wTODO = ''
 
--local wEnd = ''
 
 
 
  
 
    
 
    
if not linkedwiki.isEmpty(f.args.WikidataID) then
+
if not linkedwiki.isEmpty(f.args['Wikidata ID']) then
iriWikidataAboutThisPage = wd .. f.args.WikidataID
+
local idConfigWikidata ='http://www.wikidata.org'
objWikidata = linkedwiki.new(iriWikidataAboutThisPage,'http://www.wikidata.org',"fr")
+
local taglang ='fr'
+
iriWikidata = wd .. f.args['Wikidata ID']
     mw.log(object:addPropertyWithIri(rp..'WikidataID',iriWikidataAboutThisPage))
+
objWikidata = linkedwiki.new(iriWikidata,idConfigWikidata,taglang)
+
     mw.log(object:addPropertyWithIri(rp..'WikidataID',iriWikidata))
   wLieuDeNaissance = objWikidata:printTitleInWiki(wdt..'P19')
+
   objWikidataLieuNaissance = linkedwiki.new(objWikidata:getValue(wdt..'P19'),idConfigWikidata,taglang)
   wPicture = objWikidata:getValue(wdt..'P18')
+
   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
 
end
 
end
  
local iriBNFAboutThisPage =""
+
local iriBNF =""
 
local objBnf = nil
 
local objBnf = nil
  
if not linkedwiki.isEmpty(f.args.BnfID) then
+
if not linkedwiki.isEmpty(f.args['Bnf ID']) then
iriBNFAboutThisPage = bnf .. f.args.BnfID
+
iriBNF = bnf .. f.args['Bnf ID']
objBnf = linkedwiki.new(iriBNFAboutThisPage,'http://data.bnf.fr',"fr")
+
objBnf = linkedwiki.new(iriBNF,'http://data.bnf.fr',"fr")
     mw.log(object:addPropertyWithIri(rp..'BnfID',iriWikidataAboutThisPageBNF))
+
     mw.log(object:addPropertyWithIri(rp..'BnfID',iriBNF))
 
end
 
end
  
Ligne 116 : Ligne 114 :
 
-- bottom =  
 
-- bottom =  
 
} )
 
} )
infobox:addImage( objWikidata:checkImage(wdt..'P18',f.args.Picture),"", "pape_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]]")
 
  
 +
objWikidata:setDebug(true)
 +
infobox:addImage( objWikidata:checkImage(wdt..'P18',f.args["Image"]),"", "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'])
 +
mw.log(objPapeFonction:getValue(pq.."P580"))
 +
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', iriWikidata)
 +
infobox:addRow('Source', iriBNF)
  
 
return infobox
 
return infobox
 
 
 
  
 
end
 
end
 
   
 
   
 
return p
 
return p

Version du 22 août 2016 à 17:27

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' ,
["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' ,
['Lieu de naissance'] = 'Abbots Langley' ,
['Date de naissance'] = '1159-09-1' ,
['Naissance précision (années)'] = '10' ,
['Lieu de décès'] = 'Anagni' ,
['Date de décès'] = '1159-09-01' ,
['Election au pontificat'] = '1154-12-4' ,
['Intronisation'] = '1154-12-5' ,
['Fin du pontificat'] = '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 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();

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
   
mw.log(object:addPropertyWithIri(rdf..'type',ri..'Pape'))

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 objWikidataDateNaissance = nil

    	
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
end

local iriBNF =""
local objBnf = nil

if not linkedwiki.isEmpty(f.args['Bnf ID']) then
	iriBNF = bnf .. f.args['Bnf ID']
	objBnf = linkedwiki.new(iriBNF,'http://data.bnf.fr',"fr")
    mw.log(object:addPropertyWithIri(rp..'BnfID',iriBNF))
end

local infobox = capiunto.create( {
	    bodyStyle = 'width : 50px',
	    bodyClass = 'gregoriusPape',
		title =  'Pape' ,
        top = objWikidata:checkString(rdfs..'label',f.args.Title) ,
		topStyle = 'background:#FFD200;height:50px;font-size: 25px;vertical-align:middle',		
	--	bottom = 
	} )

objWikidata:setDebug(true)
infobox:addImage( objWikidata:checkImage(wdt..'P18',f.args["Image"]),"", "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'])
	mw.log(objPapeFonction:getValue(pq.."P580"))
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', iriWikidata)
infobox:addRow('Source', iriBNF)	

	return infobox

end
 
return p