Gute Nachrichten für Freunde der semantischen Datenspeicherung! Im Projekt "Sammlungen, Objekte, Datenkompetenzen" (@SODa) entwickeln wir einen Semantic Co-Working Space (mehr dazu auf diesem Poster: https://doi.org/10.5281/zenodo.14627710) In dem Kontext hat unser Mitarbeiter Kai Amann einen Django-Wrapper um RDF4J gebaut und Tom Wiesing hat den in eine Auth-Proxy-Umgebung eingebettet. Die Open Graph Database liegt im FAU/CDI Repo bei Github: https://github.com/FAU-CDI/open_gdb.

#wisski #sodascs #triplestore #rdf4j

SODa Semantic Co-Working Space

Der SODa Co-Working Space (SCS) Der SODa Coworking Space (SCS) stellt eine Infrastruktur bereit, die den Nutzenden ein breites Spektrum an Möglichkeiten bietet, sich zu vernetzen, zu forschen und zu lernen. Er bildet die technische Basis für die Angebote des Verbundprojekts "Sammlungen, Objekte, Datenkompetenzen" und vereint dessen Best Practices, Richtlinien und Inhalte. Als Ergebnis des SODa-Projekts soll er Forschenden, die im Kontext von Sammlungen tätig sind, kostenfrei zur Verfügung gestellt werden. Beschreibung Nutzende können ihre Daten, Dokumente, Algorithmen, Modelle etc. in den SCS importieren oder direkt dort erstellen, bearbeiten, zur Verfügung stellen und auch wieder exportieren. Der Datenmenge sind dabei keine Grenzen gesetzt.Dazu stehen den Nutzenden verschiedene Komponenten des SCS zur Verfügung, die es ermöglichen, Daten zu modellieren, zu erschließen, anzureichern, zu transformieren, zu migrieren, zu analysieren, zu visualisieren, zu speichern, zu publizieren oder mit Programmiercode zu verarbeiten. Die Komponenten sind mittels Single Sign On über eine Cloud-Webapplikation und Schnittstellen zugänglich. Die Webapplikation verfügt über ein Dashboard, über das die Komponenten angefordert und verwaltet werden können. Kein Service ist autoritär oder verpflichtend, die Tools können einzeln oder im Verbund genutzt werden, die Komponenten können jedoch nur über das Dashboard administriert werden. Nutzende können Projekte anlegen, in denen Rollen und Gruppen-Berechtigungen für jeweilige Komponenten freigeben werden können. Daten, die in einer Komponente vorhanden sind, können auch von allen anderen Komponenten genutzt werden, sofern die Projekt- oder Nutzerrechte dies zulassen. Der SCS ist barrierearm gestaltet und orientiert sich an der BITV 2.0 hinsichtlich Wahrnehmbarkeit, Bedienbarkeit, Verständlichkeit. Alle Daten des SCS werden langfristig gespeichert und können von den Nutzenden gemäß den FAIR-Prinzipien mit gängigen Schnittstellen entsprechend ihrer Kompetenzen zur Verfügung gestellt werden. Möglichkeiten Es sollen möglichst alle Aufgaben eines Forschungsdatenlebenszyklus im SCS bearbeitet werden können: Modellieren Datenmodelle und Ontologien können erstellt und visualisiert werden. Erschließen (Primär-)Daten können benutzerfreundlich über ein Content Management System erfasst werden  Anreichern (Primär-)Daten können manuell oder aus anderen Repositories angereichert werden. Dabei kann es sich um (Standard-)Daten aus entfernten Systemen oder aus anderen SCS-Repositorien handeln. Die automatische Anreicherung aus externen Systemen gilt nur für ausgewählte Repositorien, ist nicht für jeden Dienst garantiert und erfordert in der Regel eine erweiterte Konfiguration oder eigene Algorithmen.  Transformieren/ Mappen Daten(typen) und ihre Semantiken können massenhaft bearbeitet, gruppiert, korrigiert oder neu parsed werden. Analysieren, visualisieren und (statistisch) auswerten Grundlegende deskriptive und probabilistische Statistik kann auf die Daten angewendet werden. Grundlegende Visualisierungen wie Diagramme (Balken-, Linien-, Netzwerk-, Kreuztabellen, Heatmaps etc.) können erstellt und exportiert werden.  Speichern Daten können persistent in der SCS-Cloud und in Datenbanken gespeichert werden. Publizieren        ◦ Daten, Dokumente und Ergebnisse können in File-Drives und Content-Management-Systemen von FAIR publiziert werden. Programmieren Algorithmen, insbesondere im Bereich Data Science, können in Online-IDEs erstellt und evaluiert werden. Schnittstellen innerhalb und außerhalb des SCS können realisiert werden. Bestehende Modelle des maschinellen Lernens können integriert werden. Eigenes grundlegendes Training ist nicht möglich, nur Verfeinerung / Anpassung vorhandener Modelle. Werkzeuge Der SCS vereint verschiedene Werkzeuge, die integrativ genutzt werden können, dazu zählen unter anderem: Relationale Datenbank (MariaDB) Triplestore (Open Graph Database) Content Management System (WissKI) Datenmanagement (OpenRefine) Programmierumgebung (Jupyter Hub) Drive (voraussichtlich NextCloud + Collabora) Roadmap Derzeit befindet sich der SCS in der Entwicklung und internen Testung durch SODa-Projektmitglieder und wird voraussichtlich im dritten Quartal 2025 in einer ersten Version zur Verfügung stehen.

Zenodo
@msgilligan using it to change from a pull (volcano) style database query evaluation to a push based one inside the #rdf4j query engine.
@msgilligan I was experimenting with this for #eclipse #rdf4j. Works ok for a prototype but I have difficulty wrapping my head around reactive
I hacked a custom #sparql function at #biohackjp using #libretranslate to "convert" rdf langstrings to a different one on the fly! Very prototype but so cool 😎 for #rdf4j https://github.com/JervenBolleman/libretranslate-rdf4j
GitHub - JervenBolleman/libretranslate-rdf4j: Translate literals inside an RDF4j custom function using libretranslate

Translate literals inside an RDF4j custom function using libretranslate - GitHub - JervenBolleman/libretranslate-rdf4j: Translate literals inside an RDF4j custom function using libretranslate

GitHub

#RDF4J 4.2.4 is now available: https://rdf4j.org/news/2023/04/22/rdf4j-4.2.4-released/

'tis but a patch.

RDF4J 4.2.4 Released · Eclipse RDF4J™ | The Eclipse Foundation

RDF4J 4.2.4 is now available. This is a patch release fixing 6 bugs. For more details, have a look at the release notes.

Eclipse RDF4J

@asonix what #RDF4J does, generally, is prefix all incoming blank node identifiers with a generated UUID that is kept stable for the parser run. This guarantees global uniqueness while preserving blank node identity within the individual document being added (without the need to keep a big dictionary of all blank nodes in memory).

See https://github.com/eclipse/rdf4j/blob/main/core/rio/api/src/main/java/org/eclipse/rdf4j/rio/helpers/AbstractRDFParser.java#L393

rdf4j/AbstractRDFParser.java at main · eclipse/rdf4j

Eclipse RDF4J: scalable RDF for Java. Contribute to eclipse/rdf4j development by creating an account on GitHub.

GitHub
It took only 20-odd years, but we finally have an #OpenAPI spec published for the #RDF4J REST API: https://rdf4j.org/documentation/reference/rest-api/
RD4J REST API - OpenAPI spec

@exa it's just a different way to create new URIs, really. Looking to clean up the config vocabulary in #RDF4J and tag URIs are generally shorter, and don't give the (often false) impression that they're dereferencable in a browser.
So: tag scheme URIs for #RDF vocabulary, yes or no? Thinking of using something like <tag:rdf4j.org:2023:config/repository#> as namespace for #RDF4J configuration vocabulary.
#RDF4j is a #semantic web stack written in #java and a proper #eclipse project. The new java capabilities allow some really sweet code. Some work we did was inspired by #JRuby and @headius. Which seems odd, but their use of invoke dynamic style code also applies to database query languages :D