Edurep:Identifiers
Identifiers kunnen worden gebruikt om entiteiten uniek te identificeren. In de Edurep context zijn dit de volgende entiteiten in de volgende velden. Er zal in dit artikel stilgestaan worden bij het gebruik van object identifiers:
- leerobjecten: /lom/general/catalogentry
- sociale metadata: /smo/smoId
en metadata identifiers:
- leerobject metadata: /lom/metametadata/catalogentry
- leerobject metadata: /searchRetrieveResponse/records/record/recordIdentifier
Naast identificatie worden de identifiers ook gebruikt voor de persistente koppeling van verschillende informatie entiteiten.
Object Identifier
De object identifier wordt gebruikt om het leermiddel uniek te identificeren.
- niet te verwarren met de record identifier
- de object identifier is niet bedoeld om de url naar het leermiddel te metadateren:
- de url naar het leermiddel mag wel aanvullend gebruikt worden als object identifier, let wel, de volgorde van url parameters is niet bepalend voor de functionaliteit van een url, maar wel voor gebruik als object identifier
- in tegenstelling tot de url, wordt de object identifier niet gewijzigd als de fysieke locatie van het leerobject verandert
De object identifier wordt ook gebruikt om koppelingen tussen entiteiten in Edurep te maken, met name tussen een metadatarecord van een leermiddel en een record met sociale metadata.
Zo'n metadata koppeling kan alleen gemaakt worden met een URI. Als definitie van een URI wordt RFC 2396 gehanteerd. Aangezien een object identifier meerdere keren mag voorkomen, mag een URI definitie naast andere definities voorkomen. Er kan bijvoorbeeld gekozen worden voor een formele URN naamgeving wanneer deze beschikbaar is.
NL LOM
Specificatie | (leidend) |
<!-- De urn notatie van een ISBN heeft de voorkeur vanwege de koppelmogelijkheden. -->
<lom>
<general>
<catalogentry>
<catalog>URI</catalog>
<entry>
<langstring xml:lang="x-none">urn:isbn:0-395-36341-1<langstring>
<entry>
</catalogentry>
<catalogentry>
<catalog>ISBN</catalog>
<entry>
<langstring xml:lang="x-none">0-395-36341-1<langstring>
<entry>
</catalogentry>
</general>
</lom>
Wanneer er geen formeel URN schema is, kan ook een eigen schema worden gebruikt in de URI. Het eigengemaakte schema mag dan niet 1 van de bekende URI schema's zijn.
<lom>
<general>
<catalogentry>
<catalog>URI</catalog>
<entry>
<langstring xml:lang="x-none">lesidee:138<langstring>
<entry>
</catalogentry>
<catalogentry>
<catalog>LESIDEE.NL</catalog>
<entry>
<langstring xml:lang="x-none">138<langstring>
<entry>
</catalogentry>
</general>
</lom>
Schema.org
Specificatie (identifier) | (leidend) |
In schema.org worden object identifiers in het schema:identifier veld gezet. Verder zijn er afhankelijk van het soort entiteit voor een aantal specifieke identifier velden beschikbaar, bijvoorbeeld:
- schema:isbn voor het Book type
- schema:gtin voor het Product type
{
"@context": {
"schema": "https://schema.org/"
},
"schema:identifier": [
"http://example.org/resource/1",
"urn:isbn:978-1-56619-909-4"
],
"schema:isbn": "978-1-56619-909-4"
}
SMO
In een metadatarecord van een SMO beoordeling , in het veld hreview:info
, wordt de object identifier van het leermateriaal waar de beoordeling over gaat gezet. Deze waarde wordt gebruikt om de koppeling met het leermateriaal metadatarecord te realiseren.
<smd:smo xmlns:smd="http://xsd.kennisnet.nl/smd/1.0/" xmlns:hreview="http://xsd.kennisnet.nl/smd/hreview/1.0/">
<hreview:hReview>
<hreview:info>https://www.kennisnet.nl</hreview:info>
</hreview:hReview>
</sdm:smo>
In de schema.org Review representatie is dit het schema:itemReviewed
attribuut.
{
"@context": {
"schema": "https://schema.org/"
},
"schema:review": {
"@type": "schema:Review",
"schema:itemReviewed": "https://www.kennisnet.nl"
}
}
NL LOM
Specificatie | (leidend) |
<!-- De urn notatie van een ISBN heeft de voorkeur vanwege de koppelmogelijkheden. -->
<lom>
<general>
<catalogentry>
<catalog>URI</catalog>
<entry>
<langstring xml:lang="x-none">urn:isbn:0-395-36341-1<langstring>
<entry>
</catalogentry>
<catalogentry>
<catalog>ISBN</catalog>
<entry>
<langstring xml:lang="x-none">0-395-36341-1<langstring>
<entry>
</catalogentry>
</general>
</lom>
Wanneer er geen formeel URN schema is, kan ook een eigen schema worden gebruikt in de URI. Het eigengemaakte schema mag dan niet 1 van de bekende URI schema's zijn.
<lom>
<general>
<catalogentry>
<catalog>URI</catalog>
<entry>
<langstring xml:lang="x-none">lesidee:138<langstring>
<entry>
</catalogentry>
<catalogentry>
<catalog>LESIDEE.NL</catalog>
<entry>
<langstring xml:lang="x-none">138<langstring>
<entry>
</catalogentry>
</general>
</lom>
Schema.org
Specificatie (identifier) | (leidend) |
In schema.org worden object identifiers in het schema:identifier veld gezet. Verder zijn er afhankelijk van het soort entiteit voor een aantal specifieke identifier velden beschikbaar, bijvoorbeeld:
- schema:isbn voor het Book type
- schema:gtin voor het Product type
{
"@context": {
"schema": "https://schema.org/"
},
"schema:identifier": [
"http://example.org/resource/1",
"urn:isbn:978-1-56619-909-4"
],
"schema:isbn": "978-1-56619-909-4"
}
Record Identifier
De record identifier wordt gebruikt om in Edurep een metadata record te identificeren.
- niet te verwarren met de object identifier
We onderscheiden een aantal record identifiers in Edurep:
recordId
: de identifier waarmee het record in Edurep is gezet door de aanbieder (meestal het OAI-PMH record identifier) (niet gegarandeerd uniek binnen Edurep)uploadId
: de recordId geprefixed met de identifier van de repository (waarmee deze uniek is binnen Edurep)jsonldId
: de upload identifier die gebruikt kan worden in de @id van een schema.org record (voor LOM collecties geprefixed met "jsonld-from-lom"smoId
: de record identifier van een SMO
Response
De identifiers kunnen op verschillende plekken in de response gevonden worden.
soort record identifier | waar vinden | interface |
---|---|---|
recordId | about recordSchema | SRU |
recordId | meta recordSchema | SRU |
uploadId | about recordSchema | SRU |
uploadId | meta recordSchema | SRU |
uploadId | recordIdentifier in SRU response | SRU |
jsonldId | about recordSchema | SRU |
jsonldId | @id attribuut in jsonld recordSchema's | SRU/Jsonsearch |
smoId | recordIdentifier in SRU response | SMO SRU |
smoId | smoId veld in smo recordSchema | SMO SRU |
smoId | schema:itemReviewed veld in jsonld recordSchema van Review | SRU/Jsonsearch |
Zoeken
De identifiers kunnen worden gebruikt als zoekveld binnen de zoekopdracht.
soort record identifier | zoekveld |
---|---|
uploadId | about.identifier |
uploadId | meta.upload.id |
recordId | about.record.identifier |
recordId | meta.record.id |
jsonldId | about.jsonldIdentifier |
jsonldId | @id |
smoId | about.record.identifier |
smoId | smo.smoId |
smoId | schema:itemReviewed |
Collectie Identifier
De collectie identifier is de identifier een aangesloten repository binnen Edurep bekend is. Deze identifier is te vinden als prefix in de upload identifier, maar ook los in het about recordSchema. Een overzicht van alle collecties is te vinden via een Drilldown|drilldown of middels ons collectie overzicht.
Omdat de collectie identifier alleen een technische (en geen inhoudelijke) waarde heeft, adviseren we niet om te zoeken met dit veld. Mocht er toch de behoefte zijn dan zijn er twee mogelijkheden: een whitelist of een blacklist. Met een whitelist wordt per zoekopdracht expliciet aangegeven in welke collecties moet worden gezocht. Met een blacklist wordt expliciet aangegeven in welke collecties niet moet worden gezocht.
Wanneer de meerderheid van de beschikbare collecties op de whitelist staat, wordt de zoekopdracht onnodig lang, en zal het de snelheid van de zoekopdracht vertragen. In dat geval is het gebruik van een blacklist beter. Een ander voordeel van een blacklist is dat er automatisch in nieuwe collecties gezocht zonder dat deze expliciet moeten worden inbegrepen in de whitelist. Onderstaand een voorbeeld van een blacklist zoekopdracht.
/edurep/sruns: query=fiets NOT (about.repository exact anno OR about.repository exact nationaalarchief) |
Koppeling
De relatie tussen leerobjecten en sociale (en prijs) metadata wordt vastgelegd middels een identifier. De koppeling wordt in Edurep gerealiseerd door een match te maken tussen de leerobject-identifier en de gerelateerde identifier in een SMO of CPI. Zo'n koppeling kan alleen gemaakt worden met URI's.
Gegeven een leerobject met het volgende catalogentry als leerobjectidentifier:
<general>
...
<catalogentry>
<catalog>URI</catalog>
<entry>
<langstring xml:lang="x-none">urn:uuid:554fa894-bb2e-4531-aa62-c1341edd32d3<langstring>
<entry>
</catalogentry>
...
</general>
Een SMO wordt gekoppeld aan dit leerobject indien in de /smo/hReview/info dezelfde URI is ingevuld:
<hReview>
...
<info>urn:uuid:554fa894-bb2e-4531-aa62-c1341edd32d3</info>
...
</hReview>
Een CPI wordt gekoppeld aan dit leerobject indien in de /contentPrijsInfo/contentIdentifier dezelfde URI is ingevuld:
<contentPrijsInfo>
...
<contentIdentifier>urn:uuid:554fa894-bb2e-4531-aa62-c1341edd32d3</contentIdentifier>
...
</contentPrijsInfo>