Différences entre versions de « Module:Carrousel »
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 = [[ | |
− | 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 .. [[> | |
− | + | -- <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) | |
− | 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 | |
− | + | -- .. '| style="width:150px;text-align:left;"| [['.. precedent .. '|< '.. precedent .. ']] '..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