updated sources and print filename (@gmacauda)
opendata.swiss: Automatisiertes Anreichern von Metadaten
Metadaten auf opendata.swiss sollen automatisiert angereichert werden, damit geographische/administrative Untereinheiten gefunden werden
📎 pres_Metadaten Gemeinden angereichert.pdf
Szenario: 0 Datensätze gefunden
Sam Schweizer fand opendata.swiss, das zentrale OGD Portal der Schweiz. Sie sucht auf der Seite nach Daten zu ihrem Wohn- und Arbeitsort und gibt im Suchfeld "Zollikofen" ein. Leider erhält sie auf Portal keinen Treffer. Zollikofen ist aber natürlich unter anderem in der Statistik der Schweizer Städte aufgeführt. Die Erklärung: Der Begriff "Zollikofen" ist in den indexierten Metadaten nicht vorhanden, obwohl das Attribut in den Daten vorhanden ist.
Ziel: Das bringt was
Die Metadaten auf opendata.swiss sollen automatisiert angereichert werden, so dass geographische bzw. administrative Untereinheiten (z.B. Gemeinden, Kantone, Geschäftsstellen) bei der Suche in den Datasets der Obereinheiten (z.B. Schweiz, Kantone, Bundesämter) gefunden werden. Mit mehr als 8600 offene Datasets von Bund, Kantonen und Gemeinden und monatlich zwischen 20'000-25'000 eindeutigen Zugriffe werden Eure Ideen Wahrgenommen: Verbesserungen des Portals sind also Verbesserungen für die Schweiz.
Fazit: Konkret und nachhaltig
Eure Ideen bringen konkrete Verbesserungen für die Menschen, die bereits heute nach Schweizer OGD suchen. In unserer Challenge könnt ihr zudem unsere API kennenlernen und euch auf zukünftige Anfragen vorbereiten.
Ressourcen
- opendata.swiss mit ihrer API. Informationen zur Nutzung der API finden sich im Handbook sowie auf der offiziellen Dokumentation von CKAN
- Link auf den Metadaten-Standard DCAT AP-CH und die Implementation auf opendata.swiss
- github repositories: professional; hobby
Organisation: Geschäftsstelle OGD beim Bundesamt für Statistik
GovTech:
opendata.swiss: Automatisiertes Anreichern von Metadaten
Kontext
Projekt entstand am govtech-hackathon 2023. Die Challenge ist hier zu finden: https://hack.opendata.ch/project/947
Ziel
Die Metadaten auf opendata.swiss sollen automatisiert angereichert werden, damit geographische Untereinheiten (z.B. Gemeinden, Kantone) bei der Suche nach Datasets gefunden werden, obschon sie nicht in den Metadaten von https://www.opendata.swiss aufgeführt sind. Gewählter Ansatz: Brute Force. Parse the datasets and add tag, if a Gemeinde is mentioned.
Scope PoC
- Auswahl von 300 Datasets
- Beschränkung auf Datasets mit csv-Ressourcen.
- Beschränkung auf downloadfiles < 5 MB
todo
- Liste der download-Links mit den entsprechenden Package- und Ressourcen-IDs. > ./harvester
- Harvesten der Datasets > onedrive.com/...
- Liste aller Gemeindenamen > ./data
- Parsen der Downloadfile nach den Gemeindenamen > ./parser
- POST der gefundenen Gemeindanamen auf das entsprechende Dataset
- Dokumentieren!
zusätzliche Infos:
- https://www.opendata.swiss
- Informationen zur Nutzung der API finden sich im Handbook (https://handbook.opendata.swiss/de/content/nutzen/api-nutzen.html) sowie auf der offiziellen Dokumentation von CKAN (https://docs.ckan.org/en/2.9/api/#making-an-api-request)
- Metadaten-Standard DCAT AP-CH (https://dcat-ap.ch/) und die Implementation auf opendata.swiss (https://handbook.opendata.swiss/de/content/glossar/bibliothek/dcat-ap-ch.html)
- github repository des opendata.swiss-handbook: https://github.com/opendata-swiss/
To do (future):
- Ausweiten auf weitere Parameter
- Für die Einbindung von Geodaten. -> cp. https://davidoesch.github.io/geoservice_harvester_poc/
- Produktivsetzung:
- Automatisierung nach dem Harvesting (vorausgesetzt: Einwilligung der Datapublisher)
- Service für Datapublisher, damti sie selber die Metadaten ergänzen.
- ???
Event finish
Project
Repository updated
updated test_files.csv (Basel-Stadt) (@gmacauda)
go through all datasets (@HesterFrederiek)
Fix basel script (@Dirk Furrer)
Rename enrichmetadata.py to enrichmetadata/enrich_metadata.py (@hurni)
Add files via upload (@hurni)
Delete entich_metadata directory (@hurni)
Merge remote-tracking branch 'origin/main' (@HesterFrederiek)
add test_final.csv (@HesterFrederiek)
Add script to fetch base-stadt urls (@Dirk Furrer)
Update enrich_metadata.py (@hurni)
Update and rename enrichmetadata.py to entichmetadata/enrich_metadata.py (@hurni)
Add files via upload (@hurni)
Merge remote-tracking branch 'origin/main' (@HesterFrederiek)
remove comma at beginning/end (@HesterFrederiek)
Attempt at full text indexer
set axis=1 (@HesterFrederiek)
correct column name (@HesterFrederiek)
do first 100 files (@HesterFrederiek)
remove columns resource_id and filename before export (@HesterFrederiek)
Merge remote-tracking branch 'origin/main' (@HesterFrederiek)
read first 153 files (@HesterFrederiek)
removed line 290, converted to csv (@aresssera)
added datafiles < 1mb (@gmacauda)
add onbadlines='skip' for now (@HesterFrederiek)
add komma in string namesPresent (@HesterFrederiek)
changed get delimiter (@gmacauda)
Merge remote-tracking branch 'origin/main' (@HesterFrederiek)
add datafiles_path (@HesterFrederiek)
Update get_keywords.py (@aresssera)
added example files (@gmacauda)
add source (@HesterFrederiek)
Limit download to 160 files max