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 v2
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 trim: gsub("^\\s+|\\s+$"; ""); def clean_text: tostring | gsub("\\s+"; " ") | trim; def province_from_postal_code($cp): if $cp | startswith("28") then "Madrid" else null end; def ac_from_postal_code($cp): if $cp | startswith("28") then "Comunidad de Madrid" else null end; def parsed_address: (v("address")) as $a | if ($a == null) or (($a | type) != "string") or (($a | clean_text) == "") then null else ($a | clean_text | gsub("\\.$"; "")) as $raw | if ($raw | test("\\b\\d{5}\\b")) then ($raw | capture("^(?<streetAddress>.*?)[,.;]?\\s*(?<postalCode>\\d{5})\\s+(?<municipality>[^,.;]+)")) as $m | {streetAddress: ($m.streetAddress | clean_text | gsub("[,.;]$"; "")), postalCode: $m.postalCode, municipality: ($m.municipality | clean_text), province: province_from_postal_code($m.postalCode), autonomousCommunity: ac_from_postal_code($m.postalCode), country: "España"} | with_entries(select(.value != null and .value != "")) else {streetAddress: $raw, country: "España"} end end; (parsed_address) as $loc | {object: ({name: {value: "Hotel PID", lang: "es"}} + (if v("description") != null then {hasDescription: {object: {shortDescription: {value: v("description"), lang: "es"}}}} else {} end) + (if $loc != null then {hasLocation: {object: $loc}} 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"
    }
  }
}