Moduł:Wikidane
Moduł do odczytywania i prezentowania wartości cech z wikidanych powiązanych z bieżącym artykułem.
P
[edytuj]Funkcja do odczytu i prezentacji wartości cechy.
parametry
[edytuj]Pole | Do czego służy? | Jak wypełnić? |
---|---|---|
1 | Numer cechy | Np. 94 (herb) lub 395 (tablice rejestracyjne).
|
id | Opcjonalny identyfikator danych z Wikidanych. Domyślnie odczytywane są cechy z danych powiązanych z bieżącą stroną. | Np. Q42 .
|
separator | Separator wartości, gdy dostępna jest więcej niż jedna (zbiór):
|
Np. lub aby wyświetlić więcej niż jedną datę urodzin.
|
linkuj | Wartość logiczna do sterowania generowaniem linków:
|
Np. tak |
procesor | Wtyczka do formatowania wartości | Pełna nazwa modułu, który w jest odpowiedzialny za formatowanie zawartości cechy. |
bez wartości | Treść wartości specjalnej oznaczająca brak danej cechy. | Zaleca się podawanie odpowiedniej treści, gdyż zależy ona silnie od kontekstu cechy. Domyślna treść bez wartości raczej nie oddaje jasno informacji i dlatego artykuły, które korzystają z domyślnego tekstu umieszczane są w kategorii technicznej Kategoria:Cecha bez wartości. |
ile | Maksymalna liczba wartości do odczytania. | Cecha może zawierać więcej niż jedną wartość oraz domyślnie zwracane są wszystkie najlepsze wyniki. Tym polem można ten zbiór dodatkowo ograniczyć. Pole musi mieć wartość nie mniejszą niż 1. |
P518 | Filtr kwalifikatora „odnosi się do części” | Lista akceptowanych wartości Qnnn. Dopuszczalne są też wartości specjalne novalue, somevalue i missing. Elementy należy oddzielać znakiem odstępu. |
P625 | Filtr kwalifikatora „współrzędne geograficzne” | Wartość globe oznacza, że wymagana jest obecność kwalifikatora z jakimikolwiek współrzędnymi.
|
T
[edytuj]Funkcja do sprawdzenia obecności cechy.
parametry
[edytuj]Pole | Do czego służy? | Jak wypełnić? |
---|---|---|
1 | Numer cechy | Np. 94 (herb) lub 395 (tablice rejestracyjne).
|
id | Opcjonalny identyfikator danych z Wikidanych. Domyślnie odczytywane są cechy z danych powiązanych z bieżącą stroną. | Np. Q42 .
|
P518 | Filtr kwalifikatora „odnosi się do części” | Lista akceptowanych wartości Qnnn. Dopuszczalne są też wartości specjalne novalue, somevalue i missing. Elementy należy oddzielać znakiem odstępu. |
P625 | Filtr kwalifikatora „współrzędne geograficzne” | Wartość globe oznacza, że wymagana jest obecność kwalifikatora z jakimikolwiek współrzędnymi.
|
etykieta
[edytuj]Funkcja do nazwy elementu (domyślnie z bieżącej strony). Jeśli nazwa nie istnieje to zwracana jest nazwa strony bez prefiksów.
parametry
[edytuj]Pole | Do czego służy? |
---|---|
1..N | Kod języka, w którym nazwę chcemy uzyskać. Jeśli podane jest więcej kodów niż jeden (w kolejnych parametrach) to zwracana jest pierwsza znaleziona nazwa. Brak parametrów oznacza domyślnie wybór nazwy w języku polskim. |
id | Opcjonalny identyfikator danych z Wikidanych. Domyślnie odczytywane są cechy z danych powiązanych z bieżącą stroną. |
id
[edytuj]Funkcja do odczytu identyfikatora strony na wikidanych.
parametry
[edytuj]Pole | Do czego służy? |
---|---|
1 | Opcjonalny tytuł strony. Domyślnie brana jest strona bieżąca. |
label
[edytuj]Funkcja do odczytu nazwy elementu w Wikidanych.
parametry
[edytuj]Pole | Do czego służy? |
---|---|
1 | Identyfikator elementu w Wikidanych. Identyfikator musi się zaczynać na P lub Q, po których następuje ciąg cyfr dziesiętnych. |
page
[edytuj]Funkcja do odczytu nazwy strony na Wikipedii.
parametry
[edytuj]Pole | Do czego służy? |
---|---|
1 | Identyfikator elementu w Wikidanych. Identyfikator musi się zaczynać na P lub Q, po których następuje ciąg cyfr dziesiętnych. |
V
i Dump
[edytuj]Funkcje techniczne do odczytu dowolnej gałęzi lub liścia z drzewa danych. V
zwraca wartość liścia, jeśli istnieje. Dump
robi zrzut diagnostyczny wybranej gałęzi.
parametry
[edytuj]Pole | Do czego służy? |
---|---|
1..N | Nazwa lub indeks coraz bardziej zagnieżdżonej gałęzi danych. Interesujące identyfikatory dla pierwszego poziomu to:
|
id | Opcjonalny identyfikator danych z Wikidanych. Domyślnie odczytywane są cechy z danych powiązanych z bieżącą stroną. |
przykłady
[edytuj]- {{#invoke:Wikidane|V|sitelinks|plwikivoyage|title}} – tytuł strony w Wikipodróżach
- {{#invoke:Wikidane|V|sitelinks|commonswiki|title}} – tytuł strony w
- {{#invoke:Wikidane|V|bestclaims|P18|1|mainsnak|datavalue|value}} – nazwa pierwszego pliku z ilustracją w
- {{#invoke:Wikidane|V|bestclaims|P625|1|mainsnak|datavalue|value|latitude}} – szerokość geograficzna z pierwszych dostępnych współrzędnych
- {{#invoke:Wikidane|V|bestclaims|P159|P625=globe|1|qualifiers|P625|1|datavalue|value|latitude}} – szerokość geograficzna z pierwszych dostępnych współrzędnych podanych jako kwalifikator dla siedziby przedsiębiorstwa
uwagi
[edytuj]- Wywołanie Dump jest sygnalizowane w kategorii Kategoria:Wywołanie funkcji diagnostycznej 'Dump' z modułu Wikidanych, która normalnie powinna być pusta.
Na stronie Moduł:Wikidane wykorzystano treści ze strony Moduł:Wikidane w polskiej Wikipedii (link do wersji).
Jej autorzy wymienieni są w historii edycji.
Prawa autorskie: na licencji Creative Commons CC-BY-SA.
local moduleData = mw.loadData("Module:Wikidane/data")
local function loadArg(frame,id)
local result = frame.args[id]
if not result or (#result == 0) then
result = frame:getParent().args[id]
if not result or (#result == 0) then
return nil
end
end
return result
end
local function getEntityData(frame)
local qid = loadArg(frame, "id")
local data = mw.wikibase.getEntityObject(qid)
if not data then
return
end
local f = frame.args[1] and frame or frame:getParent()
local i = 1
if f.args[1] == "bestclaims" then
local pid = f.args[2]
if not pid then
return f, {}, 2
end
local sd = require("Module:Wikidane/select")
local _, qid, prop = sd.selectProperty(pid, sd.prepareFilters(frame), qid)
if not qid then
return nil
end
data = prop
i = 3
end
return f, data, i
end
return {
T = function(frame)
local qid = loadArg(frame, "id")
local pid = loadArg(frame, 1)
if not pid then
return moduleData.errorMissingPropertyId
end
local sd = require("Module:Wikidane/select")
local pid, qid, prop = sd.selectProperty(pid, sd.prepareFilters(frame), qid)
if qid then
return #prop
end
end,
P = function(frame)
local qid = loadArg(frame, "id")
local pid = loadArg(frame, 1)
if not pid then
return moduleData.errorMissingPropertyId
end
local sd = require("Module:Wikidane/select")
local pid, qid, prop = sd.selectProperty(pid, sd.prepareFilters(frame), qid, tonumber(loadArg(frame, "ile")))
if qid then
return require("Moduł:Wikidane/format").run(frame, pid, prop)
end
end,
etykieta = function(frame)
local qid = loadArg(frame, "id")
local entity = mw.wikibase.getEntityObject(qid)
if entity then
local i = 1
local lang = true
while lang do
lang = frame.args[i]
local result = entity:getLabel(lang)
if result and (#result > 0) then
return result
end
i = i + 1
end
end
return mw.title.getCurrentTitle().text .. moduleData.itemWithoutLabelCat
end,
id = function(frame)
local title = loadArg(frame, 1)
return title
and mw.wikibase.getEntityIdForTitle(title)
or mw.wikibase.getEntityIdForCurrentPage()
end,
label = function(frame)
local id = loadArg(frame, 1)
if id and string.match(id, "^[PQ]%d+$") then
return mw.wikibase.label(id)
end
end,
page = function(frame)
local id = loadArg(frame, 1)
if id then
return mw.wikibase.sitelink(id)
else
return nil
end
end,
V = function(frame)
local f, data, i = getEntityData(frame)
if not data then
return nil
end
while true do
local index = f.args[i]
if not index then
return tostring(data)
end
data = data[index] or data[tonumber(index)]
if not data then
return
end
i = i + 1
end
end,
Dump = function(frame)
local f, data, i = getEntityData(frame)
if not data then
return moduleData.warnDump
end
while true do
local index = f.args[i]
if not index then
return "<pre>"..mw.dumpObject(data).."</pre>"..moduleData.warnDump
end
data = data[index] or data[tonumber(index)]
if not data then
return moduleData.warnDump
end
i = i + 1
end
end,
}