我创建了一个正在运行的 SPARQL 查询DBpedia SNORQL SPARQL 端点 http://dbpedia.org/snorql/。查询的目的是获取美国大学或学院的列表,包括其经度、纬度和捐赠基金。该查询似乎有效,但似乎缺少一些记录和/或属性。例如,哈佛大学没有出现在结果中,尽管它DBpedia记录 http://dbpedia.org/page/Harvard_University存在并且属性应该与我的查询匹配。我不确定为什么该记录没有出现。另一个例子是马萨诸塞大学波士顿分校 http://dbpedia.org/page/University_of_Massachusetts_Boston,它作为查询结果出现,但结果没有获得经度和纬度属性,即使记录包含这些属性。这是 SPARQL 查询:
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX d: <http://dbpedia.org/ontology/>
SELECT ?uni ?link ?lat ?long ?endowment
WHERE {
?s foaf:homepage ?link ;
rdf:type <http://schema.org/CollegeOrUniversity> ;
rdfs:label ?uni
OPTIONAL {?s geo:lat ?lat ;
geo:long ?long .
?s d:endowment ?endowment . }
FILTER (LANGMATCHES(LANG(?uni), 'en'))
{?s dbpedia2:country "U.S."@en . }
UNION
{?s dbpedia2:country "U.S." . }
UNION
{?s d:country :United_States . }
}
ORDER BY ?s
您发布的查询将仅选择具有foaf:homepage
and 哈佛大学 http://dbpedia.org/resource/Harvard_University没有。 (也就是说,该资源没有foaf:homepage
财产。显然该大学确实有一个主页。)麻省大学波士顿分校 http://dbpedia.org/resource/UMass_Boston与可选模式不匹配--
OPTIONAL {?s geo:lat ?lat ;
geo:long ?long .
?s d:endowment ?endowment . }
-- 因为该模式仅在以下情况下匹配?s
has a geo:lat
, a geo:long
, and a d:endowment
。虽然模式是可选的,但整个模式必须匹配或不匹配;你不会得到部分匹配。
这是您的查询,已修改以供使用DBPedia SPARQL 端点当前支持的内置命名空间 http://dbpedia.org/sparql?help=nsdecl(该列表可能会随着时间的推移而变化),OPTIONAL
根据需要分解部分,并移动到最后。 (将它们移到最后只是出于美观的考虑。)我尝试了一些各种限制,有趣的是只有 32 所大学拥有dbpprop:country "U.S."@en
,但 273 有dbpprop:country "United States"@en
。总共有 7620 个结果。
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX dbpedia: <http://dbpedia.org/resource/>
PREFIX dbpprop: <http://dbpedia.org/property/>
SELECT ?label ?homepage ?lat ?long ?endowment
WHERE {
?school a <http://schema.org/CollegeOrUniversity>
{ ?school dbpedia-owl:country dbpedia:United_States }
UNION
{ ?school dbpprop:country dbpedia:United_States }
UNION
{ ?school dbpprop:country "U.S."@en }
UNION
{ ?school dbpprop:country "United States"@en }
OPTIONAL { ?school rdfs:label ?label .
FILTER (LANGMATCHES(LANG(?label), 'en')) }
OPTIONAL { ?school foaf:homepage ?homepage }
OPTIONAL { ?school geo:lat ?lat ; geo:long ?long }
OPTIONAL { ?school dbpedia-owl:endowment ?endowment }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)