DBpedia SPARQL查询美国大学

use*_*656 4 sparql dbpedia

我创建了一个我在DBpedia SNORQL SPARQL端点上运行的SPARQL查询.查询的目的是获取美国的大学或学院列表,包括其经度,纬度和捐赠.该查询似乎正在工作,但似乎缺少一些记录和/或属性.因此,例如,哈佛大学没有出现在结果中,即使它的DBpedia记录存在且属性应该与我的查询匹配.我不确定为什么这个记录没有显示出来.另一个例子是马萨诸塞大学波士顿分校,它作为查询结果出现,但结果并没有获得经度和纬度属性,即使记录包含这些属性.这是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
Run Code Online (Sandbox Code Playgroud)

Jos*_*lor 5

您发布的查询只会选择带有哈佛大学的实体,foaf:homepage哈佛大学则没有.(也就是说,资源没有foaf:homepage财产.显然大学确实有一个主页.)麻省大学 波士顿与可选模式不匹配 -

OPTIONAL {?s geo:lat ?lat ;
             geo:long ?long . 
          ?s d:endowment ?endowment . }
Run Code Online (Sandbox Code Playgroud)

- 因为该模式仅在?s具有a geo:lat,a geo:long和a 时匹配d:endowment.虽然图案是可选的,但整个图案必须匹配与否; 你不会得到部分匹配.

这是您的查询,重新使用DBPedia SPARQL端点当前支持的内置命名空间 (该列表可能随时间而变化),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 }
}
Run Code Online (Sandbox Code Playgroud)

SPARQL结果