Stand und Entwicklung SkoHub

Vortrag von @steffen_roertgen am 15.4., 10:30-11 Uhr.

Folien

SkoHub ist ein Set verschiedener Module für die Arbeit mit kontrollierten Vokabularen auf Basis von SKOS. Neben dem Reconciliation Modul „SkoHub Reconcile“, welches die Reconciliation Service API (Reconciliation Service API) unterstützt, sind kürzlich einige Funktionalitäten hinzugekommen, die eine sehr einfache Möglichkeit bieten, die eigenen Vokabulare ohne zusätzliche Infrastruktur publizieren zu können.
In diesem Vortrag wird der aktuelle Stand sowie die weitere geplante Entwicklung vorgestellt.

Ich dokumentiere im folgenden mal ein paar Fragen, die nach dem Vortrag gestellt wurden.

Ist eine Skohub Pages Unterstützung für GitLab, Codeberg etc. geplant?

Dazu zitiere ich die Antwort aus dem Blogpost zum Thema:

There are lots of reasons why people might not want to use the GitHub infrastructure owned by Microsoft for their SKOS publication workflows. That’s why we will be looking into replacing as much as possible of this workflow by generic git-based tooling for triggering the build. The goal is to support such an easy SKOS publishing workflow on other forges like GitLab or Forgejo. The work on this happens around this issue: Check alternatives to GitHub actions and pages · Issue #19 · skohub-io/skohub-pages · GitHub

Kurz, ja, wir würden das gerne für alle Nutzer:innen anbieten unabhängig von der durch sie bevorzugten Software-Entwicklungsplattform (forge). Idealerweise nutzen wir generische Tools wie git hooks und bieten eine eigenen build server an. Dann wäre die Konfiguration unabhängig von der genutzten Softwareentwicklungsplattform. Wie und ob das realistisc umsetzbar ist, müssen wir aber noch diskutieren.

Wir sind bei der Planung noch nicht ins Detail gegangen und freuen uns über Unterstützung bei der Implementierung. Dazu gerne Ideen hier ins Forum posten oder beim zitierten GitHub Ticket ergänzen.

Gibt es eine Roadmap für die nächsten großen Ideen/Features/Pläne?

Wir planen die Entwicklung im SkoHub Kanban Board: SkoHub · GitHub Bei Bedarf können wir die wöchentlichen 30-45 minütigen Planungstreffen gerne für Interessierte öffnen. Wär da jemand dabei?

Wird mir der Reconciliation Endpoint auch Konfidenzwerte geben für einen Abgleich-Treffer?

Ja. Eine Liste aller im vom hbz betrieben SkoHub-Reconcile-Dienst (Achtung: Testbetrieb!) kann hier angesehen werden: https://reconcile.skohub.io/vocabs Die unter manifestUrl gelisteten URLs können z.B. in der Reconcilation Test Bench der Reconciliation Community Group des W3C getestet werden. Hier ein Beispielscreenshot:

Hinter „View query results on the service“ verbirgt sich dann die Payload des SkoHub Reconcilation Dienstes, hier: https://reconcile.skohub.io/reconcile?language=de&account=mpilhlt&dataset=https%3A%2F%2Fw3id.org%2Fmpilhlt%2Fworktime_term%2Fscheme&queries={„q0“%3A{„query“%3A"Kontrolle"}} Dort sieht mensch, dass mit den Kandidaten ein score mitgeliefert wird:

{
   "q0":{
      "result":[
         {
            "id":"https://w3id.org/mpilhlt/worktime_term/t0.6",
            "name":"Kontrolle",
            "description":"",
            "score":213.78505,
            "match":false,
            "type":[
               {
                  "id":"Concept",
                  "name":"Concept"
               }
            ],
            "inScheme":[
               {
                  "id":"https://w3id.org/mpilhlt/worktime_term/scheme"
               }
            ]
         },
         {
            "id":"https://w3id.org/mpilhlt/worktime_term/t0.6.3",
            "name":"Meldung (Kontrolle)",
            "description":"",
            "score":179.72665,
            "match":false,
            "type":[
               {
                  "id":"Concept",
                  "name":"Concept"
               }
            ],
            "inScheme":[
               {
                  "id":"https://w3id.org/mpilhlt/worktime_term/scheme"
               }
            ]
         }
      ]
   }
}

github pages ist hosting von statischen seiten, oder? Also die github actions machen aus einem „skos turtle“ file content, der auf jedem beliebigen webserver publiziert werden kann?

Ja, während im Prinzip SkoHub Vocabs diese Überführung von SKOS/TTL nach HTML/JSON-LD umsetzt. Du kannst dir also auch lokal einfach die statischen Seiten bauen, die du dann auf einem eigenen Webserver publizieren kannst, siehe den Setup-Abschnitt in der SkoHub Vocabs Readme. Mit den GitHub Actions wird das Verfahren automatisiert, so dass mit jedem Commit ein SkoHub Vocabs Docker Container geladen wird zum Bau der statischen Seiten, die dann im gh-pages-Branch abgelegt werden und mit GitHub Pages – auf Microsoft-Servern – veröffentlicht werden.

Und herzlich willkommen im Forum, @naturzukunft !

Na das war ja einfacher als gedacht :blush:
Hab mal ein kleines Projektchen aufgesetzt. Hat alles was ich brauche. Baut immer alles, aber das ist auch das, was ich erwarte.

Publiziert wird nach → gitlab-pages

Muss noch eine Domain Umleitung konfiguriert werden.

2 „Gefällt mir“

Das sieht gut aus. Wir werden mal schauen, ob wir im ersten Schritt nicht einfach eine skohub-Organisation auf GitLab anlegen und dann ein skohub-pages-repo mit der entsprechenden .gitlab-ci.yml anlegen. @steffen_roertgen, was meinst du?

sehr cool @naturzukunft !

Um die SkoHub Infos nicht an zu vielen unterschiedlichen Orten zu haben, ist mein Vorschlag:

  • Die GitLab CI-Pipeline in das offizielle SkoHub Pages Repo aufnehmen und in den Anleitungen zwischen „GitHub“ und „GitLab“ unterscheiden
  • Auf GitLab ggf. das Repo spiegeln
  • Blog Post schreiben