Driftinformation

Ändringar i K-samsök 2025-06-23

2025-06-23 kommer en ändring i hur K-samsök serialiserar RDF-grafer som JSON-LD. Ändringen beskrivs här nedanför, och en offentlig verifikationsmiljö är tillgänglig för test inför driftsättnignen.

Ändringen kommer att påverkar tillämpningar byggda på K-samsök som både:

  1. konsumerar data från K-samsök i JSON-LD–formatet;
    och
  2. behandlar datat som om den vore en vanlig JSON-datastruktur, inte som en serialisering av en RDF-graf;

Ändringen gäller för:

Obs. att om er tillämpning inte konsumerar JSON-LD data från K-samsök, eller konsumerar JSON-LD men behandlar det som en RDF-graf, den här ändringen kommer inte att påverka er. RDF/XML-serialiseringen påverkas inte, och de bakomliggande RDF-graferna förblir isomorfiska tvärs ändringen – det är enbart grafens serialisering som JSON-LD som kommer att förändras.


K-samsök går över från att serialisera data som JSON-LD 1.0, till JSON-LD 1.1, och serialiseringsmönstret ändras i samband med detta.
Bl.a.:

  • Namnrymder behandlas på ett annat sätt. I dagens JSON-LD 1.0 serialisering använda kortnamn (alias) för de flesta enskilda attribut, som förekommer var för sig inom ett @context-block, såsom t.ex.:
    …
    "@context": {
    "itemDescription": {
          "@id": "http://kulturarvsdata.se/ksamsok#itemDescription",
          "@type": "@id"
        },
    …
    },
    …

    Framöver kan @context-blocket bli mycket kortare, och <http://kulturarvsdata.se/ksamsok#> anges som förvald namnrymd, och andra namnrymder definieras, istället för att varje attribut definieras för sig:

    …
    "@context": {
        "@vocab": "http://kulturarvsdata.se/ksamsok#",
        "foaf": "http://xmlns.com/foaf/0.1/",
    …
    },
    …
  • Detta innebär också att typade strängar kan uttryckas på ett annat sätt, med inline-mönstret @type/@value snarare än fördefinierade typer; t.ex. nuvarande

    …
    "@graph": [
      {
    …
        "presentation": "…<XML>…",
    …
      }
    ],
    "@context": {
    …
      "presentation": {
        "@id": "http://kulturarvsdata.se/ksamsok#presentation",
        "@type": "http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral"
      },
    …
    }

    kan bli

    …
    "@graph": [
      {
    …
        "presentation": {
    	    "@value": "…<XML>…",
    	    "@type": "rdf:XMLLiteral"
        },
    …
      }
    ],
    "@context": {
        "@vocab": "http://kulturarvsdata.se/ksamsok#",
    …
    }
  • En annan konsekvens är, att RDF-objekt som är URI:er, och referenser till blanka noder, blir JS-objekt med @id-nyckel och sträng som värde, snarare än bara strängar. T.ex. skulle dagens,

    …
    "itemLicenseUrl": "http://creativecommons.org/publicdomain/zero/1.0/",
    …

    och

    …
    "itemDescription": [
            "_:b1",
    …
    ],
    …

    bli

    …
    "itemDescription": [
            {
              "@id": "_:b1"
            },
    …
    ],
    …

    och

    …
    "itemLicenseUrl": {
        "@id": "http://creativecommons.org/publicdomain/zero/1.0/"
        },
    …

Även övriga skillnader kan förekomma. Vi har därför tillgängliggjort en verifikationsmiljö med den nya JSON-LD 1.1 serialiseringen, för att man ska kunna testa sina applikationer mot den innan ändringen driftsätts 2025–06–23.

Verifikationsmiljöns API-endpoint ligger på https://v-ksam.testkulturarvsdata.se/ksamsok/api, och URI:er samt beständiga länkar kan lösas upp på https://v-ksam.testkulturarvsdata.se/ksamsok/.
T.ex. URI:n http://kulturarvsdata.se/shm/art/940712F1 med beständig JSON-LD–länk http://kulturarvsdata.se/shm/art/jsonld/940712F1 blir https://v-ksam.testkulturarvsdata.se/ksamsok/S-HM/object/HM23268 eller som JSON-LD, https://v-ksam.testkulturarvsdata.se/ksamsok/S-HM/object/jsonld/HM23268.

  • Publicerad:
  • Uppdaterad: