Closed acka47 closed 4 years ago
Wie bekommen wir am einfachsten heraus, bei welchen der 608 Titel die Notation 74
nicht gelöscht werden muss? Das sind all jene, die "spatial.id": "https://nwbib.de/spatial#N74"
haben aber keine Unterordnung dessen. Wahrscheinlich bekommt man die Antwort am besten mit einer Sparql-Query...
N74
als ndjson$ curl --header "Accept: application/x-jsonlines" "http://lobid.org/resources/search?q=spatial.id%3A%22https%3A%2F%2Fnwbib.de%2Fspatial%23N74%22" > 74.ndjson
nwbib-spatial.ttl
import rdflib
g = rdflib.Graph()
g.parse("nwbib-spatial.ttl", format="ttl")
qres = g.query(
"""
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
CONSTRUCT { ?x skos:broader <https://nwbib.de/spatial#N74> }
WHERE {
{ ?x skos:broader <https://nwbib.de/spatial#N74> }
}""")
with open("74.nt", "w") as output:
output.write(qres.serialize(format='nt'))
import logging
import rdflib
logging.basicConfig()
filepath = '74.ndjson'
input = open(filepath).readlines()
g=rdflib.Graph()
for line in input:
g.parse(data=line, format="json-ld")
g.parse("74.nt", format="nt")
qres = g.query(
"""SELECT DISTINCT ?resource
WHERE {
?resource <http://purl.org/dc/terms/spatial> [
<http://www.w3.org/2004/02/skos/core#broader> <https://nwbib.de/spatial#N74>
] .
}""")
with open("result.txt", "a") as output:
for row in qres:
output.write("%s" % row)
output.write("\n")
Es sind 557 Titel, die sowohl N74
als auch eine Unterordnung dessen in spatial
haben. Das Ergebnis ist in diesem gist: https://gist.github.com/acka47/cb0177d8911db48fce50a71b3849796d
Es sind 557 Titel, die sowohl N74 als auch eine Unterordnung dessen in spatial haben. Das Ergebnis ist in diesem gist: https://gist.github.com/acka47/cb0177d8911db48fce50a71b3849796d
OK cool, das sieht ja gut aus und hat ja schnell geklappt.
Bei denen soll jetzt die N74 raus? D.h. Update-Datei für den Katalog erstellen wie in z.B. in https://github.com/hbz/nwbib/issues/523?
Bei denen soll jetzt die N74 raus? D.h. Update-Datei für den Katalog erstellen wie in z.B. in #523?
Ja, genau.
@acka47 Hm, ich habe mir nochmal die Beispiele aus dem ersten Kommentar angesehen, ist nicht N74 nur ein Beispiel? Da sind z.B. N10, N54, N24, N14 etc. dabei. Heisst das, was du gemacht hast müsste man für all diese Notationen machen?
Heisst das, was du gemacht hast müsste man für all diese Notationen machen?
Upps, ja, da hast du wohl recht.
OK, da ich ja die Liste eh noch recht komplex verarbeiten müsste (um die Daten für 700n zu bekommen) würde ich da dann nochmal anders rangehen. Ich denke, wir könnten im Prinzip alle mit spatial.id durchgehen und generell Überordnungen rausnehmen, wenn es auch eine Unterordnung gibt, ich gucke mir das mal an.
Aber generell ist das richtig hier, die sollen im Katalog raus? Wäre ja auch auf UI-Ebene möglich.
Ich denke, wir könnten im Prinzip alle mit spatial.id durchgehen und generell Überordnungen rausnehmen, wenn es auch eine Unterordnung gibt, ich gucke mir das mal an.
+1
Aber generell ist das richtig hier, die sollen im Katalog raus? Wäre ja auch auf UI-Ebene möglich.
Ja, die sollen raus. Das haben wir beim initialen Export der URIs im Dezember verschlafen und sollten das jetzt nachholen.
Import-Datei: 700n-import-20200401-1000.txt (731 Einträge)
Hier ein Beispiel: https://nwbib.de/HT018204756
Raumsystematik und was weg soll:
05566036 Laer > Holthausen
05566004 Altenberge
04 Westfalen
05566064 Nordwalde
05566024 Horstmar
05566024 Horstmar > Leer
05566 Kreis Steinfurt
05566 Kreis Steinfurt > Steinfurt (bis 1421) > Burgsteinfurt
05566036 Laer
05566 Kreis Steinfurt > Steinfurt (bis 1421) > Borghorst
01 Nordrhein-Westfalen
D.h. für die Import-Datei:
HT018204756 "Holthausen$$0https://nwbib.de/spatial#Q15115136", "Altenberge$$0https://nwbib.de/spatial#Q181809", "Westfalen$$0https://nwbib.de/spatial#N04", "Nordwalde$$0https://nwbib.de/spatial#Q182248", "Leer$$0https://nwbib.de/spatial#Q1812138", "Burgsteinfurt$$0https://nwbib.de/spatial#Q9182180", "Borghorst$$0https://nwbib.de/spatial#Q9177531", "Nordrhein-Westfalen$$0https://nwbib.de/spatial#N01", "Zeitungen$$0https://nwbib.de/subjects#N882024"
Weitere Stichproben kann man gut per grep
nach hbz-ID in der Datei machen.
Hmm, ich habe zwei Titel aus dem oben verlinkten gist ausprobiert (HT016542897, BT000040290). Beide sind nicht https://github.com/hbz/nwbib/files/4413820/700n-import-20200401-1000.txt, obwohl dort immer noch sowohl Über- (N74) wie Unterordnung drin sind.
Oh, da habe ich durch einen Bug die häufigsten Fälle übersprungen.
Neue Import-Datei: 700n-import-20200401-1200.txt.zip (10631 Einträge, vorher: 731)
Sieht gut aus bis auf eine Sache. Bei vier Notationen gibt es kein Label in der Update-Datei, obwohl die in nwbib-spatial stehen: N23, Q1374337, Q31312912, Q328545
41 Titel sind betroffen, einfach nach "spatial#
in der Datei suchen. Keine Ahnung, woran das liegt. Könnten wir einfach mit find/replace korrigieren...
Hm, die Label sind offenbar in den Daten kaputt, z.B. spatial.label
von Q1374337
in http://lobid.org/resources/BT000041390.json. Ich habe das hier beim Erzeugen der Import-Datei repariert, indem ich für die Fälle das Label nachschlage.
Neue Import-Datei: 700n-import-20200401-1400.txt.zip
+1
Ich habe gerade gemerkt, dass die Datei auch ZDB-Titel enthält, die ja nicht in hbz01 aktualisiert werden (können/sollen). Beispiel: https://nwbib.de/HT018180917 :
{
"inCollection":[
{
"id":"http://lobid.org/resources/HT014176012#!",
"type":[
"Collection"
],
"label":"Nordrhein-Westfälische Bibliographie (NWBib)"
},
{
"id":"http://lobid.org/resources/HT014846970#!",
"type":[
"Collection"
],
"label":"Zeitschriftendatenbank (ZDB)"
}
]
}
Die müssen leider noch raus.
Import-Datei ohne ZDB: 700n-import-20200402-1130.txt.zip
Die Update-Datei wurd ein hbz01 eingespielt und die meisten Änderungen sind auch bereits in lobid-resources aber nicht alle (siehe z.B. https://nwbib.de/HT020150940). Mit dem nächsten Einspielen eines Vollabzugs sollten wir dann durch sein.
aber nicht alle (siehe z.B. https://nwbib.de/HT020150940). Mit dem nächsten Einspielen eines Vollabzugs sollten wir dann durch sein.
Das ist eine ZDB-Ressource. Wie es scheint, wurde also doch bereits alles aktualisiert.
Closing.
Das hier müssen wir auch in #465 berücksichtigen.
On 06.02.20 11:35, I.N. wrote:
Das Problem ist, dass in den Daten sowhol Über- wie Unterordnung eingetragen sind.
Aus den Quelldaten von HT019250194:
Aus dem JSON: