Ein vollständig clientseitiger SPARQL-Endpoint für den NFDI4Objects Knowledge Graph:
Jekyll-Plugin aggregiert automatisch alle TTL-Dateien zu nfdi4objects.ttl
Interaktives SPARQL-Interface auf /services/sparql/ (Deutsch & Englisch)
7 Beispiel-Queries für häufige Anwendungsfälle
Download-Link zur vollständigen TTL-Datei
Browser-basiert - keine Server-Infrastruktur nötig
_plugins/aggregate_ttl.rb- Aggregiert alle TTL-Dateien_includes/sparql-interface.html- SPARQL-UI-Komponente (YASGUI + Comunica)_data/sparql-examples-de.yml- Deutsche Beispiel-Queries_data/sparql-examples-en.yml- Englische Beispiel-QueriesSPARQL-IMPLEMENTATION.md- Ausführliche DokumentationSPARQL-QUICKSTART.md- Diese Datei
_pages/services/sparql.md- Deutsche SPARQL-Seite mit Interface_pages/en/services/sparql.md- Englische SPARQL-Seite mit Interface
# 1. Jekyll-Build durchführen
jekyll build
# 2. Prüfen ob TTL generiert wurde
ls -lh _site/nfdi4objects.ttl
# 3. Lokalen Server starten
jekyll serve
# 4. Im Browser öffnen
# http://localhost:4000/nfdi4o-relaunch/services/sparql/- SPARQL-Seite mit vollständiger Erklärung
- YASGUI-Editor mit vordefinierter Query
- 7 Beispiel-Queries als klickbare Buttons
- Download-Link zur TTL-Datei
Klicken Sie auf "Alle Personen auflisten" und führen Sie die Query aus:
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX nfdicore: <https://nfdi.fiz-karlsruhe.de/ontology#>
SELECT ?person ?name WHERE {
?person a nfdicore:Person ;
foaf:name ?name .
}
ORDER BY ?name- Build-Zeit: Jekyll generiert individuelle TTL-Dateien für jede Entität
- Post-Build: Plugin sammelt alle TTL-Dateien und erstellt
nfdi4objects.ttl - Laufzeit: Browser lädt TTL-Datei via Comunica und führt SPARQL-Queries aus
Wichtig: Das Plugin funktioniert nur mit GitHub Actions, nicht mit automatischem GitHub Pages Build!
Benötigte Workflow-Datei (.github/workflows/deploy.yml):
name: Deploy Jekyll site
on:
push:
branches: [ main ]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
- name: Build with Jekyll
run: bundle exec jekyll build
env:
JEKYLL_ENV: production
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./_siteNach dem Build:
- 23 TTL-Dateien gefunden
- ~12 KB aggregierte TTL-Datei
- 7 Beispiel-Queries verfügbar
- SPARQL-Seite (DE):
/services/sparql/ - SPARQL-Seite (EN):
/en/services/sparql/ - TTL-Download:
/nfdi4objects.ttl - Knowledge Graph Service:
/services/nfdi4objects-graph/
TTL-Datei fehlt nach Build:
# Prüfen Sie die Build-Logs
jekyll build --trace | grep "N4O TTL"