Semantic Mediawiki

Ein weiterer Eintrag zum Thema Tooling, heute mit dem Thema Semantic Mediawiki.

Es handelt sich hier zunächst ganz profan um das weithin bekannte Mediawiki, welches über die Semantic Mediawiki genannte Extension um die Möglichkeit der semantischen Annotation erweitert wird. Diese annotierten Daten können über eine eigene Syntax in Artikeln referenziert oder abgefragt werden.Entsprechend dem Gedanken des Semantic Web können sie auch anderen Systemen, ergo Maschinen, verfügbar gemacht werden.

Es gibt eine Vielzahl weiterer Extensions, welche die Möglichkeiten der semantischen Erweiterung ausbauen oder den Umgang damit erweitern. Die meisten Semantic Mediawiki Installationen dürften mehrere dieser weiterführenden Plugins im Einsatz haben, so dass bei der Verwendung des Begriffs Semantic Mediawiki deren Verwendung impliziere.

Es gibt zwei besonders hervorzuhebende vorgefertigte Sammlungen von Extensions im Rahmen des Semantic Mediawiki:

  • Semantic Bundle: Stellt eine Sammlung von Extensions zur Verfügung, deren Verwendung sich als Good Practise herausgestellt hat. Diese werden in stabilen Versionen in einem einzigen Download bereitgestellt. Die Installation soll durch vorgefertigte Includes erleichtert werden. Alle Extensions sind Open Source.
  • Semantic Mediawiki+ (SMW+): Produkt der Firma Ontoprise, einer Ausgründung der Forschungsgruppe Wissensmanagement (die verlinkte Seite ist mit Semantic Mediawiki umgesetzt) des Institut für Angewandte Informatik und Formale Beschreibungsverfahren (AIFB) des Karlsruher Instituts für Technologie (KIT). SMW+ ist aus dem Project Halo des Microsoft-Gründers Paul Allen entstanden. Auch hier handelt es sich um ein vorkonfiguriertes Bündel diverser Extensions, die teilweise leicht modifiziert sind. Ziel ist es, ein semantisches Enterprise-Wiki bereitzustellen. Hier gibt es die Community Edition zur freien Verfügung sowie die Enterprise Edition mit Garantie und einem Supportkontingent, beispielsweise vorkonfiguriert als VM-Image, welches behilfs eines Deployment-Frameworks leicht eingerichtet werden kann. Es gibt nicht garantierten, kostenlosen Support in einem Forum und die Möglichkeit, kostenpflichtigen Support in Anspruch zu nehmen. Dazu gibt es einige lizenzpflichtige Erweiterungen, die beispielsweise MS-Office-Produkte oder einen Ontoprise-Triple-Store einbinden.

Ein Großteil der von den obengenannten Sammlungen verwendeten Erweiterungen ist deckungsgleich, wobei das Semantic Bundle mehr Erweiterungen beinhaltet, das SMW+ aber ein konkret abgestimmtes Paket sein möchte.

Grundsätzlich sei gesagt, dass mit jeder weiteren Erweiterung die Wahrscheinlichkeit von Abhängigkeiten oder Querwirkungen zunimmt. So kann bei der Verwendung des Deployment Frameworks je nach der Reichenfolge der Installation der Erweiterungen bei gleicher Konfiguration eine funktionierende oder eine korrupte Installation entstehen. Es ist hier angeraten, sorgfältige Tests durchzuführen, bevor man ein System produktiv setzt.

Persönlich habe ich privat wie auf der Arbeit vor allem Erfahrung mit Project Halo bzw. SMW+ gemacht. Hier habe ich, auf einem älteren Softwarestand, ein größeres System in Betrieb und experimentiere mit den neueren Releases. Viele meiner kommenden Einträge werden sich also vor allem darauf beziehen.

Wer sich schnell und unkompliziert einen ersten Eindruck von Semantic Mediawiki machen möchte, kann dafür auf Referata schnell und kostenlos ein vorkonfiguriertes Wiki erstellen.

So viel für heute.

Protégé

Werfen wir einen Blick auf das Tooling – hier möchte ich zunächst Protégé ansprechen. Dabei handelt es sich um ein javabasiertes Paket, mit dem man Ontologien und Wissensbasen modellieren und betreiben kann. Es läuft auf den gängigen Plattformen Windows, MacOS und Linux.

Es kann lokal oder im Client-Server-Betrieb eingesetzt werden, wobei letzterer bei größeren Datenmengen eher schlecht geeignet ist, zudem gibt es einen Aufsatz, mit dem es auf einem Java Application Server als Webapplikation betrieben werden kann.

Protégé macht mir viel Freude bei der Erstellung nicht-linearer, umfangreicher Dokumentationen, die man gut auf eine einfache Ontologien abbilden und angemessen verknüpfen kann.

Zudem gibt es einige schöne Visualisierungsmodule, mit denen man seine Strukturen als ebensolche darstellen und unersuchen kann.

Auf jeden Fall einen zweiten Blick wert!

 

Grundlagen

Beginnen wir mit einer grundsätzlichen Betrachtung zum von mir ‘semantisches Content Management’ genannten Feld. Meine Aussagen beschreiben hier mein persönliches Verständnis, über andere Sichten oder Hinweise auf Fehler in meinem Verständnis freue ich mich immer!

Anders als bei den Ansätzen eines relationalen Systems, das die Informationen in einem vorher entworfenen Datenmodell verhältnismäßig starr ablegt und ihre Verwendungsmöglichkeit und Bedeutung damit implizit fixiert, werden bei Verwendung von Konzepten des Semantic Web die Informationsartefakte inhärent mit den für sie relevanten Eigenschaften versehen. Dies kann ungewichtet durch einfache Tags bzw. Schlüsselwörter geschehen, oder gewichtet, indem vorher (oder auch im Nachhinein) definierte Eigenschaften mit Werten versehen werten, man spricht hier von Annotation. Dies geschieht in sogenannten Triples aus Subjekt, Prädikat und Objekt. Beispiel: Nico Frieling → hat_wohnort → Gütersloh. Die w3c stellt hierfür ein standardisiertes Dateiformat zur Verfügung, das Resource Description Framework (RDF).

Es entsteht eine Wolke nicht grundsätzlich unterschiedlich gewichteter Artefakte, die rein Ihrer Eigenschaften nach abgefragt werden können. Beispiel: Nenne mir alle Mitarbeider mit Wohnort Gütersloh. Um hier eine sinnvolle Vorgabe zu machen, welche Eigenschaften für welche Artefakte sinnvoll oder auch obligatorisch sind, erstellt man eine formale Abbildung der Bedeutungen mit ihren Zusammenhängen und, so nötig, ihrem Geltungsbereich, eine sogenannte Ontologie. Auch hier gibt es ein standardisiertes Dateiformat, die Web Ontolgy Language (OWL).

Da diese Ontologien ein dem Menschen verständliches Bedeutungsmodell abbilden, kann man Abfragen gegen die Datenmenge zwar noch nicht in der Form, aber im Inhalt so stellen, wie man sie einem Menschen stellen würde. Beispiel: In welchen Bundesländern gibt es Minigolfspieler, die sich mit Semantic Web beschäftigen? Auch für diese Abfragen gibt es einen Standard, wenn auch viele Anwendungen zusätzlich sinnvolle, proprietäre Lösungen haben: die SPARQL Query Language for RDF (SPARQL).

Da die Bedeutungsebene (OWL) getrennt von der Informationsebene (RDF) ist, kann man leicht neue Ontologien auf bestehende, annotierte Datenmengen abbilden. Ebenso kann man vorliegende, strukturierte Informationen durch Mapping in eine semantische Datenwolke überführen und durch eine übergreifende Ontologie mit den vorhandenen Informationen anreichern. Ähnlich wie bei der Business Intelligence/Online Analytical Processing kann man hierdurch Verknüpfungen von Daten aus unterschiedlichen Quellen realisieren. Da hierfür keine definierten Cubes vorausgesetzt sind, kann man Informationen verständlicher und flexibler verknüpfen, aggregieren und auswerten.

Nutzt man die semantische Datenbasis zur klassischen Darstellung von Inhalten, kann man relevante Daten ohne Redundanz (natürlich abgesehen von Sicherungen) ablegen und an den notwendigen Stellen lediglich referenzieren. Dies ermöglicht es, Inkonsistenzen bereits auf konzeptioneller Ebene auszuschließen.

Eröffnung

Hallo zusammen,

in diesem Blog möchte ich vor allem über meine Gedanken zur Verwendung von semantischen Wikis berichten. Seien wir gespannt, was daraus wird. ;)