query-99f91b207d47a7be54d66d1be285c311

rq turtle/ttl

(21) Graph of Dream of the Red Chamber network: Jia Baoyu's relatives and teachers/students and roommates as well as their family names and residencesNo.21 (2019.11.09T1708 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#>
# for comparison, add residence/occupant and part_of/has_part so that Daguan Yuan buildings, servants, and Miao Yu can be included
### Note: I originally planed to use part_of/has_part to connect different buildings in Daguan Yuan. And by doing so, Miao Yu can be included in the network. 
### But after applying this query, I found that part_of/has_part had been used to connect Twelve Beauties of Jinling, including Miaoyu. 
#defaultView:Graph
SELECT ?x ?xLabel ?birthdate ?image ?y ?yLabel ?edgeLabel
WHERE {
  # define ?x as Jia Baoyu (Q8428650)'s any father (P22) or mother (P25) or child (P40) or sibling (P3373) or spouse (P26)
  # or relative (P1038) or teacher (P1066) or student (P802) or family name (P734) or residence (P551) or occupant (P466) or part of (P361) or has part (P527)'s
  # father or mother or child or sibling or spouse or relative or teacher or student or family name or residence or occupant or part of or has part's...
  wd:Q8428650 (wdt:P22|wdt:P25|wdt:P40|wdt:P3373|wdt:P26|wdt:P1038|wdt:P1066|wdt:P802|wdt:P734|wdt:P551|wdt:P466|wdt:P361|wdt:P527)* ?x
  # optional: define ?y as ?x's father (P22) or mother (P25) or child (P40) or sibling (P3373) or spouse (P26) or relative (P1038)
  # or teacher (P1066) or student (P802) or family name (P734) or residence (P551) or occupant (P466) or part of (P361) or has part (P527)
  OPTIONAL {?x (wdt:P22|wdt:P25|wdt:P40|wdt:P3373|wdt:P26|wdt:P1038|wdt:P1066|wdt:P802|wdt:P734|wdt:P551|wdt:P466|wdt:P361|wdt:P527) ?y
            # To avoid showing any other relation
            # define ?relation as only father (P22) or mother (P25) or child (P40) or sibling (P3373) or spouse (P26) or relative (P1038)
            # or teacher (P1066) or student (P802) or family name (P734) or residence (P551) or occupant (P466) or part of (P361) or has part (P527)
            VALUES ?relation {wdt:P22 wdt:P25 wdt:P40 wdt:P3373 wdt:P26 wdt:P1038 wdt:P1066 wdt:P802 wdt:P734 wdt:P551 wdt:P466 wdt:P361 wdt:P527}
            # ?relation is from ?x to ?y
            ?x ?relation ?y.
            # show ?relation on graph edges
            ?edge wikibase:directClaim ?relation;
               a wikibase:Property}
  # optional: show ?x's birthdate (P569), which only appears in table, not graph
  OPTIONAL {?x wdt:P569 ?birthdate}
  # optional: show ?x's image (P18), which appears directly in graph, and as link in table
  OPTIONAL {?x 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 v3("?relation") v1("?x"):::projected v2("?y"):::projected c17(["wikibase:Property"]):::iri c23(["zh-hans,en"]):::literal c1(["wd:Q8428650"]):::iri c21(["bd:serviceParam"]):::iri subgraph union0[" Union "] subgraph union0l[" "] style union0l fill:#abf,stroke-dasharray: 3 3; subgraph union1[" Union "] subgraph union1l[" "] style union1l fill:#abf,stroke-dasharray: 3 3; subgraph union2[" Union "] subgraph union2l[" "] style union2l fill:#abf,stroke-dasharray: 3 3; subgraph union3[" Union "] subgraph union3l[" "] style union3l fill:#abf,stroke-dasharray: 3 3; subgraph union4[" Union "] subgraph union4l[" "] style union4l fill:#abf,stroke-dasharray: 3 3; subgraph union5[" Union "] subgraph union5l[" "] style union5l fill:#abf,stroke-dasharray: 3 3; subgraph union6[" Union "] subgraph union6l[" "] style union6l fill:#abf,stroke-dasharray: 3 3; subgraph union7[" Union "] subgraph union7l[" "] style union7l fill:#abf,stroke-dasharray: 3 3; subgraph union8[" Union "] subgraph union8l[" "] style union8l fill:#abf,stroke-dasharray: 3 3; subgraph union9[" Union "] subgraph union9l[" "] style union9l fill:#abf,stroke-dasharray: 3 3; subgraph union10[" Union "] subgraph union10l[" "] style union10l fill:#abf,stroke-dasharray: 3 3; subgraph union11[" Union "] subgraph union11l[" "] style union11l fill:#abf,stroke-dasharray: 3 3; c1 --"wdt:P527"--> v1 end subgraph union11r[" "] style union11r fill:#abf,stroke-dasharray: 3 3; c1 --"wdt:P361"--> v1 end union11r <== or ==> union11l end end subgraph union10r[" "] style union10r fill:#abf,stroke-dasharray: 3 3; c1 --"wdt:P466"--> v1 end union10r <== or ==> union10l end end subgraph union9r[" "] style union9r fill:#abf,stroke-dasharray: 3 3; c1 --"wdt:P551"--> v1 end union9r <== or ==> union9l end end subgraph union8r[" "] style union8r fill:#abf,stroke-dasharray: 3 3; c1 --"wdt:P734"--> v1 end union8r <== or ==> union8l end end subgraph union7r[" "] style union7r fill:#abf,stroke-dasharray: 3 3; c1 --"wdt:P802"--> v1 end union7r <== or ==> union7l end end subgraph union6r[" "] style union6r fill:#abf,stroke-dasharray: 3 3; c1 --"wdt:P1066"--> v1 end union6r <== or ==> union6l end end subgraph union5r[" "] style union5r fill:#abf,stroke-dasharray: 3 3; c1 --"wdt:P1038"--> v1 end union5r <== or ==> union5l end end subgraph union4r[" "] style union4r fill:#abf,stroke-dasharray: 3 3; c1 --"wdt:P26"--> v1 end union4r <== or ==> union4l end end subgraph union3r[" "] style union3r fill:#abf,stroke-dasharray: 3 3; c1 --"wdt:P3373"--> v1 end union3r <== or ==> union3l end end subgraph union2r[" "] style union2r fill:#abf,stroke-dasharray: 3 3; c1 --"wdt:P40"--> v1 end union2r <== or ==> union2l end end subgraph union1r[" "] style union1r fill:#abf,stroke-dasharray: 3 3; c1 --"wdt:P25"--> v1 end union1r <== or ==> union1l end end subgraph union0r[" "] style union0r fill:#abf,stroke-dasharray: 3 3; c1 --"wdt:P22"--> v1 end union0r <== or ==> union0l end subgraph optional0["(optional)"] style optional0 fill:#bbf,stroke-dasharray: 5 5; subgraph union12[" Union "] subgraph union12l[" "] style union12l fill:#abf,stroke-dasharray: 3 3; subgraph union13[" Union "] subgraph union13l[" "] style union13l fill:#abf,stroke-dasharray: 3 3; subgraph union14[" Union "] subgraph union14l[" "] style union14l fill:#abf,stroke-dasharray: 3 3; subgraph union15[" Union "] subgraph union15l[" "] style union15l fill:#abf,stroke-dasharray: 3 3; subgraph union16[" Union "] subgraph union16l[" "] style union16l fill:#abf,stroke-dasharray: 3 3; subgraph union17[" Union "] subgraph union17l[" "] style union17l fill:#abf,stroke-dasharray: 3 3; subgraph union18[" Union "] subgraph union18l[" "] style union18l fill:#abf,stroke-dasharray: 3 3; subgraph union19[" Union "] subgraph union19l[" "] style union19l fill:#abf,stroke-dasharray: 3 3; subgraph union20[" Union "] subgraph union20l[" "] style union20l fill:#abf,stroke-dasharray: 3 3; subgraph union21[" Union "] subgraph union21l[" "] style union21l fill:#abf,stroke-dasharray: 3 3; subgraph union22[" Union "] subgraph union22l[" "] style union22l fill:#abf,stroke-dasharray: 3 3; subgraph union23[" Union "] subgraph union23l[" "] style union23l fill:#abf,stroke-dasharray: 3 3; v1 -."wdt:P527".-> v2 end subgraph union23r[" "] style union23r fill:#abf,stroke-dasharray: 3 3; v1 --"wdt:P361"--> v2 end union23r <== or ==> union23l end end subgraph union22r[" "] style union22r fill:#abf,stroke-dasharray: 3 3; v1 --"wdt:P466"--> v2 end union22r <== or ==> union22l end end subgraph union21r[" "] style union21r fill:#abf,stroke-dasharray: 3 3; v1 --"wdt:P551"--> v2 end union21r <== or ==> union21l end end subgraph union20r[" "] style union20r fill:#abf,stroke-dasharray: 3 3; v1 --"wdt:P734"--> v2 end union20r <== or ==> union20l end end subgraph union19r[" "] style union19r fill:#abf,stroke-dasharray: 3 3; v1 --"wdt:P802"--> v2 end union19r <== or ==> union19l end end subgraph union18r[" "] style union18r fill:#abf,stroke-dasharray: 3 3; v1 --"wdt:P1066"--> v2 end union18r <== or ==> union18l end end subgraph union17r[" "] style union17r fill:#abf,stroke-dasharray: 3 3; v1 --"wdt:P1038"--> v2 end union17r <== or ==> union17l end end subgraph union16r[" "] style union16r fill:#abf,stroke-dasharray: 3 3; v1 --"wdt:P26"--> v2 end union16r <== or ==> union16l end end subgraph union15r[" "] style union15r fill:#abf,stroke-dasharray: 3 3; v1 --"wdt:P3373"--> v2 end union15r <== or ==> union15l end end subgraph union14r[" "] style union14r fill:#abf,stroke-dasharray: 3 3; v1 --"wdt:P40"--> v2 end union14r <== or ==> union14l end end subgraph union13r[" "] style union13r fill:#abf,stroke-dasharray: 3 3; v1 --"wdt:P25"--> v2 end union13r <== or ==> union13l end end subgraph union12r[" "] style union12r fill:#abf,stroke-dasharray: 3 3; v1 --"wdt:P22"--> v2 end union12r <== or ==> union12l end bind0[/VALUES ?relation/] bind0-->v3 bind00(["wdt:P22"]) bind00 --> bind0 bind01(["wdt:P25"]) bind01 --> bind0 bind02(["wdt:P40"]) bind02 --> bind0 bind03(["wdt:P3373"]) bind03 --> bind0 bind04(["wdt:P26"]) bind04 --> bind0 bind05(["wdt:P1038"]) bind05 --> bind0 bind06(["wdt:P1066"]) bind06 --> bind0 bind07(["wdt:P802"]) bind07 --> bind0 bind08(["wdt:P734"]) bind08 --> bind0 bind09(["wdt:P551"]) bind09 --> bind0 bind010(["wdt:P466"]) bind010 --> bind0 bind011(["wdt:P361"]) bind011 --> bind0 bind012(["wdt:P527"]) bind012 --> bind0 v1 -->v3--> v2 v4 --"wikibase:directClaim"--> v3 v4 --"a"--> c17 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; c21 --"wikibase:language"--> c23 end