Project:MyData

From Wikibase Personal data
Revision as of 00:29, 27 January 2020 by Podehaye (talk | contribs) (→‎Mapping)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Documenting hubs

For instance:

Visualizations

Network

PREFIX pdio: <https://wiki.personaldata.io/entity/>
PREFIX pdiot: <https://wiki.personaldata.io/prop/direct/>
PREFIX pdiop: <https://wiki.personaldata.io/prop/>
PREFIX pdiops: <https://wiki.personaldata.io/prop/statement/>
PREFIX pdiopq: <https://wiki.personaldata.io/prop/qualifier/>
SELECT ?item ?itemLabel WHERE {
  ?item pdiot:P3 pdio:Q47.
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "en" . 
  }
}

MyData hubs (embedded)

PREFIX pdio: <https://wiki.personaldata.io/entity/>
PREFIX pdiot: <https://wiki.personaldata.io/prop/direct/>
PREFIX pdiop: <https://wiki.personaldata.io/prop/>
PREFIX pdiops: <https://wiki.personaldata.io/prop/statement/>
PREFIX pdiopq: <https://wiki.personaldata.io/prop/qualifier/>
#defaultView:Graph
SELECT ?node ?nodeLabel ?value ?valueLabel ?edgeLabel   
(IF(BOUND(?edge), ?propertyrgb, "FFFFFF") AS ?rgb) #white
{
  VALUES (?propertyRel ?propertyrgb)
  {
      (pdiot:P57 "880000")   # red - activity 
      (pdiot:P55 "00AA00")   # light green - country
      (pdiot:P137 "0000AA")  # blue - partner
      (pdiot:P145 "AA00AA")  # pink - seeks
      (pdiot:P11 "00AAAA")  #  interested in
  }
  pdio:Q49 pdiot:P63 ?node.
  OPTIONAL
  {
    ?node ?propertyRel ?value.
    ?edge wikibase:directClaim ?propertyRel.
  }.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}

MyData hub network (embedded)

PREFIX pdio: <https://wiki.personaldata.io/entity/>
PREFIX pdiot: <https://wiki.personaldata.io/prop/direct/>
PREFIX pdiop: <https://wiki.personaldata.io/prop/>
PREFIX pdiops: <https://wiki.personaldata.io/prop/statement/>
PREFIX pdiopq: <https://wiki.personaldata.io/prop/qualifier/>
SELECT ?item ?itemLabel ?country ?countryLabel WHERE {
  ?item pdiot:P3 pdio:Q646.
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "en" . 
  }
  OPTIONAL { ?item pdiot:P55 ?country. }
}

data operators around the world (embedded)

PREFIX pdio: <https://wiki.personaldata.io/entity/>
PREFIX pdiot: <https://wiki.personaldata.io/prop/direct/>
PREFIX pdiop: <https://wiki.personaldata.io/prop/>
PREFIX pdiops: <https://wiki.personaldata.io/prop/statement/>
PREFIX pdiopq: <https://wiki.personaldata.io/prop/qualifier/>
SELECT ?item ?itemLabel ?country ?countryLabel ?location ?locationLabel WHERE {
  ?item pdiot:P3 pdio:Q401.
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "en" . 
  }
OPTIONAL { ?item pdiot:P55 ?country. }
OPTIONAL { ?item pdiot:P80 ?location. } }

associations, with country and location (embedded)


Hub initiators meeting work

PREFIX pdio: <https://wiki.personaldata.io/entity/>
PREFIX pdiot: <https://wiki.personaldata.io/prop/direct/>
PREFIX pdiop: <https://wiki.personaldata.io/prop/>
PREFIX pdiops: <https://wiki.personaldata.io/prop/statement/>
PREFIX pdiopq: <https://wiki.personaldata.io/prop/qualifier/>
#defaultView:Graph
SELECT ?item ?itemLabel ?object ?objectLabel ?edgeLabel WHERE {
  ?item ?rel ?object.
  ?edge wikibase:directClaim ?rel.
  ?item pdiot:P3 pdio:Q47.
  MINUS {pdio:P3 wikibase:directClaim ?rel}
  ?edge wikibase:propertyType wikibase:WikibaseItem   #If we don't remove this, then those properties pointing to non-item labels mess everything up
  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
LIMIT 1000

Hub Initiators meeting map (embedded)

PREFIX pdio: <https://wiki.personaldata.io/entity/>
PREFIX pdiot: <https://wiki.personaldata.io/prop/direct/>
PREFIX pdiop: <https://wiki.personaldata.io/prop/>
PREFIX pdiops: <https://wiki.personaldata.io/prop/statement/>
PREFIX pdiopq: <https://wiki.personaldata.io/prop/qualifier/>
SELECT ?item ?itemLabel  ?edgeLabel ?object ?objectLabel WHERE {
  ?item ?rel ?object.
  ?edge wikibase:directClaim ?rel.
  ?item pdiot:P3 pdio:Q47.
  MINUS {pdio:P3 wikibase:directClaim ?rel}
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
LIMIT 1000

full triple table of Hub initiators meeting (embedded)


On Wikidata

Mapping

Scotland

Project:MyData/Scotland/Mapping

PREFIX pdio: <https://wiki.personaldata.io/entity/>
PREFIX pdiot: <https://wiki.personaldata.io/prop/direct/>
PREFIX pdiop: <https://wiki.personaldata.io/prop/>
PREFIX pdiops: <https://wiki.personaldata.io/prop/statement/>
PREFIX pdiopq: <https://wiki.personaldata.io/prop/qualifier/>
#defaultView:Graph
SELECT ?rel ?pred ?obj ?item ?domain ?domainLabel ?range ?rangeLabel WHERE
{
   BIND(pdio:Q201 AS ?table).
   OPTIONAL {
     ?table pdiop:P26 ?domain_prop.
     ?domain_prop pdiops:P26 ?domain.
     ?domain_prop pdiopq:P27 ?domainLabel
   }.
   OPTIONAL {
     ?table pdiop:P26 ?range_prop.
     ?range_prop pdiops:P26 ?range.
     ?range_prop pdiopq:P27 ?rangeLabel
   }.
   {
     SELECT ?domain ?range WHERE {
          ?table pdiop:P25 ?relationshipStatement.
          ?relationshipStatement pdiopq:P24 ?domain.
          ?relationshipStatement pdiopq:P23 ?range.
       }
     
   }
   UNION
   {  
     SELECT ?domain ?range WHERE {
          ?table pdiop:P58 ?relationshipInStatement.
          ?relationshipInStatement pdiops:P58 ?range.
          ?relationshipInStatement pdiopq:P61 ?domain.
       }
   }
   UNION
   {  
     SELECT ?domain ?range WHERE {
          ?table pdiop:P59 ?relationshipOutStatement.
          ?relationshipOutStatement pdiops:P59 ?domain.
          ?relationshipOutStatement pdiopq:P60 ?range.
       }
   }.
}

MyData/Scotland ecosystem mapping health + education (embedded)

PREFIX pdio: <https://wiki.personaldata.io/entity/>
PREFIX pdiot: <https://wiki.personaldata.io/prop/direct/>
PREFIX pdiop: <https://wiki.personaldata.io/prop/>
PREFIX pdiops: <https://wiki.personaldata.io/prop/statement/>
PREFIX pdiopq: <https://wiki.personaldata.io/prop/qualifier/>
#defaultView:Graph
SELECT ?rel ?pred ?obj ?item ?domain ?domainLabel ?range ?rangeLabel WHERE
{
   BIND(pdio:Q227 AS ?table).
   OPTIONAL {
     ?table pdiop:P26 ?domain_prop.
     ?domain_prop pdiops:P26 ?domain.
     ?domain_prop pdiopq:P27 ?domainLabel
   }.
   OPTIONAL {
     ?table pdiop:P26 ?range_prop.
     ?range_prop pdiops:P26 ?range.
     ?range_prop pdiopq:P27 ?rangeLabel
   }.
   {
     SELECT ?domain ?range WHERE {
          ?table pdiop:P25 ?relationshipStatement.
          ?relationshipStatement pdiopq:P24 ?domain.
          ?relationshipStatement pdiopq:P23 ?range.
       }
     
   }
   UNION
   {  
     SELECT ?domain ?range WHERE {
          ?table pdiop:P58 ?relationshipInStatement.
          ?relationshipInStatement pdiops:P58 ?range.
          ?relationshipInStatement pdiopq:P61 ?domain.
       }
   }
   UNION
   {  
     SELECT ?domain ?range WHERE {
          ?table pdiop:P59 ?relationshipOutStatement.
          ?relationshipOutStatement pdiops:P59 ?domain.
          ?relationshipOutStatement pdiopq:P60 ?range.
       }
   }.
}

MyData/Scotland ecosystem mapping health + education +family activity (embedded)

PREFIX pdio: <https://wiki.personaldata.io/entity/>
PREFIX pdiot: <https://wiki.personaldata.io/prop/direct/>
PREFIX pdiop: <https://wiki.personaldata.io/prop/>
PREFIX pdiops: <https://wiki.personaldata.io/prop/statement/>
PREFIX pdiopq: <https://wiki.personaldata.io/prop/qualifier/>
#defaultView:Graph
SELECT ?rel ?pred ?obj ?item ?domain ?domainLabel ?range ?rangeLabel WHERE
{
   BIND(pdio:Q228 AS ?table).
   OPTIONAL {
     ?table pdiop:P26 ?domain_prop.
     ?domain_prop pdiops:P26 ?domain.
     ?domain_prop pdiopq:P27 ?domainLabel
   }.
   OPTIONAL {
     ?table pdiop:P26 ?range_prop.
     ?range_prop pdiops:P26 ?range.
     ?range_prop pdiopq:P27 ?rangeLabel
   }.
   {
     SELECT ?domain ?range WHERE {
          ?table pdiop:P25 ?relationshipStatement.
          ?relationshipStatement pdiopq:P24 ?domain.
          ?relationshipStatement pdiopq:P23 ?range.
       }
     
   }
   UNION
   {  
     SELECT ?domain ?range WHERE {
          ?table pdiop:P58 ?relationshipInStatement.
          ?relationshipInStatement pdiops:P58 ?range.
          ?relationshipInStatement pdiopq:P61 ?domain.
       }
   }
   UNION
   {  
     SELECT ?domain ?range WHERE {
          ?table pdiop:P59 ?relationshipOutStatement.
          ?relationshipOutStatement pdiops:P59 ?domain.
          ?relationshipOutStatement pdiopq:P60 ?range.
       }
   }.
}

MyData/Scotland ecosystem mapping work (embedded)

PREFIX pdio: <https://wiki.personaldata.io/entity/>
PREFIX pdiot: <https://wiki.personaldata.io/prop/direct/>
PREFIX pdiop: <https://wiki.personaldata.io/prop/>
PREFIX pdiops: <https://wiki.personaldata.io/prop/statement/>
PREFIX pdiopq: <https://wiki.personaldata.io/prop/qualifier/>
#defaultView:Graph
SELECT ?rel ?pred ?obj ?item ?domain ?domainLabel ?range ?rangeLabel 
   WITH {
     SELECT ?table 
     WHERE {
       pdio:Q224 pdiot:P63 ?table.
     }
   } AS %workshop
   WHERE
   {
     
   OPTIONAL {
     ?table pdiop:P26 ?domain_prop.
     ?domain_prop pdiops:P26 ?domain.
     ?domain_prop pdiopq:P27 ?domainLabel
   }.
   OPTIONAL {
     ?table pdiop:P26 ?range_prop.
     ?range_prop pdiops:P26 ?range.
     ?range_prop pdiopq:P27 ?rangeLabel
   }.
   {
     SELECT ?domain ?range WHERE {
          INCLUDE %workshop.
          ?table pdiop:P25 ?relationshipStatement.
          ?relationshipStatement pdiopq:P24 ?domain.
          ?relationshipStatement pdiopq:P23 ?range.
       }
     
   }
   UNION
   {  
     SELECT ?domain ?range WHERE {
          INCLUDE %workshop.
          ?table pdiop:P58 ?relationshipInStatement.
          ?relationshipInStatement pdiops:P58 ?range.
          ?relationshipInStatement pdiopq:P61 ?domain.
       }
   }
   UNION
   {  
     SELECT ?domain ?range WHERE {
          INCLUDE %workshop.
          ?table pdiop:P59 ?relationshipOutStatement.
          ?relationshipOutStatement pdiops:P59 ?domain.
          ?relationshipOutStatement pdiopq:P60 ?range.
       }
   }.
}

MyData/Scotland ecosystem mapping all together (embedded)

Japan

Project:MyData/Japan/Mapping

PREFIX pdio: <https://wiki.personaldata.io/entity/>
PREFIX pdiot: <https://wiki.personaldata.io/prop/direct/>
PREFIX pdiop: <https://wiki.personaldata.io/prop/>
PREFIX pdiops: <https://wiki.personaldata.io/prop/statement/>
PREFIX pdiopq: <https://wiki.personaldata.io/prop/qualifier/>
#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:Q681.
    ?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:Q681.
    ?object pdiot:P55 pdio:Q681.
    BIND(?predicateRGB as ?edgeRGB)
  }
} AS %edges
WHERE {
{ # The caption's nodes: 
     INCLUDE %predicateFilterValues.
     BIND(?predicateFilterValue AS ?item1).
     BIND(?predicateValueRGB AS ?rgb).
  } 
  UNION
  { # The caption's edges: 
     INCLUDE %predicates.
     BIND(?subjectValue AS ?item1).
     BIND(?objectValue AS ?item2).
     BIND(?predicateRGB AS ?rgb).
  }
  UNION
  {  
     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

Japanese ecosystem (embedded)

PREFIX pdio: <https://wiki.personaldata.io/entity/>
PREFIX pdiot: <https://wiki.personaldata.io/prop/direct/>
PREFIX pdiop: <https://wiki.personaldata.io/prop/>
PREFIX pdiops: <https://wiki.personaldata.io/prop/statement/>
PREFIX pdiopq: <https://wiki.personaldata.io/prop/qualifier/>
SELECT DISTINCT ?operator ?operatorLabel  ?project ?projectLabel  ?industry ?industryLabel
WHERE {
  {
    ?operator pdiot:P3 pdio:Q401.
    OPTIONAL {?operator pdiot:P44 ?industry.}
    OPTIONAL {?project pdiot:P111 ?operator}
    OPTIONAL {?project pdiot:P111 ?operator}
    ?operator pdiot:P55 pdio:Q681.
  }
  UNION
  {
    ?project pdiot:P3 pdio:Q646.
    OPTIONAL {?project pdiot:P111 ?operator}
    OPTIONAL {?project pdiot:P111 ?operator}
    ?project pdiot:P55 pdio:Q681.
  } 
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "en" . 
  }
}
LIMIT 10000

Japanese ecosystem with indsutry information (embedded)

Finland

Project:MyData/Finland/Mapping

PREFIX pdio: <https://wiki.personaldata.io/entity/>
PREFIX pdiot: <https://wiki.personaldata.io/prop/direct/>
PREFIX pdiop: <https://wiki.personaldata.io/prop/>
PREFIX pdiops: <https://wiki.personaldata.io/prop/statement/>
PREFIX pdiopq: <https://wiki.personaldata.io/prop/qualifier/>
#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:Q564.
    ?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:Q564.
    ?object pdiot:P55 pdio:Q564.
    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

MyData/Finland ecosystem mapping (embedded)

PREFIX pdio: <https://wiki.personaldata.io/entity/>
PREFIX pdiot: <https://wiki.personaldata.io/prop/direct/>
PREFIX pdiop: <https://wiki.personaldata.io/prop/>
PREFIX pdiops: <https://wiki.personaldata.io/prop/statement/>
PREFIX pdiopq: <https://wiki.personaldata.io/prop/qualifier/>
SELECT ?item ?str_item ?itemLabel WHERE {
  BIND(REPLACE(STR(?item),"http://wiki.personaldata.io/entity/","") AS ?str_item)
  ?item pdiot:P3 pdio:Q401.
  ?item pdiot:P55 pdio:Q564.
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "en" . 
  }
}
LIMIT 100

organizations in Finland (embedded)

PREFIX pdio: <https://wiki.personaldata.io/entity/>
PREFIX pdiot: <https://wiki.personaldata.io/prop/direct/>
PREFIX pdiop: <https://wiki.personaldata.io/prop/>
PREFIX pdiops: <https://wiki.personaldata.io/prop/statement/>
PREFIX pdiopq: <https://wiki.personaldata.io/prop/qualifier/>
SELECT ?item ?str_item ?itemLabel ?country ?countryLabel ?class ?classLabel WHERE {
  BIND(REPLACE(STR(?item),"http://wiki.personaldata.io/entity/","") AS ?str_item)
  BIND(pdio:Q564 AS ?country)
  BIND(pdio:Q646 AS ?class)
  ?item pdiot:P3 ?class.
  ?item pdiot:P55 ?country.
  # Label service, produces ?xxxLabel and ?xxxDescription above
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "en" . 
  }
}
LIMIT 100

data operators project in Finland (embedded)

PREFIX pdio: <https://wiki.personaldata.io/entity/>
PREFIX pdiot: <https://wiki.personaldata.io/prop/direct/>
PREFIX pdiop: <https://wiki.personaldata.io/prop/>
PREFIX pdiops: <https://wiki.personaldata.io/prop/statement/>
PREFIX pdiopq: <https://wiki.personaldata.io/prop/qualifier/>
SELECT ?operator ?operatorLabel ?rgb ?project ?projectLabel ?projectColor 
WITH {SELECT ?operator ?operatorClass ?operatorColor WHERE {
    BIND(?class AS ?operatorClass)
    BIND("FFA500" AS ?operatorColor)
    BIND(?item AS ?operator)
    BIND(pdio:Q564 AS ?country)
    BIND(pdio:Q401 AS ?class)
    ?item pdiot:P3 ?class.
    ?item pdiot:P55 ?country.
  }
}
AS %operator
WITH {SELECT ?project ?projectClass ?projectColor WHERE {
    BIND(?class AS ?projectClass)
    BIND("500" AS ?projectColor)
    BIND(?item AS ?project)
    BIND(pdio:Q564 AS ?country)
    BIND(pdio:Q646 AS ?class)
    ?item pdiot:P3 ?class.
    ?item pdiot:P55 ?country.
  }
}
AS %project
WHERE {
  BIND(?operatorColor AS ?rgb)
  {
     INCLUDE %operator.
     INCLUDE %project.
     ?project pdiot:P111 ?operator
  }
  UNION
  {
     INCLUDE %operator.
  }
  UNION
  {
     INCLUDE %project.
  }
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "en" . 
  }
}
LIMIT 10000

first attempt, kept for historic reasons (embedded)

PREFIX pdio: <https://wiki.personaldata.io/entity/>
PREFIX pdiot: <https://wiki.personaldata.io/prop/direct/>
PREFIX pdiop: <https://wiki.personaldata.io/prop/>
PREFIX pdiops: <https://wiki.personaldata.io/prop/statement/>
PREFIX pdiopq: <https://wiki.personaldata.io/prop/qualifier/>
SELECT DISTINCT ?operator ?operatorLabel ?project ?projectLabel
WHERE {
  {
    ?operator pdiot:P3 pdio:Q401.
    OPTIONAL {?project pdiot:P111 ?operator}
    OPTIONAL {?project pdiot:P111 ?operator}
    ?operator pdiot:P55 pdio:Q564.
  }
  UNION
  {
    ?project pdiot:P3 pdio:Q646.
    OPTIONAL {?project pdiot:P111 ?operator}
    OPTIONAL {?project pdiot:P111 ?operator}
    ?project pdiot:P55 pdio:Q564.
  } 
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "en" . 
  }
}
LIMIT 10000

spreadsheet with both (embedded)

Cameroon

Project:MyData/Cameroon/Mapping

PREFIX pdio: <https://wiki.personaldata.io/entity/>
PREFIX pdiot: <https://wiki.personaldata.io/prop/direct/>
PREFIX pdiop: <https://wiki.personaldata.io/prop/>
PREFIX pdiops: <https://wiki.personaldata.io/prop/statement/>
PREFIX pdiopq: <https://wiki.personaldata.io/prop/qualifier/>
#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:Q1918.
    ?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:Q1918.
    ?object pdiot:P55 pdio:Q1918.
    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

Cameroon MyData ecosystem (embedded)

Methodology

Of course, it is necessary for these visualisations to engage in a mapping process. We explain here how to do so.