Module:Oeuvres de l'auteur

De Gregorius 3.0
Sauter à la navigation Sauter à la recherche

Utilisation

Ce module a pour fonction de pouvoir afficher les versions numérisées des oeuvres d'un auteur enregistré par la BNF

Exemple d'utilisation

{{#invoke:Oeuvres de l'auteur|section
| Bnf ID = 121308651
}}

Résultat pour Alfred Baudrillart

Œuvres


Paramétres

  • Bnf ID : Id de la BNF

--[[
-- Debug console

frame = mw.getCurrentFrame() -- Get a frame object
newFrame = frame:newChild{ -- Get one with args
	title = 'Alfred Baudrillart' ,
 args = { 
 iri = 'https://gregorius.dsi.universite-paris-saclay.fr/wiki/Alfred_Baudrillart' ,
["Bnf ID"] = '121308651' 
    }
}
mw.log(p.section( newFrame ) )
]]


local p = {}

 local linkedwiki = require 'linkedwiki'
function p.section(f)
	local object =  linkedwiki.new()
    object:setConfig("http://data.bnf.fr")
    mw.log(object:getConfig())

	local result = object:query( [[
		PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdarelationships: <http://rdvocab.info/RDARelationshipsWEMI/>

SELECT DISTINCT
  
  (CONCAT("<span class='plainlinks module-oeuvres-vignettes'>[",?urlPDF," ",?url,".jpg]</span>") as ?vignette)
  ?date
  (CONCAT("<span class='plainlinks'>[",?urlPDF," ",?label,"]") as ?titre) 
  (CONCAT("<span class='plainlinks'>[",?edition," notice]") as ?gallica) 
WHERE {    
  # "121308651" est le Bibliothèque nationale de France ID pour l'auteur Alfred Baudrillart 
  BIND(IRI(CONCAT("http://data.bnf.fr/ark:/12148/cb","121308651","#about")) as ?idNotice)
  ?edition dcterms:creator ?idNotice .
  ?edition rdfs:label ?label .
  ?edition foaf:depiction  ?url .
  ?edition dcterms:date ?date.
  BIND(IRI(REPLACE(STR(?url),".thumbnail", ".pdf?download=1&pdfdownload__accept-box=on")) as ?urlPDF)
} 
ORDER BY  ?date
		]] 	)
-- linkedwiki.print_r(result)
	
	    local text = [[
== Œuvres ==
]]
	
	local newline=[[

]]
	local i = 0
	local row = nill
	row = result['result']['rows'][i]
	while( row ~= nil )
	do
	 --linkedwiki.print_r(row)
	  
	  text = text .. "* ".. row["vignette"] .. " ".. row["date"] .. " ".. row["titre"].." (".. row["gallica"].. ")".. newline
	  
	  i = i + 1
	  row = result['result']['rows'][i]
	end

  return text
end
 
return p