RNA Toolset - referentienetwerk

Item types en predicates

Item types en predicates vormen samen de basis van een RNA-omgeving. Met het definiëren van de item types geef je aan welke soorten entiteiten er in je kennissysteem voor kunnen komen. Met de predicates bepaal je welke relaties die entiteiten kunnen hebben, met elkaar of met content items buiten de RNA-omgeving.

De structuren met item types en predicates worden de systeemstructuren genoemd. Er kan maar één ItemTypes structuur en één  Predicates structuur aangemaakt worden.

Item types

Item types kunnen vrij gedefiniëerd worden. Het is aan te raden om hierbij een hiërarchische indeling aan te houden, zowel voor de duidelijkheid - zie onderstaande afbeelding - als om gebruik te kunnen maken van de principes van overerving, wat wordt toegelicht in het artikel "Modellering", onder "Hiërarchie en overerving".  

Het aanmaken van item types gaat als volgt:

  • Als er nog geen structuur "ItemTypes" bestaat, maak deze dan eerst aan. Zie hiervoor "RNA Toolset - structuren",  onder "Structuur aanmaken".  
  • Klik met de rechter muisknop op een bestaand item type waaronder het nieuwe item type aangemaakt moet worden, en ga verder te werk zoals beschreven is in "RNA Toolset - items", onder "Item aanmaken".

Predicates

Predicates kunnen vrij gedefiniëerd worden. Het is ook hier aan te raden om hierbij een hiërarchische indeling aan te houden, zowel voor de duidelijkheid - zie onderstaande afbeelding - als om gebruik te kunnen maken van de principes van overerving, wat wordt toegelicht in het artikel "Modellering", onder "Hiërarchie en overerving". 

 

Het aanmaken van predicates gaat als volgt (zie ook onderstaande afbeelding):

  • Als er nog geen structuur "Predicates" bestaat, maak deze dan eerst aan. Zie hiervoor "RNA Toolset - structuren", onder "Structuur aanmaken".
  • Klik met de rechter muisknop op een bestaand item type waaronder het nieuwe item type aangemaakt moet worden, en ga verder te werk zoals beschreven is in "RNA Toolset - items", onder "Item aanmaken". 
  • Het invullen van "domain" en "range" is niet anders dan het invullen van een gewone eigenschap. Wanneer je op de button "..." klikt wordt je doorgeleid naar de structuur "ItemTypes", om de relevante item types te selecteren. Als je een tekst intypt zal de suggestielijst alleen item types tonen.
  • Bij "inverse" moet het inverse predicate opgegeven worden. Als dat nog niet is aangemaakt moet dat alsnog gebeuren. Zie ook hieronder.
  • Als bij "use as facet" voor "ja" gekozen wordt, dan zal het predicate zichtbaar zijn bij facet zoeken. Dit wordt uitgelegd in de handleiding "RNA Viewer" onder "Zoeken met eigenschappen".
  • Als bij "allow tree indexing" voor "ja" gekozen wordt dan zal er met deze eigenschap hiërarchisch gezocht kunnen worden. Dit wordt uitgelegd in de handleiding "RNA Viewer" onder "Hiërarchisch zoeken".

Inversen

Van een predicate kan een "inverse predicate" aangemaakt worden. Het gaat hier om een "omgekeerde" relatie: Een boek kan via het predicate "hasAuthor" gekoppeld worden aan een persoon die de auteur is. Omgekeerd kan een persoon via het predicate "isAuthorOf" gekoppeld worden aan een boek dat hij/zij geschreven heeft. De predicates "hasAuthor" en "isAuthorOf" zijn elkaars inverse. Het gebruik van inversen wordt meer in detail uitgelegd in het artikel "Modellering" onder "Referrers en inversen". Het hierboven genoemde voorbeeld is weergegeven in onderstaande afbeelding. Let op de domain en range van beide predicates: de domain van de linker is de range van de rechter, en omgekeerd.

In de huidige versie van de RNA Toolset moeten inverse predicate-paren beiden los van elkaar aangemaakt worden. Dit gaat als volgt:

  • Maak eerste beide predicates aan.
  • Vul vervolgens de labels, domain, range en verige eigenschappen in.
  • Let op dat de item types in domain van het ene predicate in de range van het andere predicate voor moeten komen, en omgekeerd.
  • Bij het invullen van de eigenschap "inverse" moeten beide predicates naar elkaar verwijzen.

Mapping en literal management

De waardes die bij een predicate staan zijn in de RNA Toolset blauw of zwart gekleurd. Als een waarde blauw gekleurd is wil dat zeggen dat er een link is: de waarde refereert aan een ander item in de RNA-omgeving. Je kunt er op klikken en dan wordt het item getoond waarnaar verwezen worden. Het linken van een waarde aan en ander item in de RNA-omgeving gebeurt in principe automatisch, dit heet "mapping". Overigens zijn de predicates zelf ook blauw gekleurd, als je er op klikt ga je naar de definitie van het predicate zelf. Dit alles is te zien in onderstaande afbeelding.

Wat betreft mapping kan er over het metadatarecord in deze afbeelding het volgende opgemerkt worden:

  • De eigenschappen "item type" en "preferred label" zijn niet blauw gekleurd omdat ze systeem eigenschappen zijn.
  • De overige eigenschappen (dus alle blauw gekleurde namen in de linker kolom) zijn door de gebruiker gedefiniëerd: ze komen als item van het type "predicate" voor in de structuur "Predicates".  
  • De waarde "Mill" is blauw, want ze is gelinkt aan een gelijknamige node in de structuur "ItemTypes".
  • De waarden "Molen, rijksmonument 12318 - Aeolus" en "Aeolus" zijn zwart: ze refereren niet aan een bestaand item in de RNA-omgeving. We noemen dit "literals", het zijn alleen maar lettertekens. Overigens zijn in de RNA-omgeving de labels altijd literals.
  • De waarde "molen" is blauw, want ze is gelinkt aan een gelijknamige node in de structuur "ListedBuildingTypes".
  • Het predicate "hasMillType", waarvan de range bestaat uit items van het type"MilType", komt twee keer voor. De eerste waarde is niet gelinkt, dit is dus een literal: om de een of andere reden is er geen automatische mapping tot stand gebracht, dit wordt hieronder uitgelegd.
  • Dan zijn er twee "hasDate" predicates. De jaartallen hierachter zijn ook niet gelinkt, ze worden beschouw als een aparte vorm van een literal: de ISO date.  

Het mappen wordt gedaan op grond van overeenkomst van labels. Een waarde kan automatisch gelinkt worden aan een item met een overeenkomstig label, ongeacht of dit een preferred label of een alternative label is. Daarbij wordt er uitaard alleen gelinkt aan items die van het item type zijn dat in de range van het betreffende predicate voorkomt.

Dat in bovenstaand voorbeeld de waarde "achtkante bovenkruier met stelling" niet automatisch is gelinkt aan een item in de RNA-omgeving kan twee redenen hebben:

  • Er is geen item van het in de range van het predicate voorkomende item type dat een label heeft dat overeenkomt met de waarde van het predicate. Dat betekent dat er een item met een overeenkomstig label aangemaakt moet worden (of dat aan een bestaand item een alternative label toegevoegd moet worden), of dat de literal zelf gewijzigd moet worden (er kan bijvoorbeeld een schrijffout in zitten).
  • Er zijn meerdere items die aan de voorwaarden voldoen, de software zal dan geen keuze maken en dus niet mappen. Denk hierbij bijvoorbeeld aan het predicate "hasPlace" met de waarde "Rijswijk": die plaats komt voor in Gelderland, Noord-Brabant en Zuid-Holland. De keuze moet dan "handmatig" gedaan worden (dus door een mens).

Omdat ongewenste literals de waarde van het referentienetwerk ondermijnen (Linked Data die niet goed linken) is het belangrijk ze op te kunnen sporen. Dit kan gedaan worden via de menu optie "literal mapping", in het menu "Application" rechtsboven. Onderstaande afbeelding toont het tabblad van de "literal mapping manager".

De opbouw van de literal mapping manager is als volgt:

  • In het linker paneel staan de predicates vermeld waarbij literals voorkomen. Selecteer een predicate (in de afbeelding is dat "hasMillType").
  • In het middenpaneel worden nu onder "value" alle literals getoond die bij dat predicate voorkomen, en onder "occurence" het aantal keren dat elke literal voorkomt. De literal "achtakante bovenkruier met stelling" blijkt dus 56 keer voor te komen. 
  • Als in het middenpaneel een literal geselecteerd wordt verschijnen in het rechter paneel onder "Item" alle items waarin deze literal voorkomt, en (niet zichtbaar op de afbeelding) onder "Structure" de structuren waarin deze items voorkomen.

Het opschonen van literals met behulp van de literal manager gaat als volgt:

  • Vanuit de literal manager kunnen de items met literals aangeklikt worden, waarna ze desgewenst bewerkt kunnen worden.

of:

  • Als de literal een geldig alternative label blijkt te zijn, maak deze dan aan in het betreffende item.
  • Ga terug naar de literal manager. In het venster bovenin het rechter paneel is alternative label nu zichtbaar, selecteer het.
  • Vink in de lijst eronder de items aan die via dit alternative label gelinkt moeten worden. Klik op "apply mapping", bovenin het rechter paneel. De geselecteerde items zullen nu gelinkt worden aan het item met de nieuwe alternative label. Dit kan enige minuten in beslag nemen. Daarom wordt het linken in de huidige versie van de RNA Toolset gedaan in groepjes van 20.
  • Andere literal mapping strategieën zullen binnenkort worden toegevoegd.

Zoeken

Zoeken in de RNA-omgeving met de RNA Toolset werkt als volgt:

  • Type in de zoekbox rechtsboven in het scherm een zoekstring in.
  • Zodra je een paar letters getypt hebt verschijnt er een lijst van resultaten (matchende items).
  • Van de items in deze resultatenlijst worden het preferred label, het item type en de structuur van het item getoond.
  • Als je een item selecteerd dan wordt dit getoond in het middenpaneel. In het linker paneel wordt het item in zijn structuur getoond.  

Een uitgebreide beschrijving van deze vormen van zoeken is te vinden in de handleiding "RNA Viewer".

Importeren

Met behulp van de RNA Toolset kunnen XML-bestanden en MS-Excel bestanden die voldoen aan een bepaald formaat geïmporteerd worden. Dit werkt als volgt:

  • Klik in het menu "application" links boven op "import manager".
  • Het tabblad van de import manager wordt nu geopend. In dit tabblad wordt een lijst met eerdere imports getoond, tenminste als deze er zijn.
  • Klik linksboven in het tabblad op "add".
  • Er verschijnt nu een popup venster.
  • Selecteer als eerste bij "file to import"het bestand dat je wilt importeren.
  • Als je de items in dat bestand onder een bestaande node van een bestaande structuur wilt hangen klik dan op "into node", en selecteer in het popup venster dat verschijnt een structuur en een node daarin. 
  • Geeft vervolgens bij "preserve import order" aan of de oorspronkelijk volgorde van de items in het importbestand aangehouden moet worden. Als deze optie niet aangevinkt wordt dan zullen de te importeren items in alfabetische volgorde geplaatst worden.
  • Klik tenslotte op "add" of "cancel".

In het tabblad van de import manager wordt het verloop van de import weergegeven. Dit kan, afhankelijk van het aantal items, van het aantal eigenschappen en van het aantal annex items per item geruime tijd in beslag nemen.

Om data te importeren kan onder meer gebruik genmaakt worden van de RNA Table Converters. Informatie hierover is te vinden in de handleiding "Import hulpmiddelen".

 

  • Trezorix | information architecture | copyright 2010-2012