Extension:Semantic Drilldown

This page is a translated version of the page Extension:Semantic Drilldown and the translation is 100% complete.
Příručka k rozšířením MediaWiki
Semantic Drilldown
Stav rozšíření: beta
Implementace Speciální stránka
Popis An extension, based around Semantic MediaWiki , that provides a page for drilling down into the category-based and semantic data of a site, using easily-created filters.
Autoři Yaron Koren
Správci gesinn.it
Nejnovější verze 4.0.0-beta3 (listopadu 2022)
MediaWiki 1.35+
PHP 7,4+
Změny v databázi Ne
Licence GNU General Public License 2.0 nebo novější
Stáhnout
Příklad Narutopedia
  • $wgShowCategoriesAsTabs
  • $wgNumRangesForNumberFilters
  • $wgDisableFilterCollapsible
  • $wgFiltersLargestFontSize
  • $wgHideCategoriesByDefault
  • $wgFiltersSmallestFontSize
  • $wgMinValuesForComboBox
  • $wgHideFiltersWithoutValues
  • $wgNumResultsPerPage
  • $wgResultFormatTypes
Varování Varování: Version 4.0.0 will drop support for PageSchemas.

Rozšíření Semantic Drilldown poskytuje stránku pro drill down v datech webu pomocí kategorií a filtrů na sémantické vlastnosti. Je silně propojena s rozšířením Semantic MediaWiki, které přidává sémantické anotace, které umožňují wiki fungovat jako kolaborativní databáze.

Instalace

  • Aby toto rozšíření fungovalo, musíte mít nainstalovaný Semantic MediaWiki .
  • Ke stažení soubor/y a vložte je do adresáře pojmenovaného SemanticDrilldown ve vaší složce extensions/.
  • Na konec vašeho souboru LocalSettings.php přidejte následující kód:
    wfLoadExtension( 'SemanticDrilldown' );
    
  • Spusťte aktualizační skript, který automaticky provede všechny nezbytné databázové změny, jaké rozšíření vyžaduje.
  •   Dokončeno – Přejděte na stránku Special:Version vaší wiki a zkontrolujte, zda bylo rozšíření úspěšně nainstalováno.

Autoři

Semantic Drilldown was mostly written by Yaron Koren. The code to display drilldown results was written by David Loomer. The 'combo box' jQuery input was created by Sanyam Goyal as part of the 2010 Google Summer of Code. Kód pro propojení s rozšířením Page Schemas vytvořil Ankit Garg jako součást programového léta 2011 Google. Much of the current code for handling date filters was written by Edward Chernenko. Helpful contributions have also been made by MWJames, Joel Natividad and others.

Historie verze

Začínáme

Než nastavíte Semantic Drilldown, měli byste mít nastavené všechny datové struktury na vašem webu – vlastnosti, kategorie, šablony a, pokud je používáte, formuláře. Další informace o tom, jak je nastavit, naleznete v části formuláře stránek "Začínáme" .

Ujistěte se, že nějaké stránky existují, že tyto stránky obsahují anotace a že stránky patří do kategorie.

Po tom všem byste měli nejprve přejít na stránku Special:BrowseData a podívat se, jak vypadá struktura kategorií na vašem webu.

V tuto chvíli máte dvě možnosti v závislosti na tom, zda máte nebo nemáte nainstalované rozšíření Page Schemas . (Stručně řečeno, představuje jediné rozhraní pro generování šablon, formulářů a filtrů.) Pokud používáte schémata stránek, můžete se vrátit ke schématům stránek, která jste již vytvořili (nebo, pokud nemáte, vytvořit nová) a přidat filtry do každé relevantní vlastnosti prostřednictvím rozhraní.

Pokud jej nemáte, měli byste použít funkci analyzátoru #drilldowninfo.

Použití

Special:BrowseData

 
Stránka sémantického rozbalení

Srdcem rozšíření je stránka "Browse data" (procházet data). Uvádí všechny kategorie "nejvyšší úrovně" na wiki. Tj. kategorie, které nejsou podkategoriemi jiné kategorie, a počet stránek v rámci této kategorie. Každý název kategorie je odkazem na "rozbalovací seznam" stránek v dané kategorii. Umožňuje uživateli vybrat další omezení pro omezení počtu výsledků. Tato omezení existují ve dvou typech:

  • Podkategorie – pokud má kategorie nějaké podkategorie, ty se zobrazí v řádku "Podkategorie". Každý z nich bude odkazem, který uživateli umožní zobrazit pouze stránky, které patří do dané podkategorie. Výsledná stránka rozbalení bude obsahovat odkazy na všechny filtry pro kategorii nejvyšší úrovně a jakékoli podkategorie vybrané podkategorie. Můžete tak použít stránku "Procházet data" k procházení celým stromem kategorií.
  • Filtry - filtry založené na sémantických vlastnostech lze nastavit pro jakoukoli kategorii nejvyšší úrovně. Každý takový filtr dostane svůj vlastní řádek v oblasti omezení, aby mohl uživatel omezit výsledky pouze na ty stránky, které mají určité hodnoty pro sémantickou vlastnost. Pro filtry, které odpovídají vlastnostem typu Datum nebo Číslo, existuje speciální manipulace - u filtrů Datum závisí časový rozsah, podle kterého jsou hodnoty seskupeny (roky, měsíce nebo dny), na rozložení aktuální sady hodnot a u filtrů Počet, jsou číselné hodnoty seskupeny do sady rozsahů přibližně stejné velikosti, opět v závislosti na aktuální sadě hodnot.

V zobrazení filtru v rozbalení se hodnoty, které pro ně nemají žádné výsledky, nezobrazí. Filtr také zobrazí dvě další hodnoty: "Other" (jiné) a "None" (žádné). Stránky, které se zobrazují jako "Other", jsou ty, které mají pro vlastnost daného filtru jinou hodnotu než jednu z předem zadaných hodnot. Stránky, které se zobrazují jako "None", jsou ty, které pro danou vlastnost nemají žádnou hodnotu. Hodnoty "Other" a "None" se stejně jako jiné hodnoty filtru nezobrazí, pokud pro ně neexistují žádné výsledky.

Po libovolném počtu kliknutí na různé podkategorie a filtry bude uživatel moci vidět v záhlaví stránky v horní části stránky sadu podkategorií a filtrů, na které klikl a které aktuálně nastavují omezení pro výsledek. Uživatel se může zbavit jakéhokoli omezení kliknutím na "x" vedle jeho názvu v záhlaví.

'Výsledky' rozbalení, tj. sada stránek zobrazených kdykoli během rozbalování, se standardně zobrazují stejným způsobem jako na stránce kategorie MediaWiki. Toto zobrazení však lze přizpůsobit, aby zobrazovalo další hodnoty pro každou stránku nebo zobrazovalo výsledky v jiných formátech, jako jsou tabulky, mapy a časové osy.


#drilldowninfo

The #drilldowninfo parser function should only be added to either top-level categories, or categories whose page contains __SHOWINDRILLDOWN__ - see Excluding and including categories from the list .

#drilldowninfo má následující parametry:

  • filters – přebírá sadu filtrů pro tuto kategorii. Ve většině případů to bude jediná sada parametrů. Filtry by měly být odděleny čárkami a za názvem každého filtru by v závorkách měla být klauzule s některým z následujících:
    • property – vlastnost Semantic MediaWiki, na kterou se tento filtr vztahuje (povinné)
    • category – kategorie MediaWiki, ze které lze získat hodnoty
    • requires – libovolný počet dříve uvedených filtrů, pro které musí uživatel vybrat hodnotu, než uvidí tento filtr.
Example
{{#drilldowninfo:filters=Author (property=Was written by),
Second author (property=Was written by),
Date (property=Was published on),
Source (property=Was published by,category=Sources),
Topic (property=Addresses topic,category=Topics),
For (property=Is for, category=Positions,requires=Topic),
Against (property=Is against,category=Positions,requires=Topic),
Mixed (property=Is mixed on,category=Positions,requires=Topic)}}
Filtry jsou zobrazeny v Special:BrowseData v pořadí, ve kterém jsou uvedeny v #drilldowninfo.
  • title – nastaví název stránky rozbalení pro tuto kategorii (volitelné).
  • header – nastavuje název stránky (např. Template:SD Header), který se zobrazí před filtry.
  • footer – nastavuje název stránky, která se zobrazí po výstupu rozbalení.
  • display parameters – tento parametr vám umožňuje nastavit zobrazení výsledků, jako byste zobrazovali vložené dotazy Semantic MediaWiki: to zahrnuje jak další vlastnosti, které byste chtěli vidět zobrazené, tak formát (jako je mapa nebo kalendář), ve kterém budou výsledky zobrazeny. "display parameters=" přebírá sadu parametrů, jako je vložený dotaz, i když oddělené středníky namísto svislých čar. Chcete-li tedy například zobrazit výsledky rozbalení kategorie na mapě Map Google, můžete mít ve volání následující: "|display parameters=? Has coordinates;format=googlemaps3".
Příklad jednoduchého použití této funkce můžete vidět zde; každá událost má také zobrazeno své město. Příslušný #drilldowninfo hovor je zde.
Existuje několik problémů souvisejících s použitím "display parameters=":
  • Bohužel je v současné době povolen jeden formát pro každou kategorii.
  • Parametry sort= a order= pro vložené dotazy nebudou fungovat – stránky budou vždy seřazeny podle názvu.
  • Od verze Semantic MediaWiki 1.8 a novější se značka wiki a html ve vlastnostech typu text zobrazuje jako prostý text v různých formátech výsledků tabulek (tabulka, široká tabulka, datové tabulky), řešením by bylo pomocí šablony formátu výsledků k vytvoření tabulkového výstupu

Možnosti zobrazení

 
A Semantic Drilldown page with map. (see the result of drilling down)

Zobrazení hodnot filtru ve stylu tag-cloud

Rozbalovací stránku můžete nastavit tak, aby zobrazovala hodnoty pro každý filtr a každou podkategorii ve stylu "tag-cloud", kde velikost názvu každé hodnoty závisí na počtu výsledků, které má. Chcete-li to provést, musíte do souboru LocalSettings.php přidat dvě hodnoty, $sdgFiltersSmallestFontSize a $sdgFiltersLargestFontSize. Ty představují velikost písma názvů nejméně oblíbených a nejoblíbenějších hodnot filtru v pixelech. Zde je příklad:

$sdgFiltersSmallestFontSize=9;
$sdgFiltersLargestFontSize=25;

Ujistěte se, že je přidáte pod zahrnutí samotného Semantic Drilldown.

Nastavení počtu výsledků na stránku

Ve výchozím nastavení se seznam výsledků nebo stránek, které odpovídají aktuální sadě filtrů, zobrazí ve stylu stránky kategorie s maximálně 100 výsledky na stránku. Počet výsledků na stránku v souboru LocalSettings.php můžete změnit nastavením proměnné $sdgNumResultsPerPage. Chcete-li nastavit stránku tak, aby zobrazovala 250 výsledků na stránku, přidejte následující:

$sdgNumResultsPerPage=250;

Nastavení zobrazení hodnot filtru

U filtrů, které mají vyšší než určitý počet hodnot, jsou hodnoty zobrazeny v combo boxu, nikoli jednotlivě. Ve výchozím nastavení je toto číslo 40. Chcete-li změnit číslo, přidejte k LocalSettings.php něco takového:

$sdgMinValuesForComboBox=50;

...nebo jej můžete nastavit na 0 nebo 1, pokud chcete, aby se hodnoty filtru vždy zobrazovaly v rozbalovacím seznamu, aby se zvýšil výkon. Hodnoty zobrazené jednotlivě vyžadují další databázový dotaz, aby bylo možné získat počet instancí této hodnoty.

U filtrů, které odpovídají vlastnostem Number, jsou hodnoty automaticky seskupeny do rozsahů se snahou vytvořit rozsahy zhruba stejné velikosti a přitom mít stále "hezká" čísla pro hranice (např. 1200 místo 1234). Ve výchozím nastavení jsou hodnoty seskupeny do 6 rozsahů. Chcete-li toto číslo změnit, přidejte k LocalSettings.php něco takového:

$sdgNumRangesForNumberFilters=4;

Skrytí filtrů bez hodnot

Ve výchozím nastavení filtry bez hodnot zobrazují zprávu "(Pro tento filtr nejsou žádné hodnoty)".

Pokud chcete skrýt filtry bez hodnot, nastavte

$sdgHideFiltersWithoutValues=false;

Zobrazení kategorií

By default, a list of all top-level categories on the wiki shows up on one side of the "Browse data" page, to let users navigate to the drilldown interface for each such category. However, this display can be modified in a number of ways.

Odstranění seznamu kategorií

Možná budete chtít, aby se na stránce rozbalování zobrazovala data pouze pro jednu kategorii a nezobrazoval se seznam ostatních kategorií. Chcete-li to provést, stačí přidat řetězec ?_single kamkoli do řetězce dotazu URL. Tím se odstraní seznam kategorií.

Zobrazení názvů kategorií jako karet

Pokud k LocalSettings.php přidáte následující řádek:

$sdgShowCategoriesAsTabs = true;

...zobrazí kategorie jako karty v horní části stránky, nikoli ve svislém seznamu na straně stránky. Tato možnost má větší smysl pro weby s menším počtem kategorií (méně než sedm nebo tak nějak).

Vyloučení a zařazení kategorií ze seznamu

You may want certain categories to not show up in the top-level list of categories. Kategorii můžete snadno odstranit přidáním následujícího kamkoli na stránku kategorie:

__HIDEFROMDRILLDOWN__

Naopak existují některé kategorie, které možná budete chtít zobrazit v hlavním seznamu BrowseData, i když se nejedná o kategorie nejvyšší úrovně. Můžete toho dosáhnout také přidáním následujícího na stránku kategorie:

__SHOWINDRILLDOWN__

Naopak můžete také nastavit, aby se kategorie zobrazovaly v seznamu pouze v případě, že je konkrétně zahrnete, tzn. mít přístup opt-in místo opt-out. Můžete to udělat přidáním následujícího k LocalSettings.php

$sdgHideCategoriesByDefault = true;

Pokud tak učiníte, zobrazí se pouze kategorie označené __SHOWINDRILLDOWN__. (Označení __HIDEFROMDRILLDOWN__ se na druhé straně stane irelevantní.)

Odkaz na stránku s rozbalením

Nejlepší způsob, jak propojit Special:BrowseData, je pomocí funkce analyzátoru #drilldownlink. Má následující syntaxi;

{{#drilldownlink:category=|subcategory=|single|link text=|tooltip=|filters=}}

Parametry jsou následující:

  • category – název kategorie
  • subcategory – podkategorie, pokud existuje
  • single – pokud je tento parametr přidán, seznam kategorií se nezobrazí
  • link text – text odkazu; ve výchozím nastavení je to název kategorie
  • tooltip – text, který se zobrazí, když kurzor najede na odkaz, pokud existuje
  • filters – sadu filtrů, které se mají použít, ve formátu a=b&c=d&...

Stránky, které používají sémantický rozbor

Zde je malá ukázka webů, které používají sémantický rozbor:

Seznam adresátů

Pro jakékoli dotazy, návrhy nebo hlášení chyb ohledně sémantického rozboru byste měli použít seznam adresátů Semantic MediaWiki semediawiki-user. Je-li to možné, přidejte na začátek předmětu "[SD]", abyste předmět objasnili.

Přispívání do projektu

Chyby a požadavky na funkce

Hlášení o chybách a požadavky na nové funkce můžete odesílat ve sledovači chyb GitHubs.

Aktuální seznam známých chyb a požadovaných funkcí pro Semantic Drilldown lze nalézt zde.

Překlad

Překlad Semantic Drilldown se provádí prostřednictvím translatewiki.net. Překlad tohoto rozšíření lze nalézt zde. Chcete-li přidat jazykové hodnoty nebo změnit stávající, měli byste si vytvořit účet na translatewiki.net a poté požádat administrátory o povolení k překladu určitého jazyka nebo jazyků na této stránce (toto je velmi jednoduchý proces). Jakmile budete mít oprávnění pro daný jazyk, můžete se přihlásit a přidávat nebo upravovat jakékoli zprávy, které chcete v tomto jazyce.

Související odkazy

  • Cargo – poskytuje podobné rozbalovací rozhraní nad jiným úložným systémem