Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AMB wird von validator.schema.org nicht erkannt #119

Closed
kulla opened this issue Dec 18, 2021 · 2 comments · Fixed by #156
Closed

AMB wird von validator.schema.org nicht erkannt #119

kulla opened this issue Dec 18, 2021 · 2 comments · Fixed by #156
Milestone

Comments

@kulla
Copy link
Contributor

kulla commented Dec 18, 2021

Es scheint so zu sein, dass https://w3id.org/kim/lrmi-profile/draft/context.jsonld von https://validator.schema.org/ nicht erkannt wird. Wenn ich dort einen Test mit folgenden JSON-LD laufen lasse:

{
  "@context": [
    "https://w3id.org/kim/lrmi-profile/draft/context.jsonld",
    {
      "@language": "de"
    }
  ],
  "id": "https://serlo.org/1495",
  "type": [
    "LearningResource",
    "Article"
  ],
  "dateCreated": "2014-03-01T20:36:44+00:00",
  "dateModified": "2021-03-08T20:51:17+00:00"
}

so erhalte ich den Fehler "Das JSON-LD-Dokument enthält einen ungültigen Typ." (Auch @type wird nicht richtig erkannt):

2021-12-18-231139_475x413_scrot

Der Fehler verschwindet, wenn ich die Definition von https://w3id.org/kim/lrmi-profile/draft/context.jsonld in @context direkt einbaue:

{
  "@context": [
    {
      "@vocab": "http://schema.org/",
      "type": "@type",
      "id": "@id",
      "@language": "de"
    }
  ],
  "id": "https://serlo.org/1495",
  "type": [
    "LearningResource",
    "Article"
  ],
  "dateCreated": "2014-03-01T20:36:44+00:00",
  "dateModified": "2021-03-08T20:51:17+00:00"
}

Ergebnis:

2021-12-18-231234_472x283_scrot

Gegebenenfalls liegt der Bug auch in validator.schema.org, wo externe @context Definitionen nicht richtig auflöst werden. Es wäre gut, wenn das JSON-LD von AMB auch von Google und Co richtig erkannt wird. Ein Workaround wäre es natürlich die Definition von https://w3id.org/kim/lrmi-profile/draft/context.jsonld direkt @context, was aber sicherlich keine Lösung ist.

@acka47
Copy link
Member

acka47 commented Jan 11, 2022

Gegebenenfalls liegt der Bug auch in validator.schema.org, wo externe @context Definitionen nicht richtig auflöst werden.

Ja, so sehe ich das. ;-) Google erwartet derzeit die Referenz zu schema.org direkt im JSON-Dokument, nicht vermittelt über einen externen JSON-LD-Kontext.

Es wäre gut, wenn das JSON-LD von AMB auch von Google und Co richtig erkannt wird.

Das kann ich verstehen. Für mich persönlich ist das über die Jahre ehrlich gesagt immer unwichtiger geworden, weil mir Anwendungsbeispiele fehlen, wo Google wirklich etwas mit diesen CreativeWork-Metadaten macht. Ich habe bisher weder Rich Snippets von OER in Ergebnislisten gesehen noch davon gehört, dass schema.org-Markup die Indexierungschancen erhöht.

Wir können gerne überlegen, wie wir deinem Wunsch gerecht werden. Eine Möglichkeit wäre es, in der Spec beide Möglichkeiten zu erlauben:

  1. Referenzierung des externen JSON-LD-Kontexts
  2. Einbettung des Kontexts im JSON-LD (was wir zwischendurch auch mal hatten, siehe e0bfbaa, allerdings ist die Referenzierung eines externen Kontexts einfach nutzerfreundlicher...)

Ein zweite Möglichkeit, wäre es zwei externe Kontexte anzugeben: schema.org und die Ergänzungen für AMB:

  "@context": [
    "https://schema.org",
    "https://w3id.org/kim/amb/draft/context.jsonld",
    {
      "@language": "de"
    }
  ]

@kulla
Copy link
Contributor Author

kulla commented Jan 19, 2022

Ja, so sehe ich das. ;-) Google erwartet derzeit die Referenz zu schema.org direkt im JSON-Dokument, nicht vermittelt über einen externen JSON-LD-Kontext.

Okay, ich habe entsprechend ein Issue dafür im schemaorg repo angelegt: schemaorg/schemaorg#3036

Das kann ich verstehen. Für mich persönlich ist das über die Jahre ehrlich gesagt immer unwichtiger geworden, weil mir Anwendungsbeispiele fehlen, wo Google wirklich etwas mit diesen CreativeWork-Metadaten macht. Ich habe bisher weder Rich Snippets von OER in Ergebnislisten gesehen noch davon gehört, dass schema.org-Markup die Indexierungschancen erhöht.

Ja, das ist sicherlich von Projekt zu Projekt unterschiedlich. Für uns ist auf jeden Fall relevant. Der Post schemaorg/schemaorg#2921 (comment) zeigt zumindest, dass validator.schema.org die Art und Weise widerspiegelt, wie Google auf die Metadaten schaut. (Quote: "[SMV] it is a view provided by Google's structured data validation infrastructure")

Wir können gerne überlegen, wie wir deinem Wunsch gerecht werden. Eine Möglichkeit wäre es, in der Spec beide Möglichkeiten zu erlauben

Perfekt. Ich denke genau das ist die Lösung. Eine Alternative ist im Übrigen auch:

{
  "@context": [
    "https://w3id.org/kim/lrmi-profile/draft/context.jsonld",
    {
      "@language": "de",
      "@vocab": "http://schema.org/",
      "type": "@type",
      "id": "@id"
    }
  ],
}

Ich glaube, dass AMB keine genaue Spezifikation für die Angabe von @context braucht (Zumindest nicht, dass hier das JSON genau spezifiziert wird). Hauptsache, es wird irgendwie auf https://w3id.org/kim/lrmi-profile/draft/context.jsonld verwiesen. Daneben sollte es die Möglichkeit geben, weitere Spezifikationen im Sinne von JSON-LD aufzunehmen und Datenfelder zu beschreiben, die nicht in AMB spezifiziert sind. Deine und mein Workaround sollte also durch AMB erlaubt sein. Bist du derselben Meinung?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants