繁体   English   中英

DBpedia SPARQL查询美国大学

[英]DBpedia SPARQL Query US Universities

我创建了一个正在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

您发布的查询将仅选择具有foaf:homepage实体,而哈佛大学则没有。 (也就是说,资源没有foaf:homepage属性。显然,大学确实有主页。) 麻州大学波士顿分校与可选模式不匹配-

OPTIONAL {?s geo:lat ?lat ;
             geo:long ?long . 
          ?s d:endowment ?endowment . }

-因为仅当?s具有geo:latgeo:longd:endowment时,该模式才匹配。 尽管该模式是可选的,但整个模式必须匹配或不匹配。 您不会得到部分匹配。

这是您的查询,经过重新设计以使用DBPedia SPARQL端点当前支持的内置名称空间 (该列表可能会随着时间的变化而变化),并根据需要细分了OPTIONAL部分,并将其移至末尾。 (将它们移到最后只是dbpprop:country "US"@en美学考虑。)我尝试了各种约束,有趣的是,只有32所大学拥有dbpprop:country "US"@en dbpprop:country "United States"@en ,但是273所大学拥有dbpprop:country "US"@en 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 }
}

SPARQL结果

您正在寻找foaf:homepage但其中一些没有分配此内容。 那是引起我注意的第一件事。 通过逐个删除每个元素来检查查询的其余部分,并查看结果集必须提供的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM