Dreams:pattern

Revision as of 13:17, 9 December 2022 by Fnielsen (talk | contribs) (→‎Mønsterdata: dansk)

Mønsterdata

PREFIX target: <https://dreams.wikibase.cloud/entity/Q922>
PREFIX dreams: <https://dreams.wikibase.cloud/entity/>
PREFIX dreamst: <https://dreams.wikibase.cloud/prop/direct/>

SELECT DISTINCT
  ?beskrivelse
  ?værdi ?værdiLabel ?værdiUrl
WHERE {
  BIND(target: AS ?pattern)
  {
    BIND(1 AS ?order)
    BIND("Subjekt (effektør)" AS ?beskrivelse)
    OPTIONAL {
      ?pattern dreamst:P33 ?værdi . 
      ?værdi rdfs:label ?værdi_label .
      FILTER (LANG(?værdi_label) = 'da')
      BIND(CONCAT("#effect/", SUBSTR(STR(?værdi), 38)) AS ?værdiUrl)
    }
    OPTIONAL { ?pattern dreamst:P47 ?værdi_text }
    BIND(COALESCE(?værdi, ?værdi_text) AS ?værdi)
    BIND(CONCAT(?værdi_text, " (", COALESCE(?værdi_label, ""), ")") AS ?værdiLabel)
  }
  UNION
  {
    BIND(2 AS ?order)
    BIND("Objekt (påvirkning)" AS ?beskrivelse)
    OPTIONAL {
      ?pattern dreamst:P34 ?værdi .
      ?værdi rdfs:label ?værdi_label .
      FILTER (LANG(?værdi_label) = 'da')
      BIND(CONCAT("#effect/", SUBSTR(STR(?værdi), 38)) AS ?værdiUrl)
    }
    OPTIONAL { ?pattern dreamst:P49 ?værdi_text }
    BIND(COALESCE(?værdi, ?værdi_text) AS ?værdi)
    BIND(CONCAT(?værdi_text, " (", COALESCE(?værdi_label, ""), ")") AS ?værdiLabel)
  }
  UNION
  {
    BIND(10 AS ?order)
    BIND("Recipient" AS ?beskrivelse)
    OPTIONAL {
      ?pattern dreamst:P55 ?værdi .
      ?værdi rdfs:label ?værdi_label .
      FILTER (LANG(?værdi_label) = 'da')
      BIND(CONCAT("#effect/", SUBSTR(STR(?værdi), 38)) AS ?værdiUrl)
    }
    OPTIONAL { ?pattern dreamst:P54 ?værdi_text }
    BIND(COALESCE(?værdi, ?værdi_text) AS ?værdi)
    BIND(CONCAT(?værdi_text, " (", COALESCE(?værdi_label, ""), ")") AS ?værdiLabel)
  }
  UNION
  {
    BIND(11 AS ?order)
    BIND("Signifikans" AS ?beskrivelse)
    ?pattern dreamst:P21 ?værdi .
  }
  UNION
  {
    BIND(12 AS ?order)
    BIND("Afbødning" AS ?beskrivelse)
    OPTIONAL {
      ?pattern dreamst:P56 ?værdi .
      ?værdi rdfs:label ?værdi_label .
      FILTER (LANG(?værdi_label) = 'da')
      BIND(CONCAT("#effect/", SUBSTR(STR(?værdi), 38)) AS ?værdiUrl)
    }
    OPTIONAL { ?pattern dreamst:P53 ?værdi_text }
    BIND(COALESCE(?værdi, ?værdi_text) AS ?værdi)
    BIND(CONCAT(?værdi_text, " (", COALESCE(?værdi_label, ""), ")") AS ?værdiLabel)
  }
  UNION
  {
    BIND(15 AS ?order)
    BIND("Citat" AS ?beskrivelse)
    ?pattern dreamst:P18 ?værdi .
  }
  UNION
  {
    BIND(20 AS ?order)
    BIND("Rapport" AS ?beskrivelse)
    ?pattern dreamst:P20 ?værdi .
    BIND(CONCAT("#report/", SUBSTR(STR(?værdi), 38)) AS ?værdiUrl)
  }
  UNION
  {
    BIND(25 AS ?order)
    BIND("Projekttype" AS ?beskrivelse)
    { ?pattern dreamst:P16 ?værdi_from_pattern . }
    UNION 
    { ?pattern dreamst:P20 / dreamst:P16 ?værdi_from_report . }
    BIND(COALESCE(?værdi_from_pattern, ?værdi_from_report) AS ?værdi)
    BIND(CONCAT("#projecttype/", SUBSTR(STR(?værdi), 38)) AS ?værdiUrl)
  }
  UNION
  {
    BIND(26 AS ?order)
    BIND("Projektfase" AS ?beskrivelse)
    ?pattern dreamst:P19 ?værdi .
    BIND(CONCAT("#projectphase/", SUBSTR(STR(?værdi), 38)) AS ?værdiUrl)
  }
  UNION
  {
    BIND(30 AS ?order)
    BIND("Miljøportal" AS ?beskrivelse)
    ?pattern dreamst:P20 / dreamst:P40 ?værdi_ .
    OPTIONAL { ?pattern dreamst:P46 ?page }
    BIND(CONCAT(STR(?værdi_), IF(BOUND(?page), CONCAT(" (page ", ?page, ") ↗"), " ↗")) AS ?værdi)
    BIND(CONCAT("https://daieproddreamspdfsto.blob.core.windows.net/files/", STR(?værdi_), 
                IF(BOUND(?page), CONCAT("#page=", ?page), "")) AS ?værdiUrl)
  }
  SERVICE wikibase:label { bd:serviceParam wikibase:language "da,en". }
}
ORDER BY ?order