[Dini-ag-kim-titeldaten] Anwendungsprofile und JSON-LD-Kontext-Dokumente

Adrian Pohl pohl at hbz-nrw.de
Fre Jul 19 09:31:34 CEST 2013


> Was ich noch ergänzt habe in dem Dokument sind deutsch- und
> englischsprachige Labels für die Properties. (Ich bin mir nicht
sicher,
> ob das so gemacht werden soll/kann [3], sehe aber nichts, was
dagegen
> spricht.) 

Ich bin der Frage nachgegangen, ob die Spezifikation von
Property-Labels in einem JSON-LD-Kontext-Dokument valide ist. Das ist
sie NICHT, siehe den JSON-LD-Grammar-Abschnitt in der Spezifikation
[1]:

"An expanded term definition MUST be a JSON object composed of zero or
more keys from @id, @reverse, @type, @language or @container. An
expanded term definition SHOULD NOT contain any other keys."

Somit ist [2] invalide (und auch [3], wo ich die Label-Angabe in den
Body des Dokuments verschoben habe). Auf der Linked JSON-Mailingliste
wurden mir verschiedene Alternativen vorgeschlagen (siehe den
entsprechen Thread unter [4]), die ich nun evaluieren werde.

- Adrian

[1] http://json-ld.org/spec/latest/json-ld/#context-definitions

[2]
https://github.com/acka47/dini-kim-ag-titeldaten/blob/db70387775e4ae5772b82d1b05a6d05115930277/titledata-context.jsonld

[3]
https://github.com/acka47/dini-kim-ag-titeldaten/blob/d5931b64d74ac8d4eeb29ddb9a71d22ffb076209/titledata-context.jsonld

[4]
http://lists.w3.org/Archives/Public/public-linked-json/2013Jul/0090.html


>>> On 17.7.2013 at 17:11, "Adrian Pohl" <pohl at hbz-nrw.de> wrote: 
> Hallo,
> 
> die Version 1.0 der "Empfehlung für die RDF-Repräsentation
> bibliografischer Daten (Textressourcen)"[0] wird voraussichtlich in
den
> nächsten Wochen veröffentlicht. Für zukünftige Versionen der
> Empfehlungen wie auch für andere Anwendungsprofile fände ich es
> sinnvoll, diese ergänzend in Form eines JSON-LD-Kontext Dokuments zu
> publizieren. JSON-LD [1] ist ja gerade das neueste heiße Ding in der
> Linked-Data-Welt und steht kurz davor, W3C-Standard zu werden. Ich
habe
> das Gefühl, dass Kontext-Dateien für die Dokumentation und Benutzung
von
> Anwendungsprofilen  wie die DINI-KIM-Titeldaten-Empfehlungen
nützlich
> sein könnten.
> 
> Ein JSON-LD-Kontext kann zu dem Zweck eingesetzt werden,
Property-URIs
> auf knappe Kürzel zu reduzieren, die dann in einem JSON-Dokument
genutzt
> werden können. So muss in einem JSON-Dokument z.B. nicht überall
> "http://purl.org/dc/terms/title" stehen, sondern es kann einfach
> die Kurzversion "title" benutzt werden, wenn diese über ein
engebettetes
> oder verlinktes Kontext-Dokument auf die entsprechende Property-URI
> gemappt wird. Mit anderen Worten: Während die Prefix-Deklaration etwa
in
> einem Turtle-Dokument (z. B. "@prefix dct:
<http://purl.org/dc/terms/
> .") es erlaubt Namespaces durch ein Kürzel zu ersetzen, um diese im
> Dokument nicht immer wiederholen zu müssen, können in einem
> Kontext-Dokument komplette Property-URIs auf ein eigenes Kürzel
gemappt
> werden, z. B. : 
> 
> {
>   "@context":
>   {
>     "title": "http://purl.org/dc/terms/title"
>   }
> }
> 
> Mit so einem Kontext-Dokument lassen sich, wenn nicht alle, so
> zumindest einige wichtige Teile der Titeldaten-Empfehlungen
abbilden,
> nämlich die vorgeschlagenen Properties plus die Information, ob
diese
> mit einem URI oder einem Literal in Objektstellung verwendet werden
> sollten. Die Kontext-Datei zu dem Anwendungsprofil kann dann von der
> DINI-KIM-AG im Web (etwa auf github) veröffentlicht werden und jedeR
> kann sich dies dann klonen und für seine Zwecke ergänzen.
> 
> Ich habe mal einen ersten Entwurf eines solchen Dokuments gemacht,
> siehe [2]. Was ich noch ergänzt habe in dem Dokument sind deutsch-
und
> englischsprachige Labels für die Properties. (Ich bin mir nicht
sicher,
> ob das so gemacht werden soll/kann [3], sehe aber nichts, was
dagegen
> spricht.) So kann vielleicht erreicht werden, dass unterschiedliche
> Projekte, die die Empfehlungen umsetzen, nicht nur einheitliche
> Properties, sondern auch die gleichen Labels für die Properties
> benutzen. So würden Besucher verschiedener Services nicht durch
> unterschiedliche Terminologie verwirrt werden.
> 
> Hier mal beispielhaft ein Ausschnitt aus der Kontext-Datei für
> dc:title:
> 
> "title": {
>       "@id": "http://purl.org/dc/elements/1.1/title",
>       "@type": "xsd:string",
>       "label":
>       [
>           {
>              "@value": "Titel",
>              "@language": "de"
>           },
>           {
>              "@value": "title",
>              "@language": "en"
>           }
>       ]
>     }
> 
> JSON-LD macht ja "normalen" Webentwicklern den Einstieg in die
LOD-Welt
> deutlich leichter. Das ist ja für sich schon mal eine
Errungenschaft.
> Daneben liegt m. E. eben auch einiges Potential in den
> Kontext-Dokumenten, die ganz neue Möglichkeiten bieten - eben bspw.
für
> die Darstellung von Anwendungsprofilen. Was meinen Sie/meint ihr?
> 
> Ciao
> Adrian
> 
> [0] https://wiki.dnb.de/x/cYMOB
> 
> [1] http://json-ld.org
> 
> [2]
>
https://github.com/acka47/dini-kim-ag-titeldaten/blob/master/titledata-conte
> xt.jsonld
> 
> [3] https://twitter.com/acka47/status/357483666630393857