sparql - SPARQL 查询项共享不同的属性
问题描述
SPARQL 的新手,我正在尝试在 Wikidata 中查询与另一个项目共享至少 k 个不同值的所有项目。例如,以下示例试图列出与 COVID-19 (wd:Q84263196) 具有至少三种不同症状 (wdt:P780) 的所有疾病,并列出每种疾病及其所有共有症状。以下查询接近:
SELECT DISTINCT ?item ?itemLabel ?symptom1Label ?symptom2Label ?symptom3Label
WHERE
{
?item wdt:P780 ?symptom1, ?symptom2, ?symptom3.
wd:Q84263196 wdt:P780 ?symptom1, ?symptom2, ?symptom3.
FILTER (?symptom1 != ?symptom2)
FILTER (?symptom1 != ?symptom3)
FILTER (?symptom2 != ?symptom3)
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}
LIMIT 50
但输出显示了三种(常见)症状的所有不同组合。例如,
Q2840 influenza headache cough fatigue
Q2840 influenza headache cough nasal congestion
...
而所需的输出应列出每种疾病/症状组合一次(以长形式或宽形式)。