Sparql 根据数据库百科资源的wikiPageID查询数据库百科资源不';有些身份证不起作用';s

Sparql 根据数据库百科资源的wikiPageID查询数据库百科资源不';有些身份证不起作用';s,sparql,dbpedia,Sparql,Dbpedia,我正试图根据某个人的wikiPageID从dbpedia中查询他的数据。我尝试了这个SPARQL查询来查询迈克尔·杰克逊: PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX dbp: <http://dbpedia.org/property/> PREFIX rdfs: <ht

我正试图根据某个人的wikiPageID从dbpedia中查询他的数据。我尝试了这个SPARQL查询来查询迈克尔·杰克逊:

PREFIX  rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX  dbo:  <http://dbpedia.org/ontology/>
PREFIX  dbp:  <http://dbpedia.org/property/>
PREFIX  rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT ?name (SAMPLE (?photoLink) as ?photo) (SAMPLE (?occupation) as occup)
(SAMPLE (?spouse) as ?spouses) (SAMPLE (?spName) as ?sname)
(SAMPLE (?spOccupation) as ?spOccu) (SAMPLE (?deathPlace) as ?death)
(SAMPLE(?birthPlace) as ?birth) (SAMPLE(?deathDate) as ?dDate) 
(SAMPLE( ?birthDate) as ?bDate)  {

VALUES ?wikiPageID { 14995351 }
?res a dbo:Person. 
?res dbp:name ?name.
?res dbo:wikiPageID ?wikiPageID.
?res dbp:birthPlace ?birthPlace. 
?res dbp:birthDate ?birthDate. OPTIONAL{?res dbo:occupation ?occupation}.
OPTIONAL{?res dbo:thumbnail ?photoLink}.
OPTIONAL{?res dbo:spouse ?spouse. ?spouse dbp:name ?spName.
?spouse dbo:occupation ?spOccupation}.  
OPTIONAL{?res dbp:deathDate ?deathDate. ?res dbp:deathPlace ?deathPlace}. 
}

GROUP BY (?name)
前缀rdf:
前缀dbo:
前缀dbp:
前缀rdfs:
选择?名称(样本(?photoLink)作为?照片)(样本(?职业)作为占用者)
(样本(?配偶)作为配偶)(样本(?spName)作为sname)
(样本(?Spoccuption)作为?Spoccus)(样本(?死亡地点)作为?死亡)
(样本(?出生地)作为出生)(样本(?死亡日期)作为出生日期)
(样本(?出生日期)为?b日期){
值?wikiPageID{14995351}
?RESA dbo:个人。
?res dbp:名称?名称。
?res dbo:wikiPageID?wikiPageID。
?res dbp:出生地?出生地。
?res dbp:birthDate?birthDate.可选{?res dbo:occulation?occulation}。
可选{?res dbo:thumbnail?photoLink}。
可选{res dbo:配偶?配偶。?配偶dbp:名称?spName。
配偶dbo:职业?职业}。
可选{?res dbp:deathDate?deathDate。?res dbp:deathPlace?deathPlace}。
}
按(?名称)分组

查询返回空结果。然而,当我切换到其他人的
wikiPageID
(例如Toby Maguire-163228)时,它就起作用了。造成这种差异的原因是什么?

如果你查看DBpedia上的Michael Jackson页面,你很容易发现它没有
dbp:name
属性,或者
dbp:birthDate
,甚至没有
dbp:birthDate
。要解决此问题,请将
可选
添加到这些属性中:

OPTIONAL{?res dbp:name ?name}.
OPTIONAL{?res dbp:birthPlace ?birthPlace}.
OPTIONAL{dbp:birthDate ?birthDate}.

如果您查看DBpedia上的Michael Jackson页面,您很容易发现它没有
dbp:name
属性,或者
dbp:birthDate
,甚至没有
dbp:birthDate
。要解决此问题,请将
可选
添加到这些属性中:

OPTIONAL{?res dbp:name ?name}.
OPTIONAL{?res dbp:birthPlace ?birthPlace}.
OPTIONAL{dbp:birthDate ?birthDate}.

DBpedia数据是不完整的、异构的和有噪声的。永远不要忘记这一点。也不清楚为什么要对
出生日期
出生地
使用
dbp
。为什么不使用
rdfs:label
作为名称。为什么按名称而不是URI进行分组,即
?res
?此外,您的查询存在语法错误…请参见
(SAMPLE(?occulation)as occup)
(SAMPLE(?occulation)as?occup)
数据库pedia数据不完整、异构且嘈杂。永远不要忘记这一点。也不清楚为什么要对
出生日期
出生地
使用
dbp
。为什么不
rdfs:label
作为名称。为什么按名称而不是URI分组,即
?res
?此外,您的查询有语法错误…请参见
(SAMPLE(?occulation)as occup)
->
(SAMPLE(?occulation)as?occup)