Stored Transformation

Stored transformation detail

Inspect version history, edit inputs, and save a new version without overwriting prior records.

Transformation ID segittur-hotel-pid-object-from-ngsi-building-2
Selected Version v1
Versions 6
Updated 2026-04-23T15:38:06.522837+00:00
Version 6 Version 5 Version 4 Version 3 Version 2 Version 1
Target Stored target schema Switch between manual editing, a persisted schema, and an internal schema, then validate or translate with the selected target schema.
Result Generated jq filter
def v($k): .[$k].value // null; def parsed_address: (v("address") // "") as $a | ($a | capture("^(?<streetAddress>.*?)[.,]\\s*(?<postalCode>\\d{5})\\s+(?<municipality>[^.]+)")) as $m | {streetAddress: ($m.streetAddress | gsub("\\s+$"; "")), postalCode: $m.postalCode, municipality: ($m.municipality | gsub("\\s+$"; "") | gsub("\\.$"; "")), province: (if ($m.postalCode | startswith("28")) then "Madrid" else null end), autonomousCommunity: (if ($m.postalCode | startswith("28")) then "Comunidad de Madrid" else null end), country: "España"} | with_entries(select(.value != null)); {object: ({name: {value: "Hotel PID", lang: "es"}} + (if v("description") != null then {hasDescription: {object: {shortDescription: {value: v("description"), lang: "es"}}}} else {} end) + (if v("address") != null then {hasLocation: {object: parsed_address}} else {} end))}
Output Transformed output
{
  "object": {
    "hasDescription": {
      "object": {
        "shortDescription": {
          "lang": "es",
          "value": "Aparthotel TH Las Rozas"
        }
      }
    },
    "hasLocation": {
      "object": {
        "autonomousCommunity": "Comunidad de Madrid",
        "country": "Espa\u00f1a",
        "municipality": "Las Rozas",
        "postalCode": "28230",
        "province": "Madrid",
        "streetAddress": "Camino Viejo de Madrid, 38"
      }
    },
    "name": {
      "lang": "es",
      "value": "Hotel PID"
    }
  }
}