Semantic MediaWiki - Wat is het en wat kun je ermee?

in #mediawiki3 years ago

Deze Wiki-tutorial is geschreven door Bart Mulckhuijse van WikiWerkers

Wat is Semantic MediaWiki?

Semantic MediaWiki is niet "zomaar" een uitbreiding van MediaWiki; je kunt op twee manieren naar kijken, technisch (eenvoudig) en vanuit de toepassing (ingewikkelder):

  1. Eenvoudig: Een uitbreiding (extensie) van MediaWiki, waarmee je een Semantische database toevoegt aan je wiki. Tevens voegt de extensie (onder andere) functies toe om geautomatiseerde overzichten uit de Semantische database op een wikipagina te plaatsen of te exporteren.

  2. Wat ingewikkelder: deze extensie voegt een breed kader aan mogelijkheden toe, waarmee je MediaWiki onderdeel maakt van het Semantisch Web.

Omdat deze tutorial een introductie is, gebruiken we verder de eenvoudige benadering.

Naast de extensie Semantic MediaWiki is er nog een hele reeks aan extra extensies beschikbaar, waarmee de mogelijkheden voor opslag, importeren, weergeven en exporteren nog verder uitgebreid kunnen worden. Ook die slaan we hier over; ze verdienen een eigen blog!

Zie ook: MediaWikiGids - Semantic MediaWiki

Waarvoor gebruik je Semantische database?

In de database leg je semantische relaties tussen pagina’s in je wiki vast, in het jargon “triples” genoemd, die dus uit drie delen bestaan (zie ook afbeelding):

  1. Het subject is een een artikel / pagina - of eigenlijk de paginatitel - in de wiki
  2. Het predicaat is een eigenschap (en: property); een pagina in de naamruimte "Eigenschap:"
  3. Het object kan een pagina(titel) zijn, maar ook een tekst, een getal een of een andere type gegeven

image.png

Voorbeeld: Een eenvoudig Nederlandse zin bevat een enkele semantische triple:

Rembrandt is de schilder van De Nachtwacht.

  • Subject: "Rembrandt"
  • Predicaat: "is de schilder van"
  • Object: "De Nachtwacht"

Het leggen van semantische relaties helpt bij het maken van (automatische) overzichten, zoals lijsten en tabellen, met behulp van “queries”. Een voorbeeld (in gewone taal) van een "query" zou kunnen zijn:

Maak een lijst van alle schilderijen, waarvan de schilder "Rembrand" is.

Bron: MediaWikiGids - Triple.

Hoe werkt het vastleggen van semantische triples?

In principe werkt het vastleggen van een semantische link (triple) hetzelfde als een normale link tussen twee pagina’s. De wikitext voor een normale link ziet er als volgt uit:

[[naam van pagina|weergegeven tekst]]

Bij Semantic MediaWiki is er één extra mogelijkheid voor het maken van een link, namelijk het toevoegen van een eigenschap (property), gevolgd door twee dubbele-punten aan die link. Daarmee ziet de linke er dus ook iets anders uit:

[[Eigenschap::Naam van objectpagina|weergegeven tekst]]

In het geval van het voorbeeld over Rembrand, staat er op de pagina "Rembrand":

Rembrand is de schilder van de [[IsDeSchilderVan::De Nachtwacht|Nachtwacht]]

De weergave van het geheel is weer een "gewone" link naar de pagina "De Nachtwacht".

Hoe werken semantische queries?

Technisch gesproken maakt Semantic MediaWiki het mogelijk om een parser-functie op een wikipagina te plaatsen, die automatisch een lijst samenstelt. In het jargon wordt dit een query -een bevraging- van de database genoemd. Het ziet er als volgt uit:

Een semantisch query bestaat uit twee of drie onderdelen:

  1. Criteria waarmee bepaalde pagina’s worden geselecteerd; selectie gebeurt met behulp van de eigenschappen en de categorieën die in de wiki zijn gedefinieerd
  2. Definitie van de gewenste weergave van de gegevens, zoals bijv. de gewenste kolommen in eentabel en het format van de gegevens die daarin moeten worden geplaatst
  3. Parameters om de output te beperken, vorm te geven (bijv. een lijst of tabel), gebruikte sjablonen etc.

Samengevat ziet het geheel er in wikitext als volgt uit:

{{#ask: Criteria
| Definitie 1
| Definitie 2
| Parameter1 = a
| Parameter2 = b
}}

De weergave op de wikipagina kan een lijst of een tabel zijn, maar ook een fotogalerie, een grafiek, een kalender etc. etc.

Voorbeeld: Lijst van schilderijen van Rembrandt:

{{#ask: [[Categorie:Schilderijen]] [[IsGeschilderdDoor::Rembrandt]] <-- Selectiecriteria
| ?Titel                                                            <-- Definitie kolom 1
| ?Jaartal                                                          <-- Definitie kolom 2
| Format  = table                                                   <-- Weergave als tabel
| Limit = 10                                                        <-- Maximaal 10 tabelrijen
}}

Deze query zou een tabel kunnen weergeven met alle titels en jaartal van schilderen van de werken van Rembrandt.

De syntax van de queries is zeer uitgebreid en biedt veel mogelijkheden. Zie hiervoor ook MediaWikiGids - Semantic inline query.

Wanneer heb ik de uitbreiding Semantic MediaWiki nodig?

De mogelijkheden van Semantic MediaWiki zijn uitgebreid en interessant, maar de toepassing niet eenvoudig en het onderhoud van de wiki wordt bewerkelijker. Het is dus belangrijk om af te wegen of een uitbreiding met Semantic MediaWiki nuttig en nodig is.

De belangrijkste overwegingen en argumenten daarvoor zijn:

  • Zodra het lastig wordt om lijsten en overzichten in je wiki handmatig samen te stellen en up-to-date te houden
  • Wanneer je gegevens uit een bestaande database in je wiki wilt gebruiken en weergeven
  • Als je informatie (overzichten) uit je wiki geregeld wilt exporteren, bijvoorbeeld naar andere databases, spreadsheets of andere bestandsvormen.

Hoe kan ik een Semantic MediaWiki implementeren?

Wanneer je het besluit genomen hebt om Semantic MediaWiki te gaan gebruiken, vergt het nog enige planning en voorbereiding om het daadwerkelijk te implementeren. De implementatie van Semantic MediaWiki bestaat uit vier verschillende onderdelen:

  1. Technische implementatie van de extensie
  2. Definitie van de ontologie (eigenschappen, categorieën)
  3. Vastleggen van de relaties
  4. Ontwikkelen van de overzichten (queries)

De technisch implementatie is het meest eenvoudige onderdeel en er zijn hosting leveranciers, die MediaWiki inclusief de semantische extensies aanbieden.

De definitie van de ontologie vergt (naast ervaring met mediawiki) ook ervaring met het definitie van informatiemodellen.

Voor het ontwikkelen van de vastlegging van de relaties is diepgaande kennis nodig van de werking van sjablonen, formulieren in combinatie met semantische queries.

Voor het ontwikkelen van de overzichten (queries) is een goede kennis nodig van de werking van Semantic MediaWiki en algemene kennis over de werking van database-queries.

Verder lezen en leren

Over Semantic MediaWiki

Engelstalige videotutorials (YouTube) over Semantic MediaWiki

  1. Semantic MediaWiki - Overview - Zie de video hierboven
  2. Semantic Mediawiki properties introduction
  3. Semantic MediaWiki properties creation
  4. Semantic MediaWiki combining templates and properties

Gerelateerde onderwerpen

Engelstalige videotutorials (YouTube) over gerelateerd onderwerpen:

  1. MediaWiki - Advantages of MediaWiki as a Content Mangement System
  2. MediaWiki - Introduction to categories
  3. MediaWiki - Using multiple categories
  4. MediaWiki - Introduction to using sub-categories
  5. MediaWiki - Using the category summary
  6. MediaWiki - Introduction to templates
  7. MediaWiki - Basic formatting of templates
  8. MediaWiki - Introduction to template variables
  9. Infoboxes and an introduction to forms

Hulp bij het implementeren en gebruiken van Semantic MediaWiki

WikiWerkers zijn bedreven in het ontwikkelen en vormgeven van Semantic MediaWiki. Zij helpen graag en zijn flexibel in te zetten op uw wiki-project. Stuur ons een bericht en maak vrijblijven kennis in een audio- of videoconferentie. WikiWerkers zijn ook bereikbaar via Discord-chat.


Of neem contact op met de auteur via LinkTree


~+~ WikiWerkers -~- Personal Website -~- Twitter ~+~