query-e233b6955e1af4450ad67e319c120156

rq turtle/ttl

(4) Graph of lineal ancestors/descendants: Daoguang EmperorNo.4 (2019.11.05T0933 created)

Use at

PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX bd: <http://www.bigdata.com/rdf#>
# find lineal blood relatives of Daoguang Emperor
#defaultView:Graph
SELECT DISTINCT ?lineal ?linealLabel ?birthdate ?image ?parent ?parentLabel ?edgeLabel
WHERE {
  # define Daoguang (Q334351)'s ?lineal as
  # any father (P22) or mother (P25)'s father or mother's..., i.e., lineal ancestors,
  # or any child (P40)'s child's..., i.e., lineal descendants 
  wd:Q334351 ((wdt:P22|wdt:P25)*|wdt:P40*) ?lineal
  # optional: define ?lineal's father (P22) or mother (P25) as ?parent
  OPTIONAL {?lineal (wdt:P22|wdt:P25) ?parent
           # To eliminate lineal descendant's parent who is not Doguang's lineal blood relative,
           # require that Daoguang (Q334351) is among ?parent's lineal ancestors
           {?parent (wdt:P22|wdt:P25)* wd:Q334351}
           # OR among ?parent's lineal descendants 
           UNION {?parent wdt:P40* wd:Q334351}
           # To avoid showing any other relation than P22 (father) and P25 (mother),
           # define ?relation as P22 or P25
           VALUES ?relation {wdt:P22 wdt:P25} 
           # and ?relation is from ?lineal to ?parent,
           ?lineal ?relation ?parent.
           # then show ?relation on graph edges 
           ?edge wikibase:directClaim ?relation;
               a wikibase:Property}
  # optional: show ?lineal's birthdate (P569), which only appears in table, not graph 
  OPTIONAL {?lineal wdt:P569 ?birthdate}
  # optional: show ?lineal's image (P18), which appears directly in graph, and as link in table
  OPTIONAL {?lineal wdt:P18 ?image}
  # show label in simplified Chinese (zh-hans) as default, and English when no default label exists
  SERVICE wikibase:label { bd:serviceParam wikibase:language "zh-hans,en". } 
}

Query found at

graph TD classDef projected fill:lightgreen; classDef literal fill:orange; classDef iri fill:yellow; v5("?birthdate"):::projected v4("?edge") v6("?image"):::projected v1("?lineal"):::projected v2("?parent"):::projected v3("?relation") c7(["wikibase:Property"]):::iri c1(["wd:Q334351"]):::iri c13(["zh-hans,en"]):::literal c11(["bd:serviceParam"]):::iri subgraph union0[" Union "] subgraph union0l[" "] style union0l fill:#abf,stroke-dasharray: 3 3; c1 --"wdt:P40"--> v1 end subgraph union0r[" "] style union0r fill:#abf,stroke-dasharray: 3 3; subgraph union1[" Union "] subgraph union1l[" "] style union1l fill:#abf,stroke-dasharray: 3 3; c1 --"wdt:P25"--> v1 end subgraph union1r[" "] style union1r fill:#abf,stroke-dasharray: 3 3; c1 --"wdt:P22"--> v1 end union1r <== or ==> union1l end end union0r <== or ==> union0l end subgraph optional0["(optional)"] style optional0 fill:#bbf,stroke-dasharray: 5 5; subgraph union2[" Union "] subgraph union2l[" "] style union2l fill:#abf,stroke-dasharray: 3 3; v1 -."wdt:P25".-> v2 end subgraph union2r[" "] style union2r fill:#abf,stroke-dasharray: 3 3; v1 --"wdt:P22"--> v2 end union2r <== or ==> union2l end subgraph union3[" Union "] subgraph union3l[" "] style union3l fill:#abf,stroke-dasharray: 3 3; v2 --"wdt:P40"--> c1 end subgraph union3r[" "] style union3r fill:#abf,stroke-dasharray: 3 3; subgraph union4[" Union "] subgraph union4l[" "] style union4l fill:#abf,stroke-dasharray: 3 3; v2 --"wdt:P25"--> c1 end subgraph union4r[" "] style union4r fill:#abf,stroke-dasharray: 3 3; v2 --"wdt:P22"--> c1 end union4r <== or ==> union4l end end union3r <== or ==> union3l end bind0[/VALUES ?relation/] bind0-->v3 bind00(["wdt:P22"]) bind00 --> bind0 bind01(["wdt:P25"]) bind01 --> bind0 v1 -->v3--> v2 v4 --"wikibase:directClaim"--> v3 v4 --"a"--> c7 end subgraph optional1["(optional)"] style optional1 fill:#bbf,stroke-dasharray: 5 5; v1 -."wdt:P569".-> v5 end subgraph optional2["(optional)"] style optional2 fill:#bbf,stroke-dasharray: 5 5; v1 -."wdt:P18".-> v6 end subgraph s1["http://wikiba.se/ontology#label"] style s1 stroke-width:4px; c11 --"wikibase:language"--> c13 end