Dreams:pattern-index

From DREAMS
Revision as of 14:57, 9 December 2022 by Fnielsen (talk | contribs) (→‎Patterns: dansk)
Jump to navigation Jump to search

Mønstre

PREFIX dreams: <https://dreams.wikibase.cloud/entity/>
PREFIX dreamst: <https://dreams.wikibase.cloud/prop/direct/>
PREFIX dreamsp: <https://dreams.wikibase.cloud/prop/>
PREFIX dreamspsv: <https://dreams.wikibase.cloud/prop/statement/value/> 

SELECT
  ?mønster ?mønsterLabel
  (CONCAT("#pattern/", SUBSTR(STR(?mønster), 38)) AS ?mønsterUrl)

  ?subjekt ?subjektLabel ?subjektUrl

  ?påvirkning ?påvirkningLabel ?påvirkningUrl

  ?recipient ?recipientLabel ?recipientUrl

  ?afbødning ?afbødningLabel ?afbødningUrl

  ?citat 
  ?projektfase ?projektfaseLabel
  ?projecttype ?projecttypeLabel

  ?rapport ?rapportLabel
  (CONCAT("#report/", SUBSTR(STR(?rapport), 38)) AS ?rapportUrl)

  ?link ?linkUrl

WHERE {
  ?mønster dreamst:P2 dreams:Q263 .

  OPTIONAL {
    ?mønster dreamst:P33 ?subjekt .
    ?subjekt rdfs:label ?subjekt_label .
    FILTER(LANG(?subjekt_label) = 'da')
    BIND(CONCAT("#effect/", SUBSTR(STR(?subjekt), 38)) AS ?subjektUrl)
  }
  OPTIONAL { ?mønster dreamst:P47 ?subjekt_text }
  BIND(COALESCE(?subjekt, ?subjekt_text, "") AS ?subjekt)
  BIND(CONCAT(COALESCE(?subjekt_label, ""), ' (', ?subjekt_text, ')') AS ?subjektLabel)
    
  OPTIONAL {
    ?mønster dreamst:P34 ?påvirkning . 
    ?påvirkning rdfs:label ?påvirkning_label .
    FILTER (LANG(?påvirkning_label) = 'da')
    BIND(CONCAT("#effect/", SUBSTR(STR(?påvirkning), 38)) AS ?påvirkningUrl)
  }
  OPTIONAL { ?mønster dreamst:P49 ?påvirkning_text }
  BIND(COALESCE(?påvirkning, ?påvirkning_text) AS ?påvirkning)
  BIND(CONCAT(COALESCE(?påvirkning_label, ""), ' (', ?påvirkning_text, ')') AS ?påvirkningLabel)

  OPTIONAL {
    ?mønster dreamst:P55 ?recipient .
    ?recipient rdfs:label ?recipient_label .
    FILTER (LANG(?recipient_label) = 'da')
    BIND(CONCAT("#effect/", SUBSTR(STR(?recipient), 38)) AS ?recipientUrl)
  }
  OPTIONAL { ?mønster dreamst:P54 ?recipient_text }
  BIND(COALESCE(?recipient, ?recipient_text) AS ?recipient)
  BIND(CONCAT(COALESCE(?recipient_label, ""), ' (', ?recipient_text, ')') AS ?recipientLabel)

  OPTIONAL {
    ?mønster dreamst:P56 ?afbødning .
    ?afbødning rdfs:label ?afbødning_label .
    FILTER (LANG(?afbødning_label) = 'da')
    BIND(CONCAT("#effect/", SUBSTR(STR(?afbødning), 38)) AS ?afbødningUrl)
  }
  OPTIONAL { ?mønster dreamst:P53 ?afbødning_text }
  BIND(COALESCE(?afbødning, ?afbødning_text) AS ?afbødning)
  BIND(CONCAT(COALESCE(?afbødning_label, ""), ' (', ?afbødning_text, ')') AS ?afbødningLabel)

  OPTIONAL { ?mønster dreamst:P18 ?citat . }
  OPTIONAL { ?mønster dreamst:P20 ?rapport . }
  OPTIONAL { ?mønster dreamst:P19 ?projektfase . }
  OPTIONAL { ?mønster dreamst:P16 ?projecttype . }
  
  OPTIONAL {
    ?mønster dreamst:P20 ?rapport .
    ?rapport dreamst:P40 ?miljøportal .
    OPTIONAL { ?mønster dreamst:P46 ?page }
    BIND(IF(BOUND(?page), CONCAT(?page, " ↗"), " ↗") AS ?link)
    BIND(CONCAT("https://daieproddreamspdfsto.blob.core.windows.net/files/", STR(?miljøportal), 
                IF(BOUND(?page), CONCAT("#page=", ?page), "")) AS ?linkUrl)
  }
  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "da,en". }
}


Rapporter

PREFIX dreams: <https://dreams.wikibase.cloud/entity/>
PREFIX dreamst: <https://dreams.wikibase.cloud/prop/direct/>
PREFIX dreamsp: <https://dreams.wikibase.cloud/prop/>
PREFIX dreamspsv: <https://dreams.wikibase.cloud/prop/statement/value/> 

SELECT 
  ?mønstre

  ?rapport 
  ?rapportLabel
  (CONCAT("#report/", SUBSTR(STR(?rapport), 38)) AS ?rapportUrl)
          
WITH {
  SELECT
    (COUNT(?pattern) AS ?mønstre)
    ?rapport
  WHERE {
    ?pattern dreamst:P2 dreams:Q263 ;
             dreamst:P20 ?rapport .
  }
  GROUP BY ?rapport
} AS %result
WHERE {
  INCLUDE %result
  SERVICE wikibase:label { bd:serviceParam wikibase:language "da,en". }
}
ORDER BY DESC(?mønstre)