Inhaltsverhandlung

JudaicaLink unterstützt die Inhaltsverhandlung, wodurch Benutzer verknüpfte Daten in verschiedenen Formaten wie HTML, JSON-LD, RDF/XML und Turtle (TTL) abrufen können. Dies ermöglicht eine nahtlose Integration mit verschiedenen Linked-Data-Tools und -Anwendungen.

Was ist Content Negotiation?

Inhaltsverhandlung ist ein Mechanismus, der es Clients ermöglicht, eine Ressource in einem bestimmten Format anzufordern, indem das gewünschte Format im HTTP-Header Accept angegeben wird.

Zum Beispiel:

  • Ein Webbrowser fordert standardmäßig HTML an.

  • Eine Linked-Data-Anwendung kann JSON-LD oder RDF/XML anfordern.

Verfügbare Formate

JudaicaLink unterstützt die folgenden Formate:

Format

MIME-Typ

Beispielanfrage

HTML

text/html

https://data.judaicalink.org/data/html/yivo/moses-mendelssohn

JSON-LD

application/ld+json

https://data.judaicalink.org/data/jsonld/yivo/moses-mendelssohn

RDF/XML

application/rdf+xml

https://data.judaicalink.org/data/xml/yivo/moses-mendelssohn

Turtle

text/turtle

https://data.judaicalink.org/data/ttl/yivo/moses-mendelssohn

Wie man Daten in verschiedenen Formaten anfordert

Es gibt zwei Hauptwege, um ein bestimmtes Format anzufordern:

1. Verwendung von URL-Pfaden

JudaicaLink ermöglicht es Benutzern, das gewünschte Format direkt in der URL anzugeben:

  • HTML: https://data.judaicalink.org/data/html/{dataset}/{entity}

  • JSON-LD: https://data.judaicalink.org/data/jsonld/{dataset}/{entity}

  • RDF/XML: https://data.judaicalink.org/data/xml/{dataset}/{entity}

  • Turtle: https://data.judaicalink.org/data/ttl/{dataset}/{entity}

Beispiel:

curl -L https://data.judaicalink.org/data/jsonld/yivo/moses-mendelssohn

2. Verwendung von HTTP-Headern

Erfahrene Benutzer und Anwendungen können das gewünschte Format über den Accept-Header in HTTP-Anfragen angeben:

Example Requests

  • JSON-LD:

curl -H "Accept: application/ld+json" https://data.judaicalink.org/data/yivo/moses-mendelssohn
  • RDF/XML:

curl -H "Accept: application/rdf+xml" https://data.judaicalink.org/data/yivo/moses-mendelssohn
  • Turtle:

curl -H "Accept: text/turtle" https://data.judaicalink.org/data/yivo/moses-mendelssohn

Programmatischer Zugriff

Anwendungen können die Inhaltsverhandlungsfähigkeiten von JudaicaLink integrieren, indem sie Datenformate basierend auf ihren Anforderungen dynamisch anfordern.

Zum Beispiel:

1import requests
2headers = {"Accept": "application/ld+json"}
3response = requests.get("https://data.judaicalink.org/data/yivo/moses-mendelssohn", headers=headers)
4data = response.json()
5print(data)

Beste Praktiken

  • Bei der Verwendung von SPARQL-Endpunkten sollten Ergebnisse in JSON-LD angefordert werden, um eine bessere Integration mit semantischen Web-Tools zu ermöglichen.

  • Für menschlich lesbare Daten verwenden Sie das HTML-Format.

  • Für maschinenlesbare RDF fordern Sie Turtle (TTL) oder RDF/XML an.

Problembehandlung

1. Falsches Format erhalten

Wenn Sie nicht das erwartete Format erhalten:

  • Überprüfen Sie den URL-Pfad (stellen Sie sicher, dass Sie /jsonld/, /xml/ usw. verwenden).

  • Stellen Sie sicher, dass der `Accept`-Header korrekt gesetzt ist.

2. Daten nicht gefunden

Wenn eine bestimmte Entität im angeforderten Format nicht existiert, versuchen Sie Folgendes zu überprüfen:

  • Die Datensatzverfügbarkeit unter https://data.judaicalink.org.

  • Überprüfen Sie, ob die Entität existiert, indem Sie zuerst die HTML-Version anfordern.

Nächste Schritte

— Vielen Dank, dass Sie JudaicaLink verwenden! 🚀