Dreams:pattern: Difference between revisions

From DREAMS
Jump to navigation Jump to search
 
(2 intermediate revisions by the same user not shown)
Line 7: Line 7:
SELECT DISTINCT
SELECT DISTINCT
   ?beskrivelse
   ?beskrivelse
   ?value ?valueLabel ?valueUrl
   ?værdi ?værdiLabel ?værdiUrl
WHERE {
WHERE {
   BIND(target: AS ?pattern)
   BIND(target: AS ?pattern)
   {
   {
     BIND(1 AS ?order)
     BIND(1 AS ?order)
     BIND("Subject (effector)" AS ?beskrivelse)
     BIND("Subjekt (effektør)" AS ?beskrivelse)
     OPTIONAL {
     OPTIONAL {
       ?pattern dreamst:P33 ?value .  
       ?pattern dreamst:P33 ?værdi .  
       ?value rdfs:label ?value_label .
       ?værdi rdfs:label ?værdi_label .
       FILTER (LANG(?value_label) = 'da')
       FILTER (LANG(?værdi_label) = 'da')
       BIND(CONCAT("#effect/", SUBSTR(STR(?value), 38)) AS ?valueUrl)
       BIND(CONCAT("#effect/", SUBSTR(STR(?værdi), 38)) AS ?værdiUrl)
     }
     }
     OPTIONAL { ?pattern dreamst:P47 ?value_text }
     OPTIONAL { ?pattern dreamst:P47 ?værdi_text }
     BIND(COALESCE(?value, ?value_text) AS ?value)
     BIND(COALESCE(?værdi, ?værdi_text) AS ?værdi)
     BIND(CONCAT(?value_text, " (", COALESCE(?value_label, ""), ")") AS ?valueLabel)
     BIND(CONCAT(?værdi_text, " (", COALESCE(?værdi_label, ""), ")") AS ?værdiLabel)
   }
   }
   UNION
   UNION
   {
   {
     BIND(2 AS ?order)
     BIND(2 AS ?order)
     BIND("Object (affected)" AS ?beskrivelse)
     BIND("Påvirkning" AS ?beskrivelse)
     OPTIONAL {
     OPTIONAL {
       ?pattern dreamst:P34 ?value .
       ?pattern dreamst:P34 ?værdi .
       ?value rdfs:label ?value_label .
       ?værdi rdfs:label ?værdi_label .
       FILTER (LANG(?value_label) = 'da')
       FILTER (LANG(?værdi_label) = 'da')
       BIND(CONCAT("#effect/", SUBSTR(STR(?value), 38)) AS ?valueUrl)
       BIND(CONCAT("#effect/", SUBSTR(STR(?værdi), 38)) AS ?værdiUrl)
     }
     }
     OPTIONAL { ?pattern dreamst:P49 ?value_text }
     OPTIONAL { ?pattern dreamst:P49 ?værdi_text }
     BIND(COALESCE(?value, ?value_text) AS ?value)
     BIND(COALESCE(?værdi, ?værdi_text) AS ?værdi)
     BIND(CONCAT(?value_text, " (", COALESCE(?value_label, ""), ")") AS ?valueLabel)
     BIND(CONCAT(?værdi_text, " (", COALESCE(?værdi_label, ""), ")") AS ?værdiLabel)
   }
   }
   UNION
   UNION
Line 42: Line 42:
     BIND("Recipient" AS ?beskrivelse)
     BIND("Recipient" AS ?beskrivelse)
     OPTIONAL {
     OPTIONAL {
       ?pattern dreamst:P55 ?value .
       ?pattern dreamst:P55 ?værdi .
       ?value rdfs:label ?value_label .
       ?værdi rdfs:label ?værdi_label .
       FILTER (LANG(?value_label) = 'da')
       FILTER (LANG(?værdi_label) = 'da')
       BIND(CONCAT("#effect/", SUBSTR(STR(?value), 38)) AS ?valueUrl)
       BIND(CONCAT("#effect/", SUBSTR(STR(?værdi), 38)) AS ?værdiUrl)
     }
     }
     OPTIONAL { ?pattern dreamst:P54 ?value_text }
     OPTIONAL { ?pattern dreamst:P54 ?værdi_text }
     BIND(COALESCE(?value, ?value_text) AS ?value)
     BIND(COALESCE(?værdi, ?værdi_text) AS ?værdi)
     BIND(CONCAT(?value_text, " (", COALESCE(?value_label, ""), ")") AS ?valueLabel)
     BIND(CONCAT(?værdi_text, " (", COALESCE(?værdi_label, ""), ")") AS ?værdiLabel)
   }
   }
   UNION
   UNION
   {
   {
     BIND(11 AS ?order)
     BIND(11 AS ?order)
     BIND("Significance" AS ?beskrivelse)
     BIND("Signifikans" AS ?beskrivelse)
     ?pattern dreamst:P21 ?value .
     ?pattern dreamst:P21 ?værdi .
   }
   }
   UNION
   UNION
   {
   {
     BIND(12 AS ?order)
     BIND(12 AS ?order)
     BIND("Mitigation" AS ?beskrivelse)
     BIND("Afbødning" AS ?beskrivelse)
     OPTIONAL {
     OPTIONAL {
       ?pattern dreamst:P56 ?value .
       ?pattern dreamst:P56 ?værdi .
       ?value rdfs:label ?value_label .
       ?værdi rdfs:label ?værdi_label .
       FILTER (LANG(?value_label) = 'da')
       FILTER (LANG(?værdi_label) = 'da')
       BIND(CONCAT("#effect/", SUBSTR(STR(?value), 38)) AS ?valueUrl)
       BIND(CONCAT("#effect/", SUBSTR(STR(?værdi), 38)) AS ?værdiUrl)
     }
     }
     OPTIONAL { ?pattern dreamst:P53 ?value_text }
     OPTIONAL { ?pattern dreamst:P53 ?værdi_text }
     BIND(COALESCE(?value, ?value_text) AS ?value)
     BIND(COALESCE(?værdi, ?værdi_text) AS ?værdi)
     BIND(CONCAT(?value_text, " (", COALESCE(?value_label, ""), ")") AS ?valueLabel)
     BIND(CONCAT(?værdi_text, " (", COALESCE(?værdi_label, ""), ")") AS ?værdiLabel)
   }
   }
   UNION
   UNION
   {
   {
     BIND(15 AS ?order)
     BIND(15 AS ?order)
     BIND("Quote" AS ?beskrivelse)
     BIND("Citat" AS ?beskrivelse)
     ?pattern dreamst:P18 ?value .
     ?pattern dreamst:P18 ?værdi .
   }
   }
   UNION
   UNION
   {
   {
     BIND(20 AS ?order)
     BIND(20 AS ?order)
     BIND("Report" AS ?beskrivelse)
     BIND("Rapport" AS ?beskrivelse)
     ?pattern dreamst:P20 ?value .
     ?pattern dreamst:P20 ?værdi .
     BIND(CONCAT("#report/", SUBSTR(STR(?value), 38)) AS ?valueUrl)
     BIND(CONCAT("#report/", SUBSTR(STR(?værdi), 38)) AS ?værdiUrl)
   }
   }
   UNION
   UNION
   {
   {
     BIND(25 AS ?order)
     BIND(25 AS ?order)
     BIND("Project type" AS ?beskrivelse)
     BIND("Projekttype" AS ?beskrivelse)
     { ?pattern dreamst:P16 ?value_from_pattern . }
     { ?pattern dreamst:P16 ?værdi_from_pattern . }
     UNION  
     UNION  
     { ?pattern dreamst:P20 / dreamst:P16 ?value_from_report . }
     { ?pattern dreamst:P20 / dreamst:P16 ?værdi_from_report . }
     BIND(COALESCE(?value_from_pattern, ?value_from_report) AS ?value)
     BIND(COALESCE(?værdi_from_pattern, ?værdi_from_report) AS ?værdi)
     BIND(CONCAT("#projecttype/", SUBSTR(STR(?value), 38)) AS ?valueUrl)
     BIND(CONCAT("#projecttype/", SUBSTR(STR(?værdi), 38)) AS ?værdiUrl)
   }
   }
   UNION
   UNION
   {
   {
     BIND(26 AS ?order)
     BIND(26 AS ?order)
     BIND("Project phase" AS ?beskrivelse)
     BIND("Projektfase" AS ?beskrivelse)
     ?pattern dreamst:P19 ?value .
     ?pattern dreamst:P19 ?værdi .
     BIND(CONCAT("#projectphase/", SUBSTR(STR(?value), 38)) AS ?valueUrl)
     BIND(CONCAT("#projectphase/", SUBSTR(STR(?værdi), 38)) AS ?værdiUrl)
   }
   }
   UNION
   UNION
Line 105: Line 105:
     BIND(30 AS ?order)
     BIND(30 AS ?order)
     BIND("Miljøportal" AS ?beskrivelse)
     BIND("Miljøportal" AS ?beskrivelse)
     ?pattern dreamst:P20 / dreamst:P40 ?value_ .
     ?pattern dreamst:P20 / dreamst:P40 ?værdi_ .
     OPTIONAL { ?pattern dreamst:P46 ?page }
     OPTIONAL { ?pattern dreamst:P46 ?page }
     BIND(CONCAT(STR(?value_), IF(BOUND(?page), CONCAT(" (page ", ?page, ") ↗"), " ↗")) AS ?value)
     BIND(CONCAT(STR(?værdi_), IF(BOUND(?page), CONCAT(" (page ", ?page, ") ↗"), " ↗")) AS ?værdi)
     BIND(CONCAT("https://daieproddreamspdfsto.blob.core.windows.net/files/", STR(?value_),  
     BIND(CONCAT("https://daieproddreamspdfsto.blob.core.windows.net/files/", STR(?værdi_),  
                 IF(BOUND(?page), CONCAT("#page=", ?page), "")) AS ?valueUrl)
                 IF(BOUND(?page), CONCAT("#page=", ?page), "")) AS ?værdiUrl)
   }
   }
   SERVICE wikibase:label { bd:serviceParam wikibase:language "da,en". }
   SERVICE wikibase:label { bd:serviceParam wikibase:language "da,en". }

Latest revision as of 13:17, 9 December 2022

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("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