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
edytujPole | 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 dla daty urodzin lub śmierci
|
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. |
ranga | Filtr cech względem rangi | Dopuszczalne wartości:
|
P518 | Filtr kwalifikatora „odnosi się do części” | Lista akceptowanych wartości w formacie QNNN. Dopuszczalne są też wartości specjalne novalue, somevalue i missing. Elementy należy oddzielać spacją. |
P548 | Filtr kwalifikatora „rodzaj wersji” | Lista akceptowanych wartości w formacie QNNN. Filtr jest używany przez szablon {{wersja oprogramowania}}. Przykład: P548=Q2122918 Q3295609 .
|
P580 | Filtr kwalifikatora „od” | Zbiór z wartości missing, after lub before. |
P582 | Filtr kwalifikatora „do” | Zbiór z wartości missing, after lub before. |
P625 | Filtr kwalifikatora „współrzędne geograficzne” | Wartość globe oznacza, że wymagana jest obecność kwalifikatora z jakimikolwiek współrzędnymi.
|
TYP | Filtr typu wartości cechy | Zbiór z wartości value, novalue lub somevalue. Pozwala na filtrowanie względem rzeczywistej wartości, braku wartości lub nieznanej wartości. |
format | sposób formatowania wyniku inny niż domyślny | zobacz Moduł:Wikidane/format |
T
edytuj
Funkcja do sprawdzenia obecności cechy.
parametry
edytujPole | 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 .
|
ranga | Filtr cech względem rangi | Dopuszczalne wartości:
|
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. |
P548 | Filtr kwalifikatora „rodzaj wersji” | Lista akceptowanych wartości Qnnn. Filtr jest używany przez szablon {{wersja oprogramowania}}. |
P580 | Filtr kwalifikatora „od” | Zbiór z wartości missing, after lub before. |
P582 | Filtr kwalifikatora „do” | Zbiór z wartości missing, after lub before. |
P625 | Filtr kwalifikatora „współrzędne geograficzne” | Wartość globe oznacza, że wymagana jest obecność kwalifikatora z jakimikolwiek współrzędnymi.
|
TYP | Filtr typu wartości cechy | Zbiór z wartości value, novalue lub somevalue. Pozwala na filtrowanie względem rzeczywistej wartości, braku wartości lub nieznanej wartości. |
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
edytujPole | 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
edytujPole | Do czego służy? |
---|---|
1 | Opcjonalny tytuł strony. Domyślnie brana jest strona bieżąca. |
idwiki | Globalny identyfikator danej wiki. Domyślnie ta wartość jest ustawiona na lokalną wiki .
|
label
edytuj
Funkcja do odczytu nazwy elementu w Wikidanych.
parametry
edytujPole | 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
edytujPole | 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. |
site | Opcjonalny identyfikator wiki, z której nazwę strony chcemy czytać. |
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
edytujPole | 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 repozytorium multimediów
- {{#invoke:Wikidane|V|bestclaims|P18|1|mainsnak|datavalue|value}} – nazwa pierwszego pliku z ilustracją w repozytorium multimedió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.
Błędy
edytujPowyższy opis jest dołączany ze strony Moduł:Wikidane/opis. (edytuj | historia)
Zobacz podstrony tego modułu.
Zobacz podstrony tego modułu.
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 and frame:getParent().args[id] or nil;
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.getEntity(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, sd.prepareSnakFilter(frame))
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, false, loadArg(frame, "ranga"), sd.prepareSnakFilter(frame) )
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")), loadArg(frame, "ranga"), sd.prepareSnakFilter(frame))
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.getEntity(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)
if(title)then
return mw.wikibase.getEntityIdForTitle(mw.getContentLanguage():ucfirst(title), loadArg(frame, "idwiki") or mw.wikibase.getGlobalSiteId())
else
return mw.wikibase.getEntityIdForCurrentPage()
end;
end,
label = function(frame)
local id = loadArg(frame, 1)
if id and string.match(id, "^[PQ]%d+$") then
return mw.wikibase.getLabel(id)
end
end,
page = function(frame)
local id = loadArg(frame, 1)
if id then
return mw.wikibase.getSitelink(id, loadArg(frame, "site"))
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,
}