Hilfe:Semantisches Wiki
Hier entsteht eine Seite/Werkstatt vorerst für Fortgeschrittene Wiki-Nutzer, um den Umgang mit semantischer Wiki-Syntax knapp und klar mit Anwendungsbeispielen zu beleuchten, also eine Art Kurzreferenz (
) . Eine ausführliche Dokumentation hingegen hält semantic-mediawiki.org bereit.
Inhaltsverzeichnis |
Beziehungen in einem Semantischen Wiki
Datentyp (Type) ·······─>······· Attribut (Property) ↓ wichtig für Da- ↓ ↓ tenauswertung ↓
Beispiele Länge ────────────────────┐ ┌─ Internetseite [[Internetseite::http://www.web.de]] Datum ────────────────────┤ ├─ Geografische Koordinaten Email ────────────────────┤ ├─ Fläche Geografische Koordinaten ─┤ ├─ Länge, Breite [[Länge:: 3mm]] Quellcode ────────────────┤ ├─ Datentyp → Attribut hat „Sonderfunktionen“ Seite ────────────────────┤ Zuweisung zu Attributen ├─ Entspricht [[Entspricht::1m², Quadratmeter]] Temperatur ───────────────┼─>─ attributum: < lateinisch ─>┼─ Jahr Text ─────────────────────┤ das beigelegte (Merkmal) ├─ Journal URI-Annotation ───────────┤ ························ ├─ Projektstatus [[Projektstatus::aktiv| ]] (verborgen) URL ──────────────────────┤ #ask-Formate,Parameter … Wahrheitswert ────────────┤ … Zahl ─────────────────────┤ ├─
Semantik MediaWiki, Zeichenkette ─────────────┘ └─ Institut für Angewandte Informatik ↑ ↑
Datentyp (Type) ·······─>······· Attribut (Property) ↓ ↓
![]()
Spezial:Datentypen (Special:Types) Spezial:Attribute (Special:Properties) besondere/spezielle Attribute + Attribute erstellen + Filter erstellen
![]()
Syntaxbeispiele
Abfragen werden u.a. bewältigt mit:
- {{#ask:...}} und diversen Funktionsparametern
- {{#show:...}}
Folgende einfache Beispiele sollen die Funktionsweise verdeutlichen:
- {{#ask: [[Kategorie:Literatur]] | format = count}} → 142
- {{#ask: [[-Zitat::+]] | format = count}} → 107 (mit „inverser“ Abfrage durch [[-Attribut::…]])
- {{#ask: [[-Zitat::+]] | format = list | limit = 10}}
Aas & Riedmiller 1987, Adolphi 1995, Angermann et al. 1995, Arnold & Ovenden 2004, Benton 2000, Benton 2006, Buchenau 1936, Buhr 1965, Buttler & Hand 2008, Bährmann 1995 … weitere Ergebnisse - {{#ask: [[{{SEITENNAME}}]] | ?Hat Literaturverzeichnis#1,0=}} → gibt 0 oder 1 zurück
- Hilfe ist in {{#ask: [[Hilfe:Start]] | ?Kategorie= | intro = Kategorie_ | default = keiner Kategorie}}
Hilfe ist in Kategorie_Start Allgemeine Hilfe
AnleitungenAttribut definieren
Mit
[[Attributname::Attributwert]]wird generell eine Zuordnung gemacht:[[Internsetseite::http://semantic-mediawiki.org| ]] versteckt [[Internsetseite::http://semantic-mediawiki.org|]] ?Fehler [[Internsetseite::http://semantic-mediawiki.org]] sichtbar [[Internsetseite::http://semantic-mediawiki.org| Alternativtext]] sichtbar [[Internsetseite :: http://semantic-mediawiki.org]] ?keine semantische Definition
Beispiel: mehrere Werte zuweisen.
▼▲Werte mit#arraymapzuweisen …Datenintervalle
… (von-bis Angaben)
Kategorien/Namensräume anzeigen
Fragt man Kategorien ab, werden alle Unterkategorien mitgezählt. Bei {{PAGESINCATEGORY: Kategorie}} ist das Ergebnis jedenfalls anders.
{{#ask: [[Hilfe:+]] | default = Keine Hilfeseite gefunden.}} → alle Hilfeseiten {{#ask: [[Spezial:+]] }} → klappt nicht {{#ask: [[Kategorie:Zoologischer Fachausdruck]] | default = Keine Kategorie gefunden.}} {{#ask: [[Kategorie:Zoologischer Fachausdruck]] | default = Keine Kategorie gefunden. | format = table}}Diverse vordefinierte Formate siehe semantic-mediawiki.org.
Seiten transkludieren
Mit der ask-Funktion und
format = embeddedist so einiges möglich und der Seiten Titel wird als <h1>-Überschrift mit dazugefügt. Diese automatisch gesetzte Überschrift unterdrückt man, durchembedonly = yes. Bei gesetzten Kategorien jedoch muß man aufpassen, da sie mit übernommen werden. Ausschließen kann man sie mit einem <noinclude>… davor. Attribute, die in den einzulesenden Seiten definiert sind, werden i.d.R. nicht mit übernommen. Man kann dies ändern durch explizites an und ausschalten der semantischen Funktionalität mit[[SMW::On]]für an und mit[[SMW::Off]]für aus. Auf diese Weise können Attribute dann auch auf transkludierten Seiten aktiviert werden. Unter Spezial:Vorlagen_expandieren kann man die generierte Syntax einsehen.
Beispiel: finde alle Zitat-Schlüssel auf einer Seite und transkludiere sie. Dies geht nur mit inverser Suche durch ein Minus [[-Attribut::Seitenname]].▼▲Zitat-Schlüssel (=Seiten) auslesen & einbinden…
Beispiel: Glossarseiten zusammenfassen.
▼▲Glossarseiten auslesen & einbinden…Vorlagen einbinden
Interessant ist der Parameter
format = embedded, was den Inhalt transkludiert, den man zusätzlich noch eingeschränkt formatieren kann. Man kann die Ausgabe auch mit eigenen Vorlagen verbinden, wobei die Ergebnisse automatisch den eigenen Vorlagen-Parametern 1, 2, usw. übergeben werden. Je nachdem wieviele Parameter man selbst in der eigenen Vorlage bestimmt hat. Mittemplate = meine Vorlageist dies dann möglich. Um Seiten einfach mit HTML-Tags zu umschließen (wrappen) wurde die Vorlage WrapPageInHtmlElement entwickelt.
Beispiel: Seiten & Vorlagen verbinden.▼▲Zitat-Schlüssel für Literaturverzeichnis auslesen & Anker-ID mit Vorlage WrapPageInHtmlElement wrappen …Formulare erstellen
Die Wikiseite Spezial:CreateForm stellt einen Assistenten bereit, um Formulare neu zu erstellen. Eine Hilfestellung, um diese dann anzupassen, findet man auf der englischen Semantik Enterprise Wiki-Seite. Das Formular kann dann für eine Kategorie angeschaltet werden, indem man auf eben jener Kategorieseite das Attribut einträgt:
[[Hat Standardformular::…]]. Sodann wird auf allen diesen Kategorieseiten das abgerufen, was auf den Definitionsseiten der Formulare steht.
Beispiel: Formularfelder.▼▲Formularfelder definieren …Datenseiten und Filter
Datenseiten stellt die SMW-Erweiterung Semantic Drilldown bereit. Erstellt man einen Filter und wird der Filter selbst in der Top-Kategorieseite mit
[[Hat Filter::Filter:erstellter Name des Filters]]eingebunden, dann erscheint beim durchstöbern dieser Top-Kategorieseite auf der Datenseite zusätzlich eine Zeile mit diesem Filter. Die Reihenfolge der Filter auf der jeweiligen Top-Kategorieseite bestimmt die Reihenfolge auf der Seite, wo die Daten gelistet werden.Filter erlaube es zu sehen, wieviele Seiten es zu einem bestimmten Filter gibt. Ein Filter wiederum kann auf einem Attribut basieren. Ein Beispiel ist Spezial:Daten browsen/Alle Bestimmungsschlüssel mit dem Filter:Zielgruppe.
Den Titel eines Filters ändert um mit
[[Hat Bezeichnung::Abweichender Name des Filters]]. Um Verwirrung bei der Attribut-Zuordnung zu vermeiden, bietet es sich an der Konvention Attributname = Filtername zu folgen.