Différences entre versions de « Module:Oeuvres de l'auteur »

De Gregorius 3.0
Sauter à la navigation Sauter à la recherche
 
(2 versions intermédiaires par le même utilisateur non affichées)
Ligne 10 : Ligne 10 :
 
     }
 
     }
 
}
 
}
mw.log(p.infobox( newFrame ) )
+
mw.log(p.section( newFrame ) )
 
]]
 
]]
  
  
 
local p = {}
 
local p = {}
   
+
 
 +
  local linkedwiki = require 'linkedwiki'
 
function p.section(f)
 
function p.section(f)
     local text = [[
+
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 {   
 +
  ?edition dcterms:creator <http://data.bnf.fr/ark:/12148/cb]] .. f.args["Bnf ID"] .. [[#about> .
 +
  ?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 ==
 
== Œuvres ==
* ''L'âme de la France à Reims, discours prononcé en la basilique de Sainte-Clotilde le 30 septembre 1914'' [http://gallica.bnf.fr/ark:/12148/bpt6k6471509v gallica] [http://gallica.bnf.fr/ark:/12148/bpt6k6565156b gallica]
+
]]
* ''La France, les catholiques et la guerre, réponse à quelques objections'' [http://gallica.bnf.fr/ark:/12148/bpt6k5608403j gallica]
+
* ''Histoire de France,Cours élémentaire'' [http://gallica.bnf.fr/ark:/12148/bpt6k990836s gallica]
+
local newline=[[
* ''Vie de Mgr d'Hulst'' T1 [http://gallica.bnf.fr/ark:/12148/bpt6k97520401 gallica] T2 [http://gallica.bnf.fr/ark:/12148/bpt6k9752321q gallica]
+
 
    ]]
+
]]
 +
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
 
   return text

Version actuelle datée du 21 novembre 2021 à 15:29

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 {    
  ?edition dcterms:creator <http://data.bnf.fr/ark:/12148/cb]] .. f.args["Bnf ID"] .. [[#about> .
  ?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