Sandbox
Revision as of 03:19, 21 May 2019 by 192.168.0.1 (talk) (Created page with "{{SPARQLcountry|country=Q681|visualization=Q803}}")
- 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 {
{
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