Wikipedia Diskussion:Lua/Modul/Wikidata/Archiv/2014

aus Wikipedia, der freien Enzyklopädie
Letzter Kommentar: vor 8 Jahren von Jobu0101 in Abschnitt PageId irgendeiner Seite auslesen
Zur Navigation springen Zur Suche springen

Bug bei der Anzeige von Referenzen

@Mps, JakobVoss: Beim Aufruf der Funktion {{#invoke:Wikidata|claim|Pxxx|references=ja}} kommt es zu einem Skriptfehler, falls die Referenz auf Wikidata eine Zeitangabe/Datum enthält. Ein Beispiel ist Ma Long, wenn {{#invoke:Wikidata|claim|P1352|references=ja}} eingefügt wird. --Pasleim (Diskussion) Wikipedia Diskussion:Lua/Modul/Wikidata/Archiv/2014#c-Pasleim-2014-06-19T00:44:00.000Z-Bug bei der Anzeige von Referenzen11

Hallo, der Fehler ist jetzt korrigiert. --Mps、かみまみたDisk. Wikipedia Diskussion:Lua/Modul/Wikidata/Archiv/2014#c-Mps-2014-06-19T11:27:00.000Z-Pasleim-2014-06-19T00:44:00.000Z11

Featurewunsch

Hallo,
ich hätte mal einen Featurewunsch für dieses Modul: Es wäre toll, wenn man so ähnlich wie beim englischen Modul (https://en.wikipedia.org/wiki/Module:Wikidata) optional mit einem FETCH_WIKIDATA Parameter o.ä. arbeiten könnte. Also um mal das Beispiel von dort zu übernehmen:

{{#invoke:Wikidata|getValue|p26|{{{spouse|FETCH_WIKIDATA}}} }}

Das würde nur dann die Daten aus Wikidata übernehmen wenn entweder "spouse" nicht angegeben ist oder als Wert "FETCH_WIKIDATA" angegeben wird. Ansonsten wird entweder kein Wert angezeigt (bei "spouse =", also kein Wert) oder der "lokale" Wert aus dem Template übernommen. --Bthfan (Diskussion) Wikipedia Diskussion:Lua/Modul/Wikidata/Archiv/2014#c-Bthfan-2014-07-08T16:45:00.000Z-Featurewunsch11

Hallo, ich habe mir das mal angeschaut finde das aber in enWP auf den ersten Blick etwas seltsam gelöst. Ich würde vorziehen hier einfach einen Parameter default= einzuführen mit dem man das ähnlich lösen kann. Das heißt wenn man will das die Wikidata-Angaben bevorzugt werden und nur wenn keine vorhanden sind, man den Wert eines Vorlagenparameters zurückgibt dann kann man {{#invoke:Wikidata|claim|P26|default={{{spouse|}}} }} verwenden, wenn man jedoch die Vorlagenparameter bevorzugen will und nur wenn dieser leer ist auf Wikidata zurückgreift, dann kann man wie bisher {{{spouse| {{#invoke:Wikidata|claim|P26}} }}} nutzen. Ich werde aber mal am Wochenende detaillierter überprüfen, was der Vorteil der englischen Lösung wäre, und gegebenenfalls das eine oder andere einbauen. --Mps、かみまみたDisk. Wikipedia Diskussion:Lua/Modul/Wikidata/Archiv/2014#c-Mps-2014-07-09T12:22:00.000Z-Bthfan-2014-07-08T16:45:00.000Z11
Hallo, ich habe eine neue Funktion getValue eingebaut, die die erweiterten Fähigkeiten von claim mit der Funktionalität aus der englischen Wikipedia kombiniert. {{#invoke:Wikidata|getValue|p26|{{{spouse|FETCH_WIKIDATA}}} }} müsste hier jetzt genauso funktionieren – abgesehen davon das Artikel nicht automatisch verlinkt werden, was jedoch angegeben werden kann. Die englischen Funktionen getRawValue und getDateValue habe ich nicht übertragen, da da ersteres über geeignete Wahl des parameter-Parameters erreicht werden kann und bzgl. letzteres, sowieso immer ein richtig formatiertes Datum zurückgegeben wird. --Mps、かみまみたDisk. Wikipedia Diskussion:Lua/Modul/Wikidata/Archiv/2014#c-Mps-2014-07-12T22:13:00.000Z-Mps-2014-07-09T12:22:00.000Z11

Noch ein Featurewunsch, start date/end date berücksichtigen?

Hallo,
ich hab direkt noch eine Idee/Wunsch, allerdings bin ich mir selbst noch nicht sicher ob das nicht schon etwas zu speziell für ein allgemeines Modul ist: Es besteht ja die Möglichkeit mittels Qualifiern anzugeben, wann eine Aussage anfängt gültig zu sein, siehe https://www.wikidata.org/wiki/Property:P580 und https://www.wikidata.org/wiki/Property:P582. Ein möglicher Usecase dafür wäre z.B. wenn man historische (ich nenns einfach mal so) Daten in mehreren Claims in einem Item abspeichern will, aber gleichzeitig die neueste Aussage haben will. Beispiel: Bei einer Sportmannschaft wird mit https://www.wikidata.org/wiki/Property:P118 (league) angegeben in welcher Liga diese spielt. Jetzt könnte man aber z.B. auch folgendes abspeichern im Item:

P118: 1. Fußball-Bundesliga (start date:2000, end date: 2002)
P118: 2. Fußball-Bundesliga (start date:2002, end date: 2006)
P118: 1. Fußball-Bundesliga (start date:2006, end date: 2010)
P118: 2. Fußball-Bundesliga (start date:2010)

Um jetzt die aktuelle Liga aus Wikidata rauszubekommen, müsste man dann entsprechend diese claims abarbeiten und sehen was das aktuellste (bzw. möglicherweise auch das nehmen, welches keine Qualifier besitzt). Weiterer use case wäre z.B. bei einem Sportler member of sports team (https://www.wikidata.org/wiki/Property:P54) wenn man das aktuelle Team abrufen will. Oder ganz allgemein gesehen alle Properties, die dafür geeignet sind historische Daten abzuspeichern. Aber wenn ich mir das nochmal überlege, das ist schon eine eher spezielle Funktionalität, die man in einem neuen Modul realisieren könnte. Oder zumindest eine extra Funktion im "Wikidata" Modul dafür basteln. --Bthfan (Diskussion) Wikipedia Diskussion:Lua/Modul/Wikidata/Archiv/2014#c-Bthfan-2014-07-09T15:05:00.000Z-Noch ein Featurewunsch, start date/end date berücksichtigen?11

Dein Problem löst sich am besten direkt in Wikidata mit Ranks. Wenn du beim aktuellen Wert den Rank 'vorrangig' setzt, erscheint nur dieser Wert in Wikipedia. --Pasleim (Diskussion) Wikipedia Diskussion:Lua/Modul/Wikidata/Archiv/2014#c-Pasleim-2014-07-10T00:42:00.000Z-Bthfan-2014-07-09T15:05:00.000Z11
Achja, stimmt, das mit Ranks ist mir bisher entgangen. Ja dann ist mein Featurewunsch quasi obsolet geworden :) (außer es sollte Spezialfälle geben, in denen der Rang nicht ausreicht. Fällt mir aber gerade nix ein). --Bthfan (Diskussion) Wikipedia Diskussion:Lua/Modul/Wikidata/Archiv/2014#c-Bthfan-2014-07-10T06:19:00.000Z-Pasleim-2014-07-10T00:42:00.000Z11

Frage zu Infoboxen

Ich kenn mich nicht so gut aus mit dem Code, aus dem die Infoboxen gebastelt werden. Wie kann man einen Wert aus Wikidata in eine Infobox einfügen, wenn im Artikel kein Wert für diesen angegeben wird? Wie macht man das Beispielsweise mit: {{#invoke:Wikidata|claim|P1352|references=ja|list=, }} und einer Zeile aus der Infobox?

|-
{{#if: {{{PubChem|}}} |
{{!}} [[PubChem]]
{{!}} [http://pubchem.ncbi.nlm.nih.gov/summary/summary.cgi?cid={{{PubChem}}} {{{PubChem}}}]
}}

Danke für die Hilfe! --Tobias1984 (Diskussion) Wikipedia Diskussion:Lua/Modul/Wikidata/Archiv/2014#c-Tobias1984-2014-10-28T17:51:00.000Z-Frage zu Infoboxen11

Hallo, ich gehe jetzt mal im folgenden aus dass statt Rang (P1352) eigentlich PubChem-ID (CID) (P662) gemeint ist. Das würde man obigen Codeschnipsel wie folgt ändern müssen:
|-
{{#if: {{{PubChem|{{#property:P662}}}}} |
{{!}} [[PubChem]]
{{!}} [http://pubchem.ncbi.nlm.nih.gov/summary/summary.cgi?cid={{{PubChem|{{#property:P662}}}}} {{{PubChem|{{#property:P662}}}}}]
}}
In diesem Fall würde erst überprüft ob der Parameter PubChem einen Wert hat und wenn nicht wird automatisch geschaut ob ein Wikidata-Eintrag vorhanden ist. Statt {{#property:P662}} kann man auch {{#invoke:Wikidata|claim|P662}} verwenden, wenn man Infos braucht die ersteres nicht liefert.
Wenn man es dem Ausfüller der Infobox überlassen will ob ein Wikidata geholt werden soll, ginge auch:
|-
{{#if: {{{PubChem|}}} |
{{!}} [[PubChem]]
{{!}} [http://pubchem.ncbi.nlm.nih.gov/summary/summary.cgi?cid={{#invoke:Wikidata|getValue|P662|{{{PubChem}}}}} {{#invoke:Wikidata|getValue|P662|{{{PubChem}}}}}]
}}
In diesem Fall wird nur auf Wikidata zurückgegriffen, wenn der Ausfüller der Vorlage PubChem = FETCH_WIKIDATA schreibt. Der Vorteil dieses Ansatzes neben dem Opt-in, d.h. das es jedem selbst überlassen bleibt wird Wikidata zu nutzen, wäre auch eine etwas bessere Transparenz da aus dem Quelltext eines Artikels ersichtlich wird woher die Daten kommen, wenn evtl. ein Fehler korrigiert werden soll, während das beim vorigen Ansatz die Daten für jemanden der in den Quelltext scheint magisch aus dem Nichts zu kommen scheinen. --Mps、かみまみたDisk. Wikipedia Diskussion:Lua/Modul/Wikidata/Archiv/2014#c-Mps-2014-10-29T13:13:00.000Z-Tobias1984-2014-10-28T17:51:00.000Z11
@Mps: Danke für die Hilfe. Das hat perfekt funktioniert und mir gefällt die opt-in Variante auch besser. --Tobias1984 (Diskussion) Wikipedia Diskussion:Lua/Modul/Wikidata/Archiv/2014#c-Tobias1984-2014-11-02T11:58:00.000Z-Mps-2014-10-29T13:13:00.000Z11

Einzelnachweise einfügen

Ich hab jetzt eine Testinfobox auf Benutzer:Tobias1984/Testseite Warfarin zum laufen gebracht. Nur die Einzelnachweise werden noch nicht als Einzelnachweise sondern als Zeichenkette angezeigt. Ich hab gesehen, dass manche Infoboxen dafür Vorlage:Str match verwenden. Kann mir vielleicht jemand erklären wie man das zusammenstückelt? Aus den Beispielen ist mir das ganze nicht so klar. Oder sollte man diese Funktion direkt im Modul einbinden? --Tobias1984 (Diskussion) Wikipedia Diskussion:Lua/Modul/Wikidata/Archiv/2014#c-Tobias1984-2014-11-02T14:58:00.000Z-Einzelnachweise einfügen11

mit
{{#tag:ref|{{Str match|{{#invoke:Wikidata|claim|P769|references=ja}}|<ref%>(.*)</%ref>|1}}}}
wird der Einzelnachweis als Einzelnachweis dargestellt. Eine direkte Einbindung im Modul wäre aber zu bevorzugen, da die Einzelnachweise eigentlich nie als Zeichenkette benötigt werden. --Pasleim (Diskussion) Wikipedia Diskussion:Lua/Modul/Wikidata/Archiv/2014#c-Pasleim-2014-11-03T10:52:00.000Z-Tobias1984-2014-11-02T14:58:00.000Z11
Danke für den Hinweis. Seltsam, da wurde anscheinend was an der Lua-Schnittstelle geändert, dass das nicht mehr ging. Ich habe es jetzt wieder korrigiert und das ref-Tag sollte jetzt korrekt wiedergegeben werden. Davon abgesehen: könntet ihr mir mal Vorlagen nennen die deswegen Str match verwendet haben, damit ich schauen kann, ob die noch funktionieren und evtl. anpassen kann? --Mps、かみまみたDisk. Wikipedia Diskussion:Lua/Modul/Wikidata/Archiv/2014#c-Mps-2014-11-03T14:19:00.000Z-Tobias1984-2014-11-02T14:58:00.000Z11
In Vorlage:Infobox Tischtennisspieler hatte ich Str match verwendet, habe aber die Infobox bereits angepasst. --Pasleim (Diskussion) Wikipedia Diskussion:Lua/Modul/Wikidata/Archiv/2014#c-Pasleim-2014-11-03T20:00:00.000Z-Mps-2014-11-03T14:19:00.000Z11
@Mps, Pasleim: Danke euch beiden. Das klappt jetzt wunderbar. --Tobias1984 (Diskussion) Wikipedia Diskussion:Lua/Modul/Wikidata/Archiv/2014#c-Tobias1984-2014-11-09T13:54:00.000Z-Pasleim-2014-11-03T20:00:00.000Z11

PageId irgendeiner Seite auslesen

Geht das? –ðuerýzo ?! SOS Wikipedia Diskussion:Lua/Modul/Wikidata/Archiv/2014#c-Queryzo-2014-11-08T22:35:00.000Z-PageId irgendeiner Seite auslesen11

Man kann nur die Id der aktuellen Seite auslesen. --Mps、かみまみたDisk. Wikipedia Diskussion:Lua/Modul/Wikidata/Archiv/2014#c-Mps-2014-11-08T23:31:00.000Z-Queryzo-2014-11-08T22:35:00.000Z11
Ist das genau die gleiche Frage wie aktuell ganz unten? --Jobu0101 (Diskussion) Wikipedia Diskussion:Lua/Modul/Wikidata/Archiv/2014#c-Jobu0101-2016-01-12T11:09:00.000Z-Mps-2014-11-08T23:31:00.000Z11
Stimmt! Du siehst, mein Gehirn arbeitet zyklisch! ein lächelnder Smiley Queryzo ?! Wikipedia Diskussion:Lua/Modul/Wikidata/Archiv/2014#c-Queryzo-2016-01-12T11:22:00.000Z-Jobu0101-2016-01-12T11:09:00.000Z11
Es ist ja gut möglich, dass sich in der Zwischenzeit etwas getan hat. --Jobu0101 (Diskussion) Wikipedia Diskussion:Lua/Modul/Wikidata/Archiv/2014#c-Jobu0101-2016-01-12T11:26:00.000Z-Queryzo-2016-01-12T11:22:00.000Z11