Edurep:Metadata verwerking/en

Uit Kennisnet Developers Documentatie
Naar navigatie springen Naar zoeken springen
Nl.gif Nederlands En.gif English

Edurep harvest diverse repositories via het OAI-PMH protocol. Vervolgens kunnen eindgebruikers via de zoekindex zoeken in het materiaal dat Edurep op deze wijze heeft verzameld. Om de kwaliteit en uniformiteit te garanderen worden er allerlei validaties, bewerkingen en translaties uitgevoerd op de metadata. In het schema hieronder staat een versimpelde weergave van de processen die plaatsvinden binnen Edurep.

  1. records komen binnen via een specifieke interface
  2. naast een initiële validatie (xml/toegang) vindt er inhoudelijke validatie plaats
  3. er worden verschillende opvraagbare representaties gemaakt
  4. de Schema.org variant wordt gebruikt in de aggregator en zoekindex

EdurepComponentenSimplified.png

OAI-PMH Harvester

De harvester haalt de records binnen vanaf de aanbiedersrepository en fungeert daarmee als toegangspoort tot Edurep. Records die niet valideren worden geweigerd en de status is te bekijken op de harvester status pagina.

Harvester Status pagina

Per kolom in het statusoverzicht volgt nu een uitleg over de betekenis ervan:

  • Repository: De identifier van de repository (of een link naar de repository gegevens, alleen beschikbaar voor de beheerder van Edurep).
  • Last successful harvest: Timestamp van de laatste keer dat de harvester een "fout vrij" bezoek heeft gedaan.
  • Total records: Totaal aantal records die de harvester heeft opgehaald. (Dit aantal is niet per definitie hetzelfde als het aantal in Edurep. Het kan bijvoorbeeld voorkomen dat onze deadlink checker records met dode links opruimt.)
  • Harvested/Uploaded/Deleted: De verhouding tussen het aantal nieuwe of gewijzigde, en verwijderde records van het laatste harvest bezoek.
  • #Validation Errors: Het aantal validatiefouten. De link verwijst naar een lijst met alle fouten onderaan de statuspagina.
  • #Errors: Het aantal errors. De link verwijst naar een lijst met alle fouten onderaan de statuspagina.
  • RSS: Geeft toegang tot een rss feed voor een specifieke aangesloten collectie.

Validatiefouten

Wanneer een record succesvol wordt geharvest kan deze voor de opname in de zoekmachine nog geweigerd worden op basis van een validatiefout. Op dit moment wordt er alleen gevalideerd tegen het LOM XML schema (beide bindingen IEEE en IMS kunnen worden aangeboden).

In tegenstelling tot een error wordt er wel doorgeharvest na een validatiefout, tot op zekere hoogte. In principe wordt er na 100 validatiefouten niet meer doorgeharvest, er treedt dan voor de harvester een error op.

Elke validatiefout kan vanuit het foutenoverzicht individueel bekeken worden. De eerste regel van zo'n foutmelding bevat de gegenereerde samenvatting van de fout. In een aantal gevallen zal deze melding voldoende zijn om de fout in kwestie op te sporen. De getoonde xml staat hier in de IEEE LOM binding, maar is inhoudelijk gelijk aan het ingeschoten record.

Soms zegt deze regel echter "Line 105: Unable to transform record". De fout zelf is dan in het xml bestand terug te vinden, en omgeven door expliciete Edurep error xml elementen:

105<edurep:error xmlns:edurep="http://meresco.org/namespace/users/kennisnet/edurep">
106 <lom:keyword xmlns:lom="http://www.imsglobal.org/xsd/imsmd_v1p2">
107  <lom:langstring xml:lang="nl"/>
108 </lom:keyword>
109</edurep:error>

Wanneer een validatiefout bij de aanbieder wordt gerepareerd en volgens OAI met een nieuwe updated timestamp wordt aangeboden, wordt het record weer regulier meegeharvest en verdwijnt de validatiefout.

Deadlink Checker

De Deadlink Checker controleert of een record een geldige en werkende URL bevat in het url veld. Een record kan één van de volgende statussen krijgen:

  • OK: Het resultaat van de url is een 2.x.x of 3.x.x HTTP status code
  • NTL: Het record bevat geen url (No Technical Location)
  • FAILED: De url is niet valide of leidt tot een timeout of een 4.x.x of 5.x.x HTTP status code

Records met status FAILED worden vervolgens niet getoond in Edurep zoekresultaten.

Ongeveer één keer in de week worden alle records met de status "OK" gecontroleerd. De records met de status "FAILED" worden elke dag gecontroleerd.

Info.gif Het kan toch nog voorkomen dat sommige leerobjecten niet als een dead link worden aangemerkt doordat de URL uitkomt op een zogenaamde landingspagina die zich meldt als een OK ipv FAILED. Deze situaties zijn lastig te herkennen.

Deadlink Checker Status Pagina

Er is een statuspagina waar per repository een overzicht van de dode links is op te vragen.

Per kolom in het statusoverzicht een korte omschrijving:

  • Repository: De repository identifier zoals deze in Edurep bekend is.
  • Vindbare records: Het aantal geharveste records minus de records met dode links.
  • Deadlink records: Het aantal records met dode links.
  • Totaal: Het aantal geharveste records

Wanneer men doorklikt op een individuele repository, kan men zich abboneren op de rss feeds van de harvester en de deadlink checker, alsmede een overzicht van alle dode link recordIdentifiers downloaden.

Bewerkingen en Validatie

Er bestaan in Edurep verschillende bewerkings- en validatieprocessen om de kwaliteit van records te verhogen.

ontbrekende waarden

Omwille van de kwaliteit van de metadata vult Edurep een aantal velden van de metadata indien deze niet zijn ingevuld door de aanbieder. Het gaat om:

  • kosten: Edurep vult cost=yes in wanneer kosten niet aanwezig is.
  • uitgever: Edurep vult de repository_id in als publisher wanneer de aanbieder geen uitgever meegeeft.

vocabulaire waarden

In Edurep worden verschillende vocabulairevelden inhoudelijk gevalideerd.

legacy:
De legacy oplossing werkt alleen met xslt's. Hierin worden deels oude waarden gemapt naar nieuwe waarden, foutieve waarden verwijderd of aangepast. Deze oplossing zal na de 2021-11 release worden uitgefaseerd.

new:
In de nieuwe oplossing is het voor ons eenvoudiger geworden om meer verbetermogelijkheden toe te passen, maar is ook explicieter uit te vinden wat er niet is gevalideerd.

classificaties

Alle NL LOM classificatie velden worden op een bepaalde manier omgezet naar schema.org. Het doel is om de schema.org vak, leerniveau en doel te reserveren door algemene curriculum vocabulaires. Globaal hanteren we een aantal regels die in volgorde worden afgelopen:

  1. een OBK identifier (http://purl.edustandaard.nl/begrippenkader/*) binnen purpose type discipline, educational level of comptency wordt geplaatst in respectievelijk schema:educationalAlignment, schema:educationalLevel en schema:teaches.
  2. voor specifieke oude VDEX vocabulaire waarden wordt een vertaling gemaakt van oude waarde naar OBK identifier
  3. specifieke regels voor andere classificatiewaarden, met onder meer de mapping van de toegangsrechten
  4. alles wat niet matcht wordt binnen als trefwoord opgeslagen, met behoud van vocabulaire informatie

Op de 2021 migratie pagina is een volledig overzicht te vinden.

OBK

Filling in a label for a classification identifier is not mandatory, but it is convenient for search portals to display meaningful names in search results without setting up their own lookup service. Edurep therefore always fills in the labels for each valid purl.edustandard.nl/begrippenkader classification identifier of learning level, subject or goal.

  • Any existing label will be overwritten.
  • If a taxon does not contain an ID, but only an entry, the taxon is removed from the record because the validity of the entry cannot be determined.

Example input:

<taxonpath>
  <source>
    <langstring xml:lang="x-none">http://purl.edustandaard.nl/begrippenkader</langstring>
  </source>
  <taxon>
    <!-- OBK-id for Secondary Education -->
    <id>2a1401e9-c223-493b-9b86-78f6993b1a8d</id>
  </taxon>
  <taxon>
    <id>512e4729-03a4-43a2-95ba-758071d1b725</id>
    <entry>
        <langstring xml:lang=”nl”>PO</langstring>
    </entry>
  </taxon>
</taxonpath>

Result:

<taxonpath>
  <source>
    <langstring xml:lang="x-none">http://purl.edustandaard.nl/begrippenkader</langstring>
  </source>
  <taxon>
    <id>2a1401e9-c223-493b-9b86-78f6993b1a8d</id>
    <!-- The entry is automatically completed -->
    <entry>
        <langstring xml:lang=”nl”>Voortgezet Onderwijs</langstring>
    </entry>
  </taxon>
  <taxon>
    <id>512e4729-03a4-43a2-95ba-758071d1b725</id>
    <!-- The entry has been automatically overwritten -->
    <entry>
        <langstring xml:lang=”nl”>Primair Onderwijs</langstring>
    </entry>
  </taxon>
</taxonpath>

vCard

A VCARD in a centity is scanned by Edurep to enable searches by "author" or "publisher". Of all the possible variables that a vCard can contain, N, FN or ORG are used as possible values for the names of authors or publishers. The value from the first of those three variables that is entered will be used. vCard must be compatible with version 3.0. In that case, FN, N and VERSION are mandatory fields and therefore cannot be omitted.

Connections

During processing, connections are established between records so that, for example, they can be searched based on the average rating for all related records.

Review

A link between a review and a learning material record is made based on the hreview:info field in SMO and 1st of the object identifiers in a learning material record. After the 2021-11 release, a match will not only be made on the 1st record identifier, but a match can be made on all record identifiers. This also means that a review can be linked to a record that did not have a direct match with the original review. For example, a review that points to id:1 via id:2 can also be linked to record B:

  • record A
    • id:1
    • id:2
  • record B
    • id:2
    • id:3