Dreams:report: Difference between revisions

Line 84: Line 84:
}}
}}


== Patterns ==
== Mønstre ==
{{SPARQL | query=  
{{SPARQL | query=  
PREFIX target: <https://dreams.wikibase.cloud/entity/Q406>
PREFIX target: <https://dreams.wikibase.cloud/entity/Q406>
Line 93: Line 93:


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


   ?subject ?subjectLabel ?subjectUrl
   ?subjekt ?subjektLabel ?subjektUrl


   ?object ?objectLabel ?objectUrl
   ?object ?objectLabel ?objectUrl
Line 102: Line 102:
   ?recipient ?recipientLabel ?recipientUrl
   ?recipient ?recipientLabel ?recipientUrl


   ?significance ?significanceLabel
   ?signifikans ?signifikansLabel


   ?mitigation ?mitigationLabel ?mitigationUrl
   ?afbødning ?afbødningLabel ?afbødningUrl


   ?quote
   ?citat


   ?project_phase ?project_phaseLabel
   ?projektfase ?projektfaseLabel
   (CONCAT("#projectphase/", SUBSTR(STR(?project_phase), 38)) AS ?project_phaseUrl)   
   (CONCAT("#projectphase/", SUBSTR(STR(?projektfase), 38)) AS ?projektfaseUrl)   


   ?project_type ?project_typeLabel
   ?projekttype ?projekttypeLabel
   (CONCAT("#projecttype/", SUBSTR(STR(?project_type), 38)) AS ?project_typeUrl)   
   (CONCAT("#projecttype/", SUBSTR(STR(?projekttype), 38)) AS ?projekttypeUrl)   


   ?link ?linkUrl
   ?link ?linkUrl
Line 118: Line 118:
WITH {
WITH {
   SELECT DISTINCT  
   SELECT DISTINCT  
     ?pattern
     ?mønster
     ?subject ?subjectLabel ?subjectUrl
     ?subjekt ?subjektLabel ?subjektUrl
     ?object ?objectLabel ?objectUrl
     ?object ?objectLabel ?objectUrl
     ?recipient ?recipientLabel ?recipientUrl
     ?recipient ?recipientLabel ?recipientUrl
     ?significance ?significanceLabel
     ?signifikans ?signifikansLabel
     ?mitigation ?mitigationLabel ?mitigationUrl
     ?afbødning ?afbødningLabel ?afbødningUrl
     ?quote
     ?citat
     ?project_phase
     ?projektfase
     ?project_type
     ?projekttype
     ?link ?linkUrl
     ?link ?linkUrl
   WHERE {
   WHERE {
     ?pattern dreamst:P2 dreams:Q263 ;
     ?mønster dreamst:P2 dreams:Q263 ;
             dreamst:P20 target: .
             dreamst:P20 target: .


     OPTIONAL {
     OPTIONAL {
       ?pattern dreamst:P33 ?subject .
       ?mønster dreamst:P33 ?subjekt .
       ?subject rdfs:label ?subject_label .
       ?subjekt rdfs:label ?subjekt_label .
       FILTER(LANG(?subject_label) = 'da')
       FILTER(LANG(?subjekt_label) = 'da')
       BIND(CONCAT("#effect/", SUBSTR(STR(?subject), 38)) AS ?subjectUrl)
       BIND(CONCAT("#effect/", SUBSTR(STR(?subjekt), 38)) AS ?subjektUrl)
     }
     }
     OPTIONAL { ?pattern dreamst:P47 ?subject_text }
     OPTIONAL { ?mønster dreamst:P47 ?subjekt_text }
     BIND(COALESCE(?subject, ?subject_text, "") AS ?subject)
     BIND(COALESCE(?subjekt, ?subjekt_text, "") AS ?subjekt)
     BIND(CONCAT(?subject_text, " (", COALESCE(?subject_label, ""), ")") AS ?subjectLabel)
     BIND(CONCAT(?subjekt_text, " (", COALESCE(?subjekt_label, ""), ")") AS ?subjektLabel)
      
      
     OPTIONAL {
     OPTIONAL {
       ?pattern dreamst:P34 ?object .  
       ?mønster dreamst:P34 ?object .  
       ?object rdfs:label ?object_label .
       ?object rdfs:label ?object_label .
       FILTER (LANG(?object_label) = 'da')
       FILTER (LANG(?object_label) = 'da')
       BIND(CONCAT("#effect/", SUBSTR(STR(?object), 38)) AS ?objectUrl)
       BIND(CONCAT("#effect/", SUBSTR(STR(?object), 38)) AS ?objectUrl)
     }
     }
     OPTIONAL { ?pattern dreamst:P49 ?object_text }
     OPTIONAL { ?mønster dreamst:P49 ?object_text }
     BIND(COALESCE(?object, ?object_text) AS ?object)
     BIND(COALESCE(?object, ?object_text) AS ?object)
     BIND(CONCAT(?object_text, " (", COALESCE(?object_label, ""), ")") AS ?objectLabel)
     BIND(CONCAT(?object_text, " (", COALESCE(?object_label, ""), ")") AS ?objectLabel)


     OPTIONAL {
     OPTIONAL {
       ?pattern dreamst:P55 ?recipient .
       ?mønster dreamst:P55 ?recipient .
       ?recipient rdfs:label ?recipient_label .
       ?recipient rdfs:label ?recipient_label .
       FILTER (LANG(?recipient_label) = 'da')
       FILTER (LANG(?recipient_label) = 'da')
       BIND(CONCAT("#effect/", SUBSTR(STR(?recipient), 38)) AS ?recipientUrl)
       BIND(CONCAT("#effect/", SUBSTR(STR(?recipient), 38)) AS ?recipientUrl)
     }
     }
     OPTIONAL { ?pattern dreamst:P54 ?recipient_text }
     OPTIONAL { ?mønster dreamst:P54 ?recipient_text }
     BIND(COALESCE(?recipient, ?recipient_text) AS ?recipient)
     BIND(COALESCE(?recipient, ?recipient_text) AS ?recipient)
     BIND(CONCAT(?recipient_text, " (", COALESCE(?recipient_label, ""), ")") AS ?recipientLabel)
     BIND(CONCAT(?recipient_text, " (", COALESCE(?recipient_label, ""), ")") AS ?recipientLabel)
    
    
     OPTIONAL {
     OPTIONAL {
       ?pattern dreamst:P56 ?mitigation .
       ?mønster dreamst:P56 ?afbødning .
       ?mitigation rdfs:label ?mitigation_label .
       ?afbødning rdfs:label ?afbødning_label .
       FILTER (LANG(?mitigation_label) = 'da')
       FILTER (LANG(?afbødning_label) = 'da')
       BIND(CONCAT("#effect/", SUBSTR(STR(?mitigation), 38)) AS ?mitigationUrl)
       BIND(CONCAT("#effect/", SUBSTR(STR(?afbødning), 38)) AS ?afbødningUrl)
     }
     }
     OPTIONAL { ?pattern dreamst:P53 ?mitigation_text }
     OPTIONAL { ?mønster dreamst:P53 ?afbødning_text }
     BIND(COALESCE(?mitigation, ?mitigation_text) AS ?mitigation)
     BIND(COALESCE(?afbødning, ?afbødning_text) AS ?afbødning)
     BIND(CONCAT(?mitigation_text, " (", COALESCE(?mitigation_label, ""), ")") AS ?mitigationLabel)
     BIND(CONCAT(?afbødning_text, " (", COALESCE(?afbødning_label, ""), ")") AS ?afbødningLabel)


     OPTIONAL { ?pattern dreamst:P18 ?quote . }
     OPTIONAL { ?mønster dreamst:P18 ?citat . }
    
    
     OPTIONAL { ?pattern dreamst:P19 ?project_phase . }
     OPTIONAL { ?mønster dreamst:P19 ?projektfase . }
      
      
     OPTIONAL { ?pattern dreamst:P16 ?project_type1 . }
     OPTIONAL { ?mønster dreamst:P16 ?projekttype1 . }
     OPTIONAL { ?pattern dreamst:P20 / dreamst:P16 ?project_type2 . }
     OPTIONAL { ?mønster dreamst:P20 / dreamst:P16 ?projekttype2 . }
     BIND(COALESCE(?project_type1, ?project_type2) AS ?project_type)
     BIND(COALESCE(?projekttype1, ?projekttype2) AS ?projekttype)
                  
                  
     OPTIONAL {
     OPTIONAL {
       ?pattern dreamst:P21 ?significance .
       ?mønster dreamst:P21 ?signifikans .
       ?significance rdfs:label ?significance_text .
       ?signifikans rdfs:label ?signifikans_text .
       FILTER (LANG(?significance_text) = 'da')
       FILTER (LANG(?signifikans_text) = 'da')
       OPTIONAL { ?significance dreamst:P44 ?symbol . }
       OPTIONAL { ?signifikans dreamst:P44 ?symbol . }
       BIND(IF(BOUND(?symbol), ?symbol, "❓") AS ?significance_symbol)
       BIND(IF(BOUND(?symbol), ?symbol, "❓") AS ?signifikans_symbol)
       BIND(CONCAT(?significance_symbol, " ", ?significance_text) AS ?significanceLabel)
       BIND(CONCAT(?signifikans_symbol, " ", ?signifikans_text) AS ?signifikansLabel)
     }
     }


     OPTIONAL {
     OPTIONAL {
       ?pattern dreamst:P20 ?report .
       ?mønster dreamst:P20 ?report .
       ?report dreamst:P40 ?miljøportal .
       ?report dreamst:P40 ?miljøportal .
       OPTIONAL { ?pattern dreamst:P46 ?page }
       OPTIONAL { ?mønster dreamst:P46 ?page }
       BIND(IF(BOUND(?page), CONCAT(?page, " ↗"), " ↗") AS ?link)
       BIND(IF(BOUND(?page), CONCAT(?page, " ↗"), " ↗") AS ?link)
       BIND(CONCAT("https://daieproddreamspdfsto.blob.core.windows.net/files/", STR(?miljøportal),  
       BIND(CONCAT("https://daieproddreamspdfsto.blob.core.windows.net/files/", STR(?miljøportal),