query-99f91b207d47a7be54d66d1be285c311
(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
- https://query.wikidata.org/sparql
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