RNA Table Converters

In deze handleiding wordt uitgelegd hoe je met behulp van de RNA Table Converters herbruikbare templates kunt configureren, waarmee data in tabelvorm, zoals spreadsheets en database tabellen, geïmporteerd kunnen worden in een RNA-omgeving. Er zijn twee soorten tabel converters, de Thesaurus Converter (THC) en de MetadataRecord Converter (MRC). Het configureren van beiden komt grotendeels overeen, waar er afwijkingen zijn wordt dit aangegeven.

Deze handleiding is specifiek gericht op het configureren zelf, een meer algemeen beschrijving van de mogelijkheden van de converters in de RNA-architectuur is te vinden in het artikel "Import Hulpmiddelen".

Twee belangrijke opmerkingen:

  • Bij het configureren van templates met behulp van de converters is kennis van en vaardigheid met het werken met MS Excel essentieel. Dit betreft met name het kunnen opstellen van formules.
  • Het kan zijn, vanwege gebruiksgemak, dat de tabbladen van de converters niet in "protected" mode staan. Voorkom het onbedoeld wijzigen van voor het functioneren belangrijke formules door alleen wijzigingen te doen in de groen gekleurde cellen! En zorg dat er altijd een leeg en oorspronkelijk exemplaar van zowel de Thesaurus Converter als de MetadataRecord Converter als backup voorhanden is. 

Het systeem tabblad

In het systeem tabblad kunnen een aantal algemene instellingen vastgelegd worden. Dit wordt getoond in onderstaande afbeelding.

Beschikbare item types

In de kolom "itemTypes" kunnen item types ingevoerd worden die voorkomen in de omgeving waar naar geëxporteerd gaat worden. Er zijn twee manieren om de item types in te voeren:

  • Met de hand. Type de naam van het item type in de eerstvolgende lege cel in de kolom en sluit af met "enter". Het nieuwe item type wordt automatisch in alfabetische volgorde geplaatst. In principe hoeven alleen die item types ingevoerd te worden die in de tabbladen voor export gebruikt worden in de kolom "itemType" (zie verderop).
  • Alle item types kunnen vanuit een z.g. IPC bestand geïmporteerd worden. Voer bij "IPC file" (kolom rechts) de naam van het IPC bestand in, voorafgegaan door het volledige pad. Wanneer je nu op de button "update" klikt worden alle item types (en predicates) uit het IPC bestand ingelezen. Het gebruik van IPC bestanden is nog in testfase. 

Beschikbare predicates

In de kolom "predicates" kunnen de predicates ingevoerd worden die voorkomen in de omgeving waar naar geëxporteerd gaat worden. Er zijn twee manieren om de item types in te voeren:

  • Met de hand. Type de naam van het predicate in de eerstvolgende lege cel in de kolomen sluit af met "enter". Het nieuwe predicate wordt automatisch in alfabetische volgorde geplaatst. In principe hoeven alleen die predicates ingevoerd te worden die in de tabbladen voor export gebruikt worden in de kolommen "predicate" (zie verderop).
  • Alle predicates kunnen vanuit een z.g. IPC bestand geïmporteerd worden. Voer bij "IPC file" (kolom rechts) de naam van het IPC bestand in, voorafgegaan door het volledige pad. Wanneer je nu op de button "update" klikt worden alle predicates (en item types) uit het IPC bestand ingelezen. Het gebruik van IPC bestanden is nog in testfase.
  • De bovenste twee predicates, "_aux" en "_sysid", zijn systeempredicates die altijd aanwezig horen te zijn. Het gebruik hiervan wordt verderop uitgelegd.

Beschikbare talen

In de kolom "languages" kunnen de drie-letter ISO afkortingen ingevoerd worden van de talen die voorkomen in de omgeving waar naar geëxporteerd gaat worden. Naast de standaard ISO afkortingen kunnen er ook een aantal systeem-afkortingen gebruikt worden:

  • sys: voor de systeemnamen (prefLabel sys)
  • sci: voor wetenschappelijk namen van taxa (planten, dieren)
  • c01 t/m c03: custom "talen", bijvoorbeeld codes die in databases voor kunnen komen

ID prefix

In de cel achter "ID prefix" kan een prefix ingevoerd worden die gebruikt kan worden voor de diverse identifiers. Vanuit de tabbladen voor export kan deze prefix in formules aangeroepen worden als de defined name "ID_prefix", zoals in de volgende formule:

  • =ID_prefix&".molen."&AA4

XML prefix

In de cel achter "XML prefix" kan een prefix ingevoerd worden die gebruikt wordt in namen van RNA import bestanden. Hierin kan bijvoorbeeld een code voor de RNA-omgeving in verwerkt zijn. Dit wordt gecombineerd met een door de software aangegeven suffix waarin het item type is verwerkt. Wanneer bijvoorbeeld als prefix is opgegeven "ABC" en er wordt een export van items van het type "Molen" gedaan, dan zal de default naam zijn:

  • ABC Molen.xml

Wat dan aangepast kan worden naar bijvoorbeeld:

  • ABC Rijksmonumenten Molen.xml

Source file

In de cel achter "source file" kan je de naam (met volledig pad) van een bronbestand invullen. Deze bestandsnaam zal worden gebruikt als default bij het opgeven van een bronbestand bij het menu item "import data" (zie verderop). Als er hier niets is ingevuld, dan moet je bij het opgegeven van een bronbestand er naar toe klikken.

IPC file

In de cel achter "IPC file" kan je de naam van een IPC bestand invullen. Dit is een bestand met alle item types en predicates (op dit moment nog in testfase). Het gebruik hiervan is hierboven bij "beschikbare item types" en "beschikbare predicates" uitgelegd. 

Rename sheets

Als in de cel achter "rename sheets" de optie "yes" is geselecteerd, dan zullen tabbladen met te exporteren data automisch hernoemd worden naar het item type van dat tabblad. Als er meerdere tabbladen hetzelfde item type bevatten, dan is dit niet mogelijk en moet deze optie op "no" gezet worden.

Allow imports (THC)

In de Thesaurus Converter kunnen veel data na of zonder een import als "handwerk" aangemaakt en bewerkt worden. Om te voorkomen dat deze data door een (herhaalde) import ongewild overschreven worden, kan achter "allow imports" de optie op "no" gezet worden. Deze mogelijkheid is er alleen in de Thesaurus Converter.

Allow clearing (THC)

In de Thesaurus Converter kunnen veel data als "handwerk" aangemaakt zijn. Om te voorkomen dat deze data door het aanklikken van het menu item "clear table" (zie hierna) ongewild overschreven worden, kan achter "allow clearing" de optie op "no" gezet worden. Deze mogelijkheid is er alleen in de Thesaurus Converter.

Do ID check (THC)

In beide converters wordt er na elke import en na elke "refresh" een check op dubbele identifiers gedaan. In de Thesaurus Converter wordt deze check ook nog eens gedaan bij elke verandering in de structuur van de thesaurus, zoals het invoegen van een item of het verschuiven van een item naar links of rechts (waarbij dus de parent veranderd wordt). Dit kan echter vertragend werken, daarom kan deze check tijdelijk uitgezet worden door achter "do ID check" de optie "no" te selecteren. Deze mogelijkheid is er alleen in de Thesaurus Converter.

Het menu

In alle tabbladen behalve het systeen tabblad kan door Ctrl-m te drukken een menu opgeroepen worden, zoals is te zien in onderstaande afbeelding. Dit menu kan met Ctrl-m ook weer gesloten worden, en het zal verdwijnen als je naar een ander tabblad klikt.

Hieronder volgt een uitleg van alle items in het menu.

Delete sheet

Met deze functie wordt het huidige tabblad verwijderd.

Clear table

Met deze functie worden alle cellen vanaf rij 5 gewist.

Delete column

Met deze functie wordt de kolom waar de cursor in staat verwijderd. Een paar kolommen kunnen niet gewist worden, of er moet er tenminste één van het betreffende type overblijven, dit wordt dan door een melding kenbaar gemaakt.

Delete row (THC)

Met deze functie wordt een rij in de verwijderd. Dit geld alleen vanaf rij 5. Na het verwijderen van de rij wordt er - als in het systeem tabblad "do ID check" op "yes" staat - een check gedaan op het voorkomen van dubbele identifiers. Ook wordt er een check gedaan op de integriteit van de structuur: als er bijvoorbeeld door het verwijderen van de rij een dubbele inspringing in de structuur ontstaat volgt er een "structure error" melding. Deze functie is alleen beschikbaar in de Thesaurus Converter.

Insert sheet

Met deze functie wordt er een sheet ingevoegd.

Import data

Met deze functie kan er data uit een brontabel ingelezen worden. Dit werkt als volgt:

  • Nadat de functie is aangeklikt verschijnen er opvolgend een paar popup-vensters waarin je grvraagd wordt het bronbestand te selecteren. Als er in het systeem tabblad bij "source file" een bestand is opgegeven, dan zal dat geopend worden.
  • Er verschijnt een lijst met tabbladen van het bronbestand, voorafgegaan door een nummer. Type het nummer van het gewenste tabblad in.
  • De data uit de aangegeven kolommen van het bronbestand wordt ingelezen en de aangegeven kolommen van het converter tabblad.
  • Vervolgens wordt er een check gedaan op dubbele identifiers, de voortgang hiervan is linksonder in de statusbalk af te lezen.

Hoe je er voor kunt zorgen dat de data uit bepaalde kolommen van het bronbestand overgezet naar de juiste kolom in het converter tabblafd wordt hieronder uitgelegd.

Insert column

Met deze functie wordt er rechts van de kolom waar de cursor staat een nieuwe kmolom aangemaakt van hetzelfde type.

Insert row (THC)

Met deze functie wordt er onder de rij waar de cursor in staat een nieuwe rij aangemaakt. De cursor komt in de nieuwe rij recht onder de cel te staan waar hij eerst in stond. Deze functie is alleen beschikbaar in de Thesaurus Converter.

Hide/show ID's

Met deze functie kunnen de eerste drie kolommen met identifiers verborgen worden. Wanneer dit menu item opnieuw geselecteerd wordt zullen de drie kolommen weer verschijnen.

Refresh

Met deze functie worden de volgende acties in gang gezet:

  • Alle parent identifieers worden opnieuw uitgerekend (alleen in de Thesaurus Converter).
  • Er wordt een check gedaan op dubbele identifiers.
  • Alle formules worden opnieuw uitgevoerd.

Het is aan te raden voor elke export naar de RNA-omgeving een "refresh" te doen en vervolgens nog eens een visuele controle op de data.

Merge double ID items (MRC)

Met deze functie kunnen opeenvolgende (dus direct onder elkaar staande) items met een dubbele identifier in elkaar gevoegd worden (merge). Dubbele identifiers zijn te herkennen aan de rode kleur en aan de prefix "dup01", "dup02", enzovoort. Bij het mergen wordt het volgende gedaan:

  • Van preferred labels wordt per taal alleen de eerst voorkomende meegenomen.
  • Eventuele alternative labels worden, mits ze verschillend zijn, per taal met een scheidingsteken (" | ") bij elkaar gezet.
  • Desciptions worden per taal op een nieuwe regel bij elkaar gezet.
  • Alleen het item type van het eerste item van de set wordt aangehouden.
  • Waarden van predicates - met uitzondering van "_aux" en "_sysid" - worden, mits ze verschillend zijn, voorzien van een scheidingsteken (" | ") bij elkaar gezet.
  • Met waarden in kolommen met "_aux" als predicate wordt niets gedaan.
  • Van de waarden in kolommen met "_sysid" als predicate wordt alleen de eerst voorkomende meegenomen. 

Export to RNA

Met deze functie wordt er een RNA importbestand in XML-formaat aangemaakt. Dit bestand kan vanuit de RNA Toolset geïmporteerd worden. Zie de handleiding "RNA Toolset - referentienetwerk, importeren".

Een aantal tips betreffende het opslaan van de RNA importbestanden:

  • Sla de importbestanden bij elkaar in één map op. Dit maakt het importeren van de RNA Toolset gemakkelijker.
  • Geef ze een duidelijke naam. De export functie geeft hiervoor een default bestaande uit een in het systeem tabblad ingevoerde prefix en het item type, maak hier gebruik van!
  • Geef de bestanden in de naam ook een volgnummer mee. Zet hierbij bestanden met items waar andere bestanden aan refereren in volgorde boven die bestanden. De volgorde wordt dan grofweg: als eerste de item types, daarna de predicates, vervolgens alle recordtype  thesauri, dan algemene thesauri, en tenslotte metadata records van "objecten".
  • De map met importbestanden wordt op die manier als het ware een script van de import. Dit is erg handig als de import overnieuw gedaan moeten worden, bijvoorbeeld als na het testen in een staging-omgeving alles overgezet kan worden naar een productie-omgeving

Export to workbook

Met deze functie kan een Excel workbook aangemaakt worden van het betreffende tabblad, zonder macro's en formules. Deze kan gebruikt worden als nieuwe bronbestand, bijvoorbeeld als backup, of als er verder op de data gemuteerd moet worden.

De configuratie-rijen

Door in de eerste vier rijen bepaalde opties te selecteren en gegevens te plaatsen te worden de Table Converters als herbruikbare templates geconfigureerd. Deze vier rijen noemen we daarom de configuratie-rijen. In de volgende twee afbeeldingen wordt de bovenkant getoond van een Metadatarecord Converter.

Onderstaande afbeelding laat de linker kolommen zien, waarin label-informatie opgenomen wordt. Dit is informatie over de namen (preferred en alternative labels) en beschrijvingen in verschillende talen, die is georganiseerd volgens het SKOS formaat.

De volgende afbeelding laat de rechter kolommen zien, waarin informatie over de predicates en hun waarden opgenomen wordt.

Rij 1: indicatie soorten eigenschappen

In de eerste rij wordt aangegeven wat voor soort data er in de kolom voorkomt:

  • parent id: de import-indentifier van het ouder item (de parent), dus het item waar het item dat door de rij gevormd wordt onder komt te staan. Als er geen parent item opgegeven wordt dan zal het item rechtstreeks onder de node gezet worden die bij import vanuit de RNA Toolset opgegeven wordt
  • id: de import-identifier van het item dat door de rij gevormd wordt. Als er al een item bestaat met die identifier, dan zal dat item met de gegevens uit de rij geupdate worden. Als er nog geen item met die identifier bestaat dan zal er een nieuw item aangemaakt worden.
  • nodeName: voor intern gebruik in de RNA Toolset. Deze kan gelijk zijn aan het "prefLabel sys".
  • prefLabel: de voorkeursnamen van het item. Er kunnen meerdere prefLabels voorkomen, maar slechts één per taal. De prefLabels kunnen tussentijds gewijzgd worden, maar zorg ervoor dat het "prefLabel sys" stabiel is: dit is de systeemnaam die bij voorkeur door extern applicaties gebruikt wordt, verandering ervan kan tot storing leiden.
  • altLabel: de synoniemen. Er kunnen meeerdere synoniemen per taal voorkomen, deze kunnen met het standaard scheidingsteken (" | ") in de kolom gezet worden.
  • description: een korte beschtijving van het item. Deze kunnen per taal voorkomen.
  • itemType: in deze kolom wordt het item type geplaats. Alle items kunnen van hetzelfde item type zijn, of er kan per item aangegeven worden wat zijn type is.
  • predicate: in deze kolom(men) worden de waarden van de predicates geplaatst. in de cel op de tweede rij wordt geselecteerd om welk predicate het gaat.
  • specification: nadere informatie (geen links) over het item.
  • note: opmerkingen van redactionele aard.
  • source: de bron
  • sourceId: een eventuele identifier die in de bron is gebruikt.

Het getal dat voor de namen in de eerste rij is geplaatst worden gebruikt om te kunnen zien bij welk annex item de kolom hoort: als er een "1" staat dan hoort de kolom bij het eerste annex item, enzovoort. Een "0" wil dus zeggen dat de kolom bij het "moeder item" hoort. Dit geldt alleen voor de MetadataRecord Converter, in de Thesaurus Converter komen geen annex items voor.

Rij 1: selectie annex items (MRC)

Aan het einde van de hiervoor beschreven set eigenschappen is een cel waarin geselecteerd kan worden of er een annex item moet volgen. Dit is te zien in ondertaande afbeelding.

Als "> annex" geselecteerd wordt dan verschijnen er naar rechts alle kolommen die nodig zijn voor de gegevens die je in een annex item wilt zetten. Er kunnen in totaal 5 annex items aangemaakt worden. Annex items kunnen alleen aangemaakt worden in de MetadataRecord Converter.

Rij 2: selectie talen

In de tweede rij worden de talen geselecteerd bij de labels en de description. Voor de talen worden drie-letter ISO afkortingen gebruikt. In de afbeelding hieronder is voor kolom D de systeemtaal ("sys") gekozen, en voor kolom E Nederlands ("dut"). Bij kolom F is het selectie-venster te zien waaruit een taal geselecteerd kan worden. De lijst in dat venster wordt bepaald door de talen die in het systeem tabblad zijn ingevuld.

Als er in de eerste drie cellen van een kolom gegevens ontbreken, dan wordt de naam van de eigenschap in de bovenste cel in rood en vet weergegeven. In onderstaande afbeelding is in kolom F de taal gekozen, maar er is nog niet in de cel daaronder aangegeven waar de gegevens vandaan gehaald moeten worden. Zodra dit gebeurd is zal de vette rode tekst weer normaal worden weergegeven.

Er moet tenminste een "prefLabel sys" aanwezig zijn.

Rij 2: selectie item type en predicates

In de tweede rij wordt er in de kolom "itemType" een type geselecteerd, zoals te zien is in onderstaande afbeelding. De lijst met beschikbare types is gedefinieerd in het systeem tabblad.

Ook worden er in de tweede rij voor de kolommen "predicate" de predicates geselecteerd. De lijst met beschikbare predicates is gedefinieerd in het systeem tabblad.

Als er in de eerste drie cellen van een kolom meet predicates gegevens ontbreken, dan wordt de naam van de eigenschap in de bovenste cel in rood en vet weergegeven. In onderstaande afbeelding is in kolom I voor de cel op de derde rij nog geen waarde gekozen, en in kolom J ontbreken de waarden zowel op de tweede als de derde rij, vandaar dat de aanduiding "0 predicate" in vet rood is weergegeven. Zodra dit verholpen is zal de vette rode tekst weer normaal worden weergegeven. Deze vorm van foutmelding geldt overigens ook voor de kolom "itemType".

Rij 3: verwijzingen

In de derde rij wordt aagegeven waar de data vandaan gehaald moet worden. Hier kan het volgende ingevuld worden:

  • De naam van een kolom uit het bronbestand. Deze moet letterlijk overeenkomen (hoofdlettergevoelig). In de brontabel moeten de kolomnamen op de eerste rij staan, en van links naar rechts aansluiten (er wordt gestopt met importeren bij de eerste lege cel op de eerste rij.
  • De aanduiding "_sys" zorgt ervoor dat er geen data ingelezen wordt, maar dat de formule eronder (in de volgende rij) uitgevoerd wordt.
  • Als er niets staat, of een aanduiding die niet al kolomnaam in de brontabel voorkomt, dan zal er ook niets gebeuren in de kolom.

In de onderstaande afbeelding is op de derde rij achtereenvolgens het volgende aangegeven:

  • Kolom N: haal de data op uit de brontabel uit de kolom met titel "Plaatsnaam". 
  • Kolom O: haal de data op uit de brontabel uit de kolom met titel "Straat".
  • Kolom P: haal de data op uit de brontabel uit de kolom met titel "Huisnr".
  • Kolom Q: voer de formule uit in de onderliggende cel.
  • Kolom R: gebruik de verwijzing naar het annex item in de onderliggende ccel.

Rij 4: formules

In de vierde rij kan het volgende worden aangegeven:

  • Als in de bovenliggende cel de aanduiding "_sys" is geplaatst (de cel krijgt dan een lichtgroene kleur), dan wordt hier de formule gezet die uitgevoerd moet worden. Zie ook hieronder.
  • Als in de bovenliggende cel een kolomnaam van de brontabel is geplaatst (de cel krijgt dan een donkergroene kleur), dan kan hier "nep data" gezet worden om de werking van formules in de cellen ter weerzijden te kunnen testen.

In de bovenstaande afbeelding is op de vierde rij achtereenvolgens het volgende aangegeven:

  • Kolom N: hier is niets aangegeven.
  • Kolom O: hier is de teststring "Straatnaam" ingevoerd (voor het testen van de formule in kolom Q).
  • Kolom P: hier is de teststring "123" ingevoerd (voor het testen van de formule in kolom Q).
  • Kolom Q: hier is de formule ingevoerd die boven in de afbeelding is te zien, achter "fx". Deze formule zorgt ervoor dat de waarden in de kolommen O en P met een spatie ertussen achter elkaar worden geplaatst.
  • Kolom R: hier is de formule "=AD" ingevoerd, die er voor zorgt dat de identifier van het annex item in deze kolom geplaatst wordt. Zie ook hieronder.

Bewerkingen in kolommen

Formules

De RNA Table Converter hebben een aantal specifieke functies die van pas kunnen komen in veel voorkomende situaties bij het importeren van tabeldata:

  • IfValue(Cel, formule A, formule B (optioneel)): als Cel een waarde heeft dan wordt formule A uitgevoerd, anders formule B (als die ingevuld is).
  • ValuesInRange(Range): geeft het aantal cellen in Range die een waarde hebben.
  • BaseString(Range, Separator (optioneel): zet de waardes van de cellen in Range bij elkaar (al dan niet met de aangegeven Separator ertussen), waarbij alleen basale karakters (onderkast, geen speciale tekens) gebruikt worden. Deze functie kan gebruikt worden om veilige import-identifiers aan te maken.
  • SafeString(Range, Separator (optioneel): zet de waardes van de cellen in Range bij elkaar (al dan niet met de aangegeven Separator ertussen), waarbij alleen veilige karakters (onderkast, hoofdletters, geen speciale tekens) gebruikt worden. Deze functie kan gebruikt worden om veilige systeemnamen (prefLabel sys) aan te maken.
  • CleanString(Range, Separator (optioneel): zet de waardes van de cellen in Range bij elkaar (al dan niet met de aangegeven Separator ertussen), waarbij alleen karakters gebruikt worden die in XML geaccepterd worden. Deze functie kan gebruikt worden om onveilige karakters uit vrije tekstvelden van database-exports weg te filteren.

Het "_aux" predicate

Het "_aux" (auxilary) predicate op de tweede configuratie-regel wordt gebruikt wanneer er data ingelezen moet worden die zelf niet rechtstreeks in de RNA-omgeving geïmporteerd zal gaan worden. In het hierboven genoemde voorbeeld zijn er twee "_aux" kolommen waarin straat en huisnummer worden ingelezen, die in de daarop volgende kolom worden samengevoegd en zo als waarde van de "hasPostalAddress" property worden klaargezet om naar de RNA-omgeving overgezet te worden.

Onderstaande afbeelding toont een soortgelijke toepassing van het "_aux" predicate.

In de tweede kolom (AA) worden uit de kolom "Molen_nr" van het bronbestand nummers ingelezen. Het "_aux" predicate van deze kolom zorgt ervoor dat deze waarden niet naar de RNA-omgeving geëxporteerd worden, zij worden uitsluitend gebruikt door de volgende kolom (AB). De formule van deze kolom (helemaal boven in de afbeelding) doet het volgende:

  • Kijk of er een waarde in de AA kolom staat (ifValue).
  • Zo ja, plak er dan de prefix "http://www.demolens.nl/..." voor.
  • Het resultaat is een link naar informatie op een website (of een lege cel).

De "_sys" configuratie

Een "_sys" aanduiding op de derde configuratieregel geeft aan dat de formule uit de cel eronder uitgevoerd moet worden. Er worden in een "_sys" kolom dus geen data uit het bronbestand ingelezen, maar de formule wordt gekopiëerd naar de cellen er onder.

Zie bovenstaande afbeelding:

  • De "_sys" aanduiding in kolom H zorgt ervoor dat door uitvoering van de formule in de volgende cel, "=H$2", alle witte cellen er onder de waarde krijgen van de tweede cel, "Mill".
  • De "_sys" aanduiding in kolom AB zorgt ervoor dat de formule in de volgende cel in alle witte cellen eronder uitgevoerd wordt.

De "_sysvalue" configuratie

Een "_sysvalue" aanduiding op de derde configuratieregel geeft aan dat de formule uit de cel eronder uitgevoerd moet worden, waarbij de formule wordt vervangen door de uiteindelijke waarde ervan . Er worden in een "_sysvalue" kolom dus geen data uit het bronbestand ingelezen, maar de formule wordt gekopiëerd naar de cellen er onder, en deze worden - in tegenstelling tot bij de "_sys" aanduiding - omgezet in de "harde waardes".

De "_sysvalue" configuratie is vooral bedoeld voor kolommen die hun waarden uit andere kolommen halen die door een merge uit samengestelde waarden kunnen bestaan. Door voor de merge de formules om te zetten in harde waarden kan de merge zonder problemen worden uitgevoerd.

De "_annex" configuratie (MRC)

Een "_annex" aanduiding op de derde configuratieregel geeft aan dat in de betreffende kolom links naar annex items opgenomen zijn (zie ook "selectie annex items" hierboven). De volgende twee afbeeldingen laten dit zien.

In de afbeelding hierboven is op de derde regel van kolom Y aangegeven dat deze verwijzingen naar een annex item bevat. Op de vierde regel is het volgende aangegeven (zie formule bovenin de afbeelding):

  • Kijk of er een waarde in kolom AL staat (ifValue). Kolom AL is de eerste kolom van het annex item (zie onderstaande afbeelding), hierin staat de aanduiding "anx" als het annex item waarden bevat.
  • Als dat het geval is, zet dan de waarde uit kolom AN (de identifier van het annex item) in kolom Y. Hiermee wordt het annex item aangemaakt en zal het met z'n parent item geëxporteerd worden naar de RNA-omgeving.

Een paar opmerkingen over het annex item:

  • Het annex item krijgt de identifier van zijn parent item mee in kolom AM.
  • De identifier van het annex item zelf is de parent identifier met de toevoeging "anx" en het nummer van het annex item. Zie kolom AN.
  • Het annex item uit het voorbeeld betreft een "construction event" met het jaar dat dit event heeft plaatsgevonden.

Het "_sysid" predicate

Een "_sysid" predicate op de tweede configuratieregel geeft aan dat in de betreffende kolom identifiers opgenomen zijn die bij import in de RNA-omgeving de automatisch aangemaakte systeem-identifiers moeten vervangen.

Een voorbeeld hiervan is te zien in onderstaande afbeelding.

  • In kolom Q worden identifiers ingelezen uit de kolom "UID" van het bronbestand. Dit is een "_aux" kolom, dus deze data worden niet rechstreeks geëxporteerd naar de RNA-omgeving.
  • In kolom R wordt een formule uitgevoerd (zie helemaal boven in de afbeelding), die zorgt dat de identifiers uit kolom Q voorzien worden van een prefix "http://purl.estandaard...".
  • Het "_sysid" predicate in kolom R maakt dat de identifiers in deze kolom bij import de standaard systeem-identifers gaan vervangen.

Testen

Het is aan te raden om tijdens de workflow vanaf het inlezen van een bronbestand in de Table Converter tot en met het importeren in de RNA-omgeving een aantal testmomenten in te lassen.

Na inlezen van de brondata in de Converter moet gecontroleerd worden of alle kolommen en alle rijen overgenomen zijn. Is dit niet het geval check dan de volgende punten:

  • Komen de namen van kolommen in de brontabel en en in de Converter (derde configuratie-rij) overeen? Let op hoofdletters en kleine letters.
  • Staat er ergens halverwege de eerste rij van de bronbestand een lege cel, waardoor het inlezen bij die kolom stopt? 
  • Staat er geen lege regel tussen de rijen van het bronbestand, waardoor alleen tot aan dat punt items ingelezen worden?

Voor het exporteren naar een RNA import-XML moet het volgende gecontroleerd worden:

  • Doen alle formules wat ze moeten doen? 
  • Staan er geen Excel foutmeldingen (zoals "#VALUE") in de kolommen met formules? De import in de RNA-omgeving zal hierop afbreken.
  • Kloppen de parent identifiers? Zo niet, dan kunnen de items op onverwachte plaatsen in de RNA-omgeving terechtkomen.
  • En tenslotte: zijn er geen dubbele identifiers? Door voor de "export to RNA" uit te voeren eerst nog een "refresh" te doen (met uiteraard "do ID check" in het systeem tabblad op "yes") kan dit nog eens gecontroleerd worden. De import in de RNA-omgeving zal afbreken als er dubbele identifiers geconstateerd worden.

  • Trezorix | information architecture | copyright 2010-2012