Closed acka47 closed 4 years ago
Input field 009Q from the PicaPlus XML for the test org:
<ppxml:tag id="009Q" occ="">
<ppxml:subf id="u">http://homepage.de</ppxml:subf>
<ppxml:subf id="z">A</ppxml:subf>
</ppxml:tag>
<ppxml:tag id="009Q" occ="">
<ppxml:subf id="u">http://opac.de</ppxml:subf>
<ppxml:subf id="z">B</ppxml:subf>
</ppxml:tag>
<ppxml:tag id="009Q" occ="">
<ppxml:subf id="u">http://Fernleihe.de</ppxml:subf>
<ppxml:subf id="z">C</ppxml:subf>
</ppxml:tag>
<ppxml:tag id="009Q" occ="">
<ppxml:subf id="u">http://Kontakt.de</ppxml:subf>
<ppxml:subf id="z">D</ppxml:subf>
</ppxml:tag>
<ppxml:tag id="009Q" occ="">
<ppxml:subf id="u">http://wifi.de</ppxml:subf>
<ppxml:subf id="z">E</ppxml:subf>
</ppxml:tag>
<ppxml:tag id="009Q" occ="">
<ppxml:subf id="u">http://info-test.de</ppxml:subf>
<ppxml:subf id="x">Weitere Informationen</ppxml:subf>
<ppxml:subf id="z">W</ppxml:subf>
</ppxml:tag>
<ppxml:tag id="009Q" occ="">
<ppxml:subf id="u">http://info-test.de/openurl</ppxml:subf>
<ppxml:subf id="x">OpenURL</ppxml:subf>
<ppxml:subf id="z">W</ppxml:subf>
</ppxml:tag>
<ppxml:tag id="009Q" occ="">
<ppxml:subf id="u">http://info-test.de/daia</ppxml:subf>
<ppxml:subf id="x">DAIA</ppxml:subf>
<ppxml:subf id="z">W</ppxml:subf>
</ppxml:tag>
<ppxml:tag id="009Q" occ="">
<ppxml:subf id="u">http://info-test.de/paia</ppxml:subf>
<ppxml:subf id="x">PAIA</ppxml:subf>
<ppxml:subf id="z">W</ppxml:subf>
</ppxml:tag>
<ppxml:tag id="009Q" occ="">
<ppxml:subf id="u">http://info-test.de/sru</ppxml:subf>
<ppxml:subf id="x">SRU</ppxml:subf>
<ppxml:subf id="z">W</ppxml:subf>
</ppxml:tag>
009Q
with codes A (Homepage) and B (OPAC/Katalog) in subfield z
are already transformed to JSON-LD, see e.g. https://github.com/hbz/lobid-organisations/blob/21d224b40ad81639b7abe882aba423bc54886bf0/conf/morph-enriched.xml#L99-L100. C (Fernleihe), D (Kontaktformular), E (Wifi-Zugang) are currently not taken into account and we won't touch them in this issue as well.
This means, this ticket only deals with those objects that have code W
in subfield z
. Cutting out the rest, we get:
<ppxml:tag id="009Q" occ="">
<ppxml:subf id="u">http://info-test.de</ppxml:subf>
<ppxml:subf id="x">Weitere Informationen</ppxml:subf>
<ppxml:subf id="z">W</ppxml:subf>
</ppxml:tag>
<ppxml:tag id="009Q" occ="">
<ppxml:subf id="u">http://info-test.de/openurl</ppxml:subf>
<ppxml:subf id="x">OpenURL</ppxml:subf>
<ppxml:subf id="z">W</ppxml:subf>
</ppxml:tag>
<ppxml:tag id="009Q" occ="">
<ppxml:subf id="u">http://info-test.de/daia</ppxml:subf>
<ppxml:subf id="x">DAIA</ppxml:subf>
<ppxml:subf id="z">W</ppxml:subf>
</ppxml:tag>
<ppxml:tag id="009Q" occ="">
<ppxml:subf id="u">http://info-test.de/paia</ppxml:subf>
<ppxml:subf id="x">PAIA</ppxml:subf>
<ppxml:subf id="z">W</ppxml:subf>
</ppxml:tag>
<ppxml:tag id="009Q" occ="">
<ppxml:subf id="u">http://info-test.de/sru</ppxml:subf>
<ppxml:subf id="x">SRU</ppxml:subf>
<ppxml:subf id="z">W</ppxml:subf>
</ppxml:tag>
Here is my proposal, oriented on the OER World Map approach and the OER-Service-"Visitenkarte" (see draft spec):
{
"id":"http://lobid.org/organisations/ZDB-Test2#!",
"url":"http://homepage.de",
"provides":"http://opac.de",
"availableChannel":[
{
"type":[
"ServiceChannel"
],
"serviceType":"Weitere Informationen",
"serviceUrl":"http://info-test.de"
},
{
"type":[
"ServiceChannel",
"WebAPI"
],
"serviceType":"OpenURL",
"serviceUrl":"http://info-test.de/openurl"
},
{
"type":[
"ServiceChannel",
"WebAPI"
],
"serviceType":"DAIA",
"serviceUrl":"http://info-test.de/daia"
},
{
"type":[
"ServiceChannel",
"WebAPI"
],
"serviceType":"PAIA",
"serviceUrl":"http://info-test.de/paia"
},
{
"type":[
"ServiceChannel",
"WebAPI"
],
"serviceType":"SRU",
"serviceUrl":"http://info-test.de/sru"
}
]
}
Note that the type ~ServiceChannel
~ WebAPI
should only be added when the value in subfield x
is one of SRU
, DAIA
, PAIA
, OpenURL
.
@dr0i, maybe you want to take this over?
Originated in a request by @donboern, followed up by this twitter thread and Jakob publishing a manual on how to add the data to the system.
By now there are several entries with information on PAIA, DAIA, SRU or OpenURL:
We will have to add this to the lobid-organisations JSON-LD. The documentation for the relevant field 009Q is at https://sigel.staatsbibliothek-berlin.de/vergabe/adressenformat/856/.
I will propose a solution for the test org example in a separate comment.