Difference between revisions of "Template:SPARQLcountry"

From Wikibase Personal data
Jump to navigation Jump to search
m (Podehaye moved page SPARQLCountry to Template:SPARQLCountry)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{SPARQLhierarchy
+
{{SPARQLPredicateGraph
|predicate=P55
+
|filter_values_colors=(pdio:Q401 "EEEEEE")(pdio:Q646 "222288")
|value={{{country}}}
+
|predicate=pdiot:P3
|visualisation={{{visualisation}}}
+
|predicates_subjects_objects_colors=(pdiot:P111 pdio:Q401 pdio:Q646 "EEEEEE")(pdiot:P111 pdio:Q646 pdio:Q401 "222288")
 +
|node_condition=pdiot:P55 pdio:{{{country}}}
 +
|legend={{{legend}}}
 
}}
 
}}

Latest revision as of 10:49, 21 May 2019

  1. defaultView:Graph

SELECT ?item1 ?item1Label ?rgb ?item2 ?item2Label WITH {

 SELECT ?predicateFilterValue ?predicateFilterValueRGB WHERE {
   VALUES (?predicateFilterValue ?predicateFilterValueRGB) {
      (pdio:Q401 "EEEEEE")(pdio:Q646 "222288")
   }  
 }

} AS %predicateFilterValues WITH {

 SELECT ?predicate ?subjectValue ?objectValue ?predicateRGB  WHERE {
   VALUES (?predicate ?subjectValue ?objectValue ?predicateRGB) {
    (pdiot:P111 pdio:Q401 pdio:Q646 "EEEEEE")(pdiot:P111 pdio:Q646 pdio:Q401 "222288")
   }
 }

} AS %predicates WITH {SELECT ?node ?nodeRGB WHERE {

   ?node pdiot:P55 pdio:{{{country}}}.
   ?node pdiot:P3 ?predicateFilterValue.
   INCLUDE %predicateFilterValues.
   BIND(?predicateFilterValueRGB AS ?nodeRGB)
 }

} AS %nodes WITH {SELECT ?subject ?object ?edgeRGB WHERE {

   INCLUDE %predicates.
   ?subject pdiot:P3 ?subjectValue.
   ?object pdiot:P3 ?objectValue.
   ?subject ?predicate ?object.
   # This is filtering for each edge twice, potentially a huge waste: |E|*|V| instead of |V|
   ?subject pdiot:P55 pdio:{{{country}}}.
   ?object pdiot:P55 pdio:{{{country}}}.
   BIND(?predicateRGB as ?edgeRGB)
 }

} AS %edges WHERE {

 {  
    INCLUDE %nodes.
    BIND(?node AS ?item1).
    BIND(?nodeRGB AS ?rgb).
 }
 UNION
 {  
    INCLUDE %edges.
    BIND(?subject AS ?item1).
    BIND(?object AS ?item2).
    BIND(?edgeRGB AS ?rgb).
 }
 SERVICE wikibase:label {
   bd:serviceParam wikibase:language "en" . 
 }

} LIMIT 10000