Skip to content

property-casing rule conflict met JSON-LD #336

Open

Description

@dvh

Met property-casing dwingen we af dat properties lowerCamelCase moeten zijn. In een JSON-LD response kan een property met een @ beginnen of een : bevatten. Voorbeeldresponse van de API-register API:

{
  "@context": {},
  "@type": "dcat:DataService",
  "dct:conformsTo": [
    "https://spec.openapis.org/oas"
  ],
  "dct:identifier": "dicF0B3HR",
  "dct:title": "string",
  "dct:description": "string",
  "dcat:endpointDescription": "http://example.com",
  "dcat:contactPoint": {
    "vcard:fn": "string",
    "vcard:hasEmail": "http://example.com",
    "vcard:hasURL": "http://example.com"
  },
  "dct:publisher": "http://example.com"
}

Ik denk dat we een uitzondering op application/ld+json responses moeten maken. Een alternatief kan zijn om te forceren dat de JSON-LD responses altijd gemapt worden in de @context en dat we daar @context en @type expliciet toestaan, maar dan schrijven we voor hoe je met JSON-LD moet omgaan (op zich geen slecht idee om daar ook iets over te zeggen) en wordt de response groter:

{
  "@context": {
    "conformsTo": "dct:conformsTo",
    "identifier": "dct:identifier",
    "title": "dct:title"
  },
  "@type": "dcat:DataService",
  "conformsTo": [
    "https://spec.openapis.org/oas"
  ],
  "identifier": "dicF0B3HR",
  "title": "string"
}

Snelste oplossing:

  • : toestaan in lowerCamelCase, dan kijg je iets als colon:lowerCamelCase
  • @ toestaan voor JSON-LD keywords
  • Indien mogelijk in ruleset alleen voor application/ld+json responses

Activity

  1. added
    Scope: KleinKleine wijzigingen met beperkte scope
    Status: In onderzoekTer voorbereiding van uitwerking is onderzoek nodig.
    Type: WijzigingInhoudelijke wijziging op een standaard
    on May 27, 2026
  2. dvh commented on Jun 3, 2026

    @dvh
    CollaboratorAuthor

    Aanvulling: de huidige rule keurt ook _links of _embedded af, iets wat wel voorkomt in bestaande API's.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Scope: KleinKleine wijzigingen met beperkte scopeStatus: In onderzoekTer voorbereiding van uitwerking is onderzoek nodig.Type: WijzigingInhoudelijke wijziging op een standaard

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions