Help:Konzeptcaching

From semantic-mediawiki.org
Jump to: navigation, search
Semantic MediaWiki-
Administratorenanleitung
Herunterladen
Installation
Konfiguration
Konzeptcaching
Saubere URIs
SPARQL und RDF-Speicher
Fehlerbehandlung
Datenreparatur
Softwareerweiterungen
Basiserweiterungen

SMW-Erweiterungen

Semantic MediaWiki-
Nutzeranleitung

Um die Antwortzeit von Abfragen bei den Semantischen Suchen zu beschleunigen, die Konzepte verwenden, bietet Semantic MediaWiki (SMW) einen speziellen Mechanismus zur Vorberechnung der Abfrageergebnisse, der Konzeptcaching genannt wird. Diese Funktion ist besonders für umfangreiche Wikis nützlich, die komplexe Abfragen geordnet durchführen möchten. Insbesondere ist es anhand verschiedener Optionen möglich festzulegen, welche Abfragen direkt durchgeführt werden dürfen und welche eines vorhandenen Cache (Datenpuffer) bedürfen.

Die Leistungssteigerung, die durch das Caching einer Konzeptabfrage erzielt wird, ist vergleichbar mit der Auswirkung, die der Austausch der Verwendung einer Konzeptabfrage durch eine MediaWiki-Kategorie hätte. Sie beeinflusst alle semantischen Abfragen, die dieses Konzept nutzen, wie auch die Anzeige der Ergebnisse der Konzeptabfrage auf der Konzeptseite an sich. Andererseits können vorberechnete Ergebnisse einer Konzeptabfrage veralten und so nicht mehr mit den Inhalten des Wikis übereinstimmen. Es ist daher möglich zu bestimmen, wie alt ein vorberechnetes Ergebnis maximal sein darf, bis SMW es neu zu berechnen versucht.

Contents

Erstellen und Verwalten von Konzeptcaches

Entsprechend der Standardkonfiguration wird SMW einen Konzeptcache immer dann verwenden, sofern er vorhanden und nicht älter als ein Tag ist. Um einen Cache für eine Konzeptanfrage zu erstellen, wird das Wartungsskript SMW_conceptCache.php genutzt. Analog anderen SMW-Skripten wird es ausgeführt, indem im Pfad „[Pfad zur Semantic MediaWiki-Installation]/maintenance/“ die Anweisung

php SMW_conceptCache.php

ausführt. Während der Ausführung des Skriptes wird eine Dokumentation zur Anwendung desselben angezeigt. Sofern die Aktion fehlschlägt, liegt möglicherweise eine nicht standardkonforme Verzeichnisstruktur des Wikis vor. In der Datei „[Pfad zur Semantic MediaWiki-Installation]/maintenance/README“ ist dokumentiert, wie Skripte in diesem Fall ausgeführt werden können.

Das Skript SMW_conceptCache.php verfügt über drei grundlegende Ausführungsmodi, die mit Hilfe der folgenden Parameter ausgewählt werden können:

Jede der genannten Aktionen bezieht sich auf alle vorhandenen Konzeptabfragen. Es können allerdings etliche Parameter gesetzt werden, welche die Ausführung der Skripte auf bestimmte Konzeptabfragen beschränken:

Diese Optionen können zudem miteinander kombiniert werden, um die Auswahl der betroffenen Konzeptabfragen weiter zu begrenzen. Beispielsweise führt die Anweisung

php SMW_conceptCache.php --create --update --old 30

dazu, dass nur Caches für die Konzeptabfragen erzeugt werden, die bereits über einen Cache verfügen, welche dabei aber älter als 30 Minuten sein müssen.

Konfiguration von SMW für den Einsatz von Caches

SMW verfügt über drei grundlegende Möglichkeiten, um Konzeptabfragen selbst sowie auf Seiten im Konzeptnamensraum zu verarbeiten:

Standardmäßig nutzt SMW vorhandene Caches, sofern diese nicht älter als ein Tag sind. Zudem werden Elemente von Konzeptabfragen direkt berechnet, sofern die aktuellen Einstellungen des Wikis deren Ausführung als reguläre eingebettete Abfrage ermöglichen. Es ist aber möglich Konzeptabfragen zu erstellen, die nicht als eingebettete Abfrage ausgeführt werden können, da die Einschränkungen hinsichtlich Größe und Komplexität weniger streng sind, als bei eingebetteten Abfragen. Ergebnisse solcher Konzepte werden standardmäßig nur aus dem Cache abgerufen, gleich wie alt diese sein mögen, oder gar nicht ermittelt. Der folgende Abschnitt erläutert die relevanten Parameter solche ein Verhalten zu konfigurieren.

Welche Abfragen können als eingebettete Abfragen durchgeführt werden?

Drei Parameter werden dazu herangezogen, um festzustellen, wie „komplex“ eine Abfrage ist: Größe, Tiefe sowie die Abfragemöglichkeiten, die sie nutzt. Die Größe wird im Wesentlichen von der Gesamtzahl der Abfragebedingungen innerhalb einer Abfrage bestimmt. die Tiefe bezeichnet die maximale Anzahl verketteter Attributaussagen. Beispielsweise hat [[Attribut::Wert]] die Tiefe 1 sowie [[Attribut1.Attribut2::Wert]] [[Kategorie:Beispiel]] die Tiefe 2. Die Abfragemöglichkeiten sind die Arten der Abfragebedingungen die verwendet werden. Die Abfrage #ask mit format=debug ermöglicht es Größe wie Tiefe einer Abfrage zu ermitteln.

SMW verfügt über Konfigurationsoptionen, welche die maximale Größe und Tiefe festlegen, sowie die verfügbaren Abfragemöglichkeiten beschränken können, die als eingebettete Abfrage oder auf Spezialseiten durchgeführt werden können. Diese Parameter und ihre Standardeinstellungen sind:

Standardmässig sind alle Abfragemöglichkeiten zulässig, wobei dies auf großen Wikis beschränkt werden kann. Um lediglich Abfragen in Kategorien oder Konzeptabfragen zuzulassen, würde man beispielsweise folgende Einstellung in der Datei LocalSettings.php vornehmen:

$smwgQFeatures = SMW_CATEGORY_QUERY | SMW_CONCEPT_QUERY;

Um zusätzlich auch eine Verknüpfung (Schnittmenge) dieser beiden zulässigen Abfragemöglichkeiten zu ermöglichen, stellt man folgendes ein:

$smwgQFeatures = SMW_CATEGORY_QUERY | SMW_CONCEPT_QUERY | SMW_CONJUNCTION_QUERY;

Sofern eine Abfrage gemäss dieser Einstellungen nicht zulässig ist, wird sie zu einer einfacheren Abfrage reduziert. Konzeptabfragen können hingegen Abfragen nutzen, die nicht diesen Anforderungen entsprechen. In diesem Fall werden Konzeptabfrage aber nicht direkt ausgeführt sowie deren Ergebnisse erst dann angezeigt, sobald für sie ein Cache generiert wurde. Hiervon betroffene Konzeptabfragen können mit der Option --hard bei der Ausführung der Datei SMW_conceptCache.php ausgewählt werden:

php SMW_conceptCache.php --hard

Auf diese Weise können die Benutzer des Wikis Konzeptabfragen erstellen und somit vorschlagen, während die Administratoren des Wikis die Caches berechnen lassen können, sofern die Konzeptabfrage realisierbar ist.

Welche Abfragen sind innerhalb von Konzeptabfragen möglich?

Für Konzeptabfragen unterstützt SMW Einstellungen, ähnlich den oben erläuterten, allerdings mit etwas veränderten Standardeinstellungen:

Auch diese Einstellungen können in der Datei LocalSettings.php geändert werden. Die Standardeinstellungen zeigen, dass bei Konzeptabfragen mehr Abfragemöglichkeiten bestehen, als bei eingebetteten Abfragen mit #ask. Wie bereits erwähnt, werden Konzeptabfragen nur dann ausgeführt, wenn ein Cache für sie verfügbar ist.

Schwere und einfache Konzeptabfragen

Die obigen Abschnitte erläuterten Konzeptabfragen, die von SMW als „schwer“ zu bezeichnen sind. Standardmäßig sind dies Abfragen, die nicht in Form einer eingebetteten Abfrage möglich sind. Dies kann geändert werden, indem man den Wert des Parameters $smwgQConceptCaching ändert. Die hierbei möglichen Einstellungen sind:

Die Standardeinstellung in SMW lautet $smwgQConceptCaching = CONCEPT_CACHE_HARD;

Wann werden verfügbare Caches genutzt?

„Schwere“ Konzeptabfragen werden stets versuchen einen Cache zu nutzen, da sie ohne ihn kein Ergebnis ausgeben können. Bei „leichten“ Konzeptabfragen ist die sofortige Neuberechnung der Ergebnisse möglich, wobei SMW das Alter des Caches hinzuziehen wird, um hierüber eine Entscheidung zu treffen. Der hierfür konfigurierbare Parameter $smwgQConceptCacheLifetime legt fest, wie alt (in Minuten) ein Cache maximal sein darf. Ältere Caches werden nicht verwendet, sofern es die Einstellungen von SMW ermöglichen, die Abfrageelemente direkt zu berechnen.

Die Standardeinstellung lautet:

was einem Tag entspricht.


Diese Dokumentationsseite gilt für alle SMW-Versionen von 1.3 bis zur aktuellsten Version.
      Andere Sprachen: en

Help:Concept caching de 1.3


Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox