RDF-Generator

Der RDF-Generator ist eine Python-Bibliothek, die strukturierte und unstrukturierte Daten in RDF-Tripel umwandelt und sie mit den Prinzipien des Linked Data kompatibel macht. Er wird hauptsächlich im JudaicaLink-Projekt verwendet, um Datensätze in RDF-Format zu konvertieren, um sie in den JudaicaLink Wissensgraphen zu integrieren.

Funktionen des RDF-Generators

  • Unterstützung für mehrere Datenquellen (Tabellenkalkulationen, XML, JSON, CSV, Web-Scraping).

  • Automatische RDF-Konvertierung mit vordefinierten Zuordnungen.

  • SPARQL-Update-Kompatibilität zum Einfügen von RDF-Daten in Triple-Stores.

  • Integration mit Django und externen APIs.

  • Exportunterstützung für RDF/XML, Turtle, N-Triples und JSON-LD-Formate.

Einrichten der Umgebung

  1. Klonen des Repositorys

git clone https://github.com/judaicalink/rdf_generator.git
cd rdf_generator
  1. Erstellen einer virtuellen Umgebung (Empfohlen)

python -m venv venv
source venv/bin/activate  # On macOS/Linux
venv\Scripts\activate  # On Windows
  1. Abhängigkeiten installieren

pip install -r requirements.txt

Generieren von RDF-Daten

Verwenden Sie zum Generieren von RDF-Daten das Befehlszeilentool oder integrieren Sie es in ein Python-Skript.

Beispielverwendung

python rdf_generator.py --input data.csv --output output.rdf --format ttl

Unterstützte Formate:

  • RDF/XML: –format xml

  • Turtle (TTL): –format ttl

  • JSON-LD: –format jsonld

  • N-Triples: –format nt

Integration mit Python

Sie können den RDF-Generator auch in Ihren Python-Skripten verwenden

1from rdf_generator import RDFConverter
2
3converter = RDFConverter(input_file="data.csv", output_format="ttl")
4converter.convert()
5
6with open("output.ttl", "w") as f:
7    f.write(converter.get_rdf())

Definieren von RDF-Zuordnungen

Zuordnungen definieren, wie Eingabedaten in RDF-Tripel umgewandelt werden. Beispiel-Mapping-Datei (YAML):

 1prefixes:
 2    ex: "http://example.org/"
 3    foaf: "http://xmlns.com/foaf/0.1/"
 4
 5mappings:
 6    - column: "Name"
 7    predicate: "foaf:name"
 8    - column: "Homepage"
 9    predicate: "foaf:homepage"
10    datatype: "xsd:anyURI"

Mit einer Mapping-Datei ausführen

python rdf_generator.py --input data.csv --output output.rdf --mapping mapping.yaml

Überprüfen der RDF-Ausgabe

Wenn RDF generiert wurde, überprüfen Sie es, um die Korrektheit sicherzustellen

rapper -i turtle -o ntriples output.ttl

Oder mit dem RDF-Generator-Tool

python rdf_generator.py --validate output.rdf

Laden von RDF in einen Triple-Store

Um RDF-Daten in Apache Jena Fuseki zu laden

curl -X POST --data-binary @output.rdf -H "Content-Type: application/rdf+xml" https://data.judaicalink.org/fuseki/ds/data

Alternativ mit SPARQL-Update

python rdf_generator.py --upload output.rdf --endpoint https://data.judaicalink.org/update

Problembehandlung & Unterstützung

  • Ungültige RDF-Syntax? Stellen Sie sicher, dass die Zuordnungen korrekt sind und überprüfen Sie die RDF-Ausgabe.

  • SPARQL-Endpunkt reagiert nicht? Überprüfen Sie die Netzwerkverbindung und die Verfügbarkeit des Endpunkts.

  • Brauchen Sie Hilfe? Kontaktieren Sie uns unter https://labs.judaicalink.org/contact/

— Der RDF-Generator vereinfacht die Erstellung von RDF-Daten für JudaicaLink und andere Linked-Data-Projekte. Beginnen Sie noch heute mit der Umwandlung Ihrer Daten! 🚀