Modul:LinkedWiki: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
(44 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 4: | Zeile 4: | ||
local linkedwiki = require 'linkedwiki' | local linkedwiki = require 'linkedwiki' | ||
local frame = mw.getCurrentFrame() | |||
-- init the prefix | -- init the prefix | ||
Zeile 15: | Zeile 17: | ||
local ps = 'http://www.wikidata.org/prop/statement/' | local ps = 'http://www.wikidata.org/prop/statement/' | ||
local dateFormat = " | local dateFormat = "Y" | ||
local subject = f.args.iri or linkedwiki.getCurrentIRI(); --find the iri of the current page | local subject = f.args.iri or linkedwiki.getCurrentIRI(); --find the iri of the current page | ||
Zeile 27: | Zeile 29: | ||
local objWikidata = nil | local objWikidata = nil | ||
local objWikidataTitle = "" | local objWikidataTitle = "" | ||
local linkWikidata = "" | local linkWikidata = "" | ||
local propertyZDB = wdt..'P1042' | |||
local propertyTitel = wdt..'P1476' | |||
local propertyAuthor = wdt..'P2093' | |||
local propertyJournal = wdt..'P1433' | |||
local propertyIssue = wdt..'P433' | |||
local propertyPubDate = wdt..'P577' | |||
local propertyPage = wdt..'P304' | |||
if not linkedwiki.isEmpty(f.args['Wikidata ID']) then | if not linkedwiki.isEmpty(f.args['Wikidata ID']) then | ||
local idConfigWikidata = 'http://www.wikidata.org' | local idConfigWikidata = 'http://www.wikidata.org' | ||
local taglang = 'de' | local taglang = 'de' | ||
local datums = nil | |||
citeq_args = {} | |||
iriWikidata = wd .. f.args['Wikidata ID'] | iriWikidata = wd .. f.args['Wikidata ID'] | ||
objWikidata = linkedwiki.new(iriWikidata, idConfigWikidata, taglang) | objWikidata = linkedwiki.new(iriWikidata, idConfigWikidata, taglang) | ||
linkWikidata = '[[d:' .. f.args['Wikidata ID'] .. '|' .. f.args['Wikidata ID'] ..']]' | linkWikidata = '[[d:' .. f.args['Wikidata ID'] .. '|' .. f.args['Wikidata ID'] ..']]' | ||
--zdb = 'ZDB: [http://ld.zdb-services.de/resource/'..objWikidata:getValue(propertyZDB)..' '..objWikidata:getValue(propertyZDB)..']' | |||
citeq_args["Titel"] = objWikidata:getString(propertyTitel,taglang) | |||
citeq_args["Autor"] = objWikidata:getValue(propertyAuthor) | |||
objWikidataJournal= linkedwiki.new(objWikidata:getValue(propertyJournal), idConfigWikidata, taglang) | |||
citeq_args["Sammelwerk"] = objWikidataJournal:getString(propertyTitel,taglang) | |||
citeq_args["Seiten"] = objWikidata:getValue(propertyPage) | |||
citeq_args["Nummer"] = objWikidata:getValue(propertyIssue) | |||
datums = objWikidata:getValue(propertyPubDate) | |||
citeq_args["Datum"] = string.sub(datums,1,4) | |||
end | end | ||
--return '{{Literatur|Titel=' .. title ..'|Autor=' .. autor .. '}}' | |||
template = 'Literatur' | |||
return frame:expandTemplate{title = template, args = citeq_args} | |||
--return objWikidata:getValue(propertyAuthor) | |||
end | end | ||
return p | return p |
Aktuelle Version vom 26. April 2021, 20:59 Uhr
Die Dokumentation für dieses Modul kann unter Modul:LinkedWiki/Doku erstellt werden
local p = {}
function p.infobox(f)
local linkedwiki = require 'linkedwiki'
local frame = mw.getCurrentFrame()
-- init the prefix
local rdf = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'
local rdfs = 'http://www.w3.org/2000/01/rdf-schema#'
local xsd = 'http://www.w3.org/2001/XMLSchema#'
local wdt = 'http://www.wikidata.org/prop/direct/'
local wd = 'http://www.wikidata.org/entity/'
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 = "Y"
local subject = f.args.iri or linkedwiki.getCurrentIRI(); --find the iri of the current page
local object = linkedwiki.new(subject)
--object:setDebug(true)
object:removeSubject() -- delete all triples of this subject
--compare data with Wikidata
local iriWikidata = ""
local objWikidata = nil
local objWikidataTitle = ""
local linkWikidata = ""
local propertyZDB = wdt..'P1042'
local propertyTitel = wdt..'P1476'
local propertyAuthor = wdt..'P2093'
local propertyJournal = wdt..'P1433'
local propertyIssue = wdt..'P433'
local propertyPubDate = wdt..'P577'
local propertyPage = wdt..'P304'
if not linkedwiki.isEmpty(f.args['Wikidata ID']) then
local idConfigWikidata = 'http://www.wikidata.org'
local taglang = 'de'
local datums = nil
citeq_args = {}
iriWikidata = wd .. f.args['Wikidata ID']
objWikidata = linkedwiki.new(iriWikidata, idConfigWikidata, taglang)
linkWikidata = '[[d:' .. f.args['Wikidata ID'] .. '|' .. f.args['Wikidata ID'] ..']]'
--zdb = 'ZDB: [http://ld.zdb-services.de/resource/'..objWikidata:getValue(propertyZDB)..' '..objWikidata:getValue(propertyZDB)..']'
citeq_args["Titel"] = objWikidata:getString(propertyTitel,taglang)
citeq_args["Autor"] = objWikidata:getValue(propertyAuthor)
objWikidataJournal= linkedwiki.new(objWikidata:getValue(propertyJournal), idConfigWikidata, taglang)
citeq_args["Sammelwerk"] = objWikidataJournal:getString(propertyTitel,taglang)
citeq_args["Seiten"] = objWikidata:getValue(propertyPage)
citeq_args["Nummer"] = objWikidata:getValue(propertyIssue)
datums = objWikidata:getValue(propertyPubDate)
citeq_args["Datum"] = string.sub(datums,1,4)
end
--return '{{Literatur|Titel=' .. title ..'|Autor=' .. autor .. '}}'
template = 'Literatur'
return frame:expandTemplate{title = template, args = citeq_args}
--return objWikidata:getValue(propertyAuthor)
end
return p