Différences entre versions de « Module:Carrousel »

De Gregorius 3.0
Sauter à la navigation Sauter à la recherche
Ligne 20 : Ligne 20 :
 
   local subject = f.args.iri or linkedwiki.getCurrentIRI();
 
   local subject = f.args.iri or linkedwiki.getCurrentIRI();
 
    
 
    
-- local idConfigWikidata ='http://www.wikidata.org'
+
-- -- local idConfigWikidata ='http://www.wikidata.org'
-- linkedwiki.setConfig(idConfigWikidata)
+
-- -- linkedwiki.setConfig(idConfigWikidata)
  local queryStr = [[
+
--  local queryStr = [[
PREFIX p: <http://www.wikidata.org/prop/>  
+
-- PREFIX p: <http://www.wikidata.org/prop/>  
PREFIX pq: <http://www.wikidata.org/prop/qualifier/>  
+
-- PREFIX pq: <http://www.wikidata.org/prop/qualifier/>  
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>  
+
-- PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>  
PREFIX wd: <http://www.wikidata.org/entity/>  
+
-- PREFIX wd: <http://www.wikidata.org/entity/>  
  
select distinct  ( COALESCE(?nomPrecedent, "")  as ?nomp ) ( COALESCE(?nomSuivant, "")  as ?noms ) where {  
+
-- select distinct  ( COALESCE(?nomPrecedent, "")  as ?nomp ) ( COALESCE(?nomSuivant, "")  as ?noms ) where {  
  <]] .. subject ..  [[>
+
--  <]] .. subject ..  [[>
  <http://gregorius.dsi.universite-paris-saclay.fr/wiki/Property:WikidataID> ?idWikidata .
+
--  <http://gregorius.dsi.universite-paris-saclay.fr/wiki/Property:WikidataID> ?idWikidata .
  
   SERVICE <https://query.wikidata.org/sparql> {
+
--   SERVICE <https://query.wikidata.org/sparql> {
           ?idWikidata p:P39 ?stat .
+
--           ?idWikidata p:P39 ?stat .
  
           ?stat pq:P1365 ?precedent ;
+
--           ?stat pq:P1365 ?precedent ;
               pq:P1366 ?suivant .
+
--               pq:P1366 ?suivant .
  
             ?precedent rdfs:label ?nomPrecedent .
+
--             ?precedent rdfs:label ?nomPrecedent .
             ?suivant rdfs:label ?nomSuivant .
+
--             ?suivant rdfs:label ?nomSuivant .
  
             FILTER (langMatches(lang(?nomPrecedent), "fr")
+
--             FILTER (langMatches(lang(?nomPrecedent), "fr")
                     && langMatches(lang(?nomSuivant), "fr")
+
--                     && langMatches(lang(?nomSuivant), "fr")
                     )
+
--                     )
   }
+
--   }
}  
+
-- }  
  ]]
+
--  ]]
 
    
 
    
  local result = linkedwiki.query(queryStr)
+
--  local result = linkedwiki.query(queryStr)
linkedwiki.print_r(result)
+
-- linkedwiki.print_r(result)
 
    
 
    
local newline = [[
+
-- local newline = [[
  
]]
+
-- ]]
  
  local suivant =  result['result']['rows'][0]['noms']  
+
-- local suivant =  result['result']['rows'][0]['noms']  
  local precedent =  result['result']['rows'][0]['nomp']  
+
-- local precedent =  result['result']['rows'][0]['nomp']  
  
  
return '{| class="wikitable" align="right"'..newline
+
-- return '{| class="wikitable" align="right"'..newline
          .. '|- '..newline
+
--          .. '|- '..newline
          .. '| style="width:150px;text-align:left;"|  [['.. precedent .. '|< '.. precedent .. ']] '..newline
+
--          .. '| style="width:150px;text-align:left;"|  [['.. precedent .. '|< '.. precedent .. ']] '..newline
          .. '| style="width:150px;text-align:right;"| [[' .. suivant ..'|' .. suivant ..' > ]]'..newline
+
--          .. '| style="width:150px;text-align:right;"| [[' .. suivant ..'|' .. suivant ..' > ]]'..newline
          .. '|}'
+
--          .. '|}'
 
   
 
   
 
+
return subject
 
end
 
end
 
return p
 
return p

Version du 27 octobre 2021 à 15:06

La documentation pour ce module peut être créée à Module:Carrousel/doc

--[[
-- Debug console

frame = mw.getCurrentFrame() -- Get a frame object
newFrame = frame:newChild{ -- Get one with args
 title = 'Adrien IV' ,
 args = { 
 iri = 'https://gregorius.dsi.universite-paris-saclay.fr/wiki/Adrien_VI' ,
 'Adrien IV',  'Pie  VII' }
}
mw.log(p.carrousel( newFrame ) )

]]

local p = {}
function p.carrousel(f)
    local linkedwiki = require 'linkedwiki'
    linkedwiki.setCurrentFrame(mw.getCurrentFrame())
    
   local subject = f.args.iri or linkedwiki.getCurrentIRI();
   
-- --	local idConfigWikidata ='http://www.wikidata.org'
-- --	linkedwiki.setConfig(idConfigWikidata)
--   local queryStr = [[
-- PREFIX p: <http://www.wikidata.org/prop/> 
-- PREFIX pq: <http://www.wikidata.org/prop/qualifier/> 
-- PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
-- PREFIX wd: <http://www.wikidata.org/entity/> 

-- select distinct  ( COALESCE(?nomPrecedent, "")  as ?nomp ) ( COALESCE(?nomSuivant, "")  as ?noms ) where { 
--   <]] .. subject ..   [[>
--   <http://gregorius.dsi.universite-paris-saclay.fr/wiki/Property:WikidataID> ?idWikidata .

--   SERVICE <https://query.wikidata.org/sparql> {
--           ?idWikidata p:P39 ?stat .

--           ?stat pq:P1365 ?precedent ;
--               pq:P1366 ?suivant .

--             ?precedent rdfs:label ?nomPrecedent .
--             ?suivant rdfs:label ?nomSuivant .

--              FILTER (langMatches(lang(?nomPrecedent), "fr")
--                     && langMatches(lang(?nomSuivant), "fr")
--                     )
--   }
-- } 
--   ]]
   
--   local result = linkedwiki.query(queryStr)
-- linkedwiki.print_r(result)
   
-- 	local newline = [[

-- ]]

--  local suivant =   result['result']['rows'][0]['noms'] 
--  local precedent =   result['result']['rows'][0]['nomp'] 


-- 	return '{| class="wikitable" align="right"'..newline
--           .. '|- '..newline
--           .. '| style="width:150px;text-align:left;"|  [['.. precedent .. '|< '.. precedent .. ']] '..newline
--           .. '| style="width:150px;text-align:right;"| [[' .. suivant ..'|' .. suivant ..' > ]]'..newline
--           .. '|}'
 
return subject
end
return p