Sparql 访问父项的值中包含的项的属性
是否可以访问另一个项的属性中存在的项的值。例如,在的情况下。有一个属性“重大事件”P793。该属性的值为项目“首次上升”Q1194369,其属性为“时间点”P585和“参与者”P710 我希望能够返回山的这些值,但我不知道如何使用SPARQL访问这些值。我曾尝试将“首次上升”定义为一个参数,但并没有产生任何结果。我还尝试检查了“第一次上升”的所有可用属性,但我看不到这些值存储在哪里。我尝试过的代码是:Sparql 访问父项的值中包含的项的属性,sparql,wikidata,Sparql,Wikidata,是否可以访问另一个项的属性中存在的项的值。例如,在的情况下。有一个属性“重大事件”P793。该属性的值为项目“首次上升”Q1194369,其属性为“时间点”P585和“参与者”P710 我希望能够返回山的这些值,但我不知道如何使用SPARQL访问这些值。我曾尝试将“首次上升”定义为一个参数,但并没有产生任何结果。我还尝试检查了“第一次上升”的所有可用属性,但我看不到这些值存储在哪里。我尝试过的代码是: SELECT ?mountainLabel ?date ?climbers WHERE
SELECT ?mountainLabel ?date ?climbers
WHERE
{
?mountain wdt:P31 wd:Q8502. # instance of mountain
?mountain wdt:P17 wd:Q39. # country Switzerland
?mountain wdt:P935 "Matterhorn". # name
?mountain wdt:P793/wd:Q1194369* ?firstAss. # first ascent
?firstAss wdt:P585 ?date . #date of ascent
?firstAss wdt:P710 ?climbers . #climbername
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en, de". }
}
语句限定符在第一次使用时并非微不足道 解决方案:
PREFIX bd: <http://www.bigdata.com/rdf#>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX pq: <http://www.wikidata.org/prop/qualifier/>
PREFIX ps: <http://www.wikidata.org/prop/statement/>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wikibase: <http://wikiba.se/ontology#>
SELECT ?mountainLabel ?firstAssLabel ?date ?climberLabel
WHERE
{
?mountain wdt:P31 wd:Q8502. # instance of mountain
?mountain wdt:P17 wd:Q39. # country Switzerland
?mountain wdt:P935 "Matterhorn". # name
?mountain wdt:P793/wd:Q1194369* ?firstAss. # first ascent
?mountain p:P793 ?firstAssStat .
?firstAssStat ps:P793 ?firstAss .
?firstAssStat pq:P585 ?date . #date of ascent
?firstAssStat pq:P710 ?climber . #climbername
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en,de" .
}
}
前缀bd:
前缀p:
前缀pq:
前缀ps:
前缀wd:
前缀wdt:
前缀wikibase:
选择?mountainLabel?firstAssLabel?日期?登山标签
哪里
{
?山地wdt:P31 wd:Q8502.#山地实例
?山地wdt:P17 wd:Q39.#瑞士国家
?mountain wdt:P935“马特宏峰”#名称
?山地wdt:P793/wd:Q1194369*?第一次爬山
?山区p:P793?第一个统计数据。
firstAssStat ps:P793?firstAss。
?firstAssStat pq:P585?日期#上升日期
?firstAssStat pq:P710?攀岩者。#攀岩者名称
服务维基库:标签{
bd:ServiceParamWikibase:language“en,de”。
}
}
演示:
文件:
就个人而言,我观察项目的RDF/Turtle来构建我的查询:
在这里被多次询问和回答,您需要的是语句限定符:在查询之前了解数据模型会有所帮助,因为Wikidata有些特殊: