DBpedia SPARQL 查询美国大学

2024-01-30

我创建了一个正在运行的 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(使用前将#替换为@)

DBpedia SPARQL 查询美国大学 的相关文章

随机推荐

  • 从 C# 保存对 Breeze Web api 的更改

    我想创建一个 C 应用程序 它将使用 Breeze Web api 使用相同的 SaveChanges JObject saveBundle 操作将更改集保存到服务器 如何序列化并表示要发送到服务器的变更集 我的主要问题是在将变更集发送到服
  • 每次我单击克隆 html 的链接时,jQuery 都会使我的克隆加倍?

    以下 html 片段包含一个输入 一个选择和一个链接 当我单击链接时 我基本上想要克隆行 我希望将新行附加到最后一行 我还希望删除该链接并将其添加到最后一行 我也想把偶数结转 我将把我的 jquery 代码放在 html 下面 div di
  • 布尔减法 弃用警告

    我最近升级到 numpy 1 9dev 为了改进 OpenBlas 支持 我有一些代码可以x y Where x and y是概率分布的样本 如果分布是伯努利分布 那么它们是布尔值 如果分布是高斯分布 那么它们就是浮点数 取决于所遵循的路径
  • 在COBOL中,是否可以递归调用一个段落?

    在 IBM 大型机的 COBOL 中 是否可以递归调用段落 200 PARAGRAPH SECTION IF WS COUNTER lt 10 ADD 1 TO WS COUNTER PERFORM 200 PARAGRAPH ELSE D
  • numpy 如何使用数组对数组进行切片索引?

    也许这个问题已经在其他地方提出并解决了 但我还没有找到 假设我们有一个 numpy 数组 a np arange 100 reshape 10 10 b np zeros a shape start np array 1 4 7 can b
  • Django 管理命令中添加了虚假换行符

    在 Python 3 5 0 上运行 Django v1 10 from django core management base import BaseCommand class Command BaseCommand def handle
  • Pyspark S3 错误:java.lang.NoClassDefFoundError:com/amazonaws/services/s3/model/MultiObjectDeleteException

    未能成功设置可以读取 AWS s3 文件的 Spark 集群 我使用的软件如下 hadoop aws 3 2 0 jar aws java sdk 1 11 887 jar Spark 3 0 1 bin hadoop3 2 tgz 使用P
  • 如何在 Inno Setup 中使用变量\宏?

    我尝试按以下方式使用宏 变量 但随后出现错误 你能给建议吗 define AnnotateDir C Users new skin Annotate project define AnnotateUserInstallAppData use
  • Parallel.For 多久调用一次 localInit?

    我一直在尝试 Parallel For 特别是 支持线程本地数据的重载 例如 公共静态 System Threading Tasks ParallelLoopResult For long fromInclusive long toExcl
  • Android SQLite 查询其中列不为 null 且不为空

    我无法弄清楚 query 调用的语法 我需要选择与某个列匹配的所有记录 这些记录的第二个 不同 列不具有 null 或空值 我最好的尝试 Cursor cursor mDatabase query DatabaseOpenHelper TA
  • 需要帮助正确模拟带有 AVD 的 Samsung Galaxy Nexus

    我正在努力确保我的应用程序以流行的 Galaxy Nexus 作为基础在 ICS 上正确进行测试 我想尽可能忠实地模仿它 我使用以下参数创建了一个 AVD 来自 config ini 这主要是使用 GUI 创建的 disk dataPart
  • Linq-to-sql orderby thenby

    我正在使用以下查询语法 from table where where orderby orderby 其中第一个 orderby 是日期 第二个 orderby 是日期 我认为这会像 orderby thenby 一样工作 但似乎在做其他事
  • 使用 WTForms 和 python 进行正则表达式验证

    这是我的代码 class CreateUser Form username StringField Username validators Regexp w message Username must contain only letter
  • 如何阻止运行同一程序的两个实例?

    我需要确保用户一次只能运行我的程序的一个实例 这意味着 我必须以编程方式检查相同的程序是否已经在运行 并在这种情况下退出 我想到的第一件事是在程序启动时在某处创建一个文件 然后 该程序的每个其他实例都会检查该文件 如果找到则退出 问题是 程
  • 使用 PDFBox 设置字符间距

    我目前正在使用 Java 和 PDFBox 库来动态创建一些 PDF 我需要能够设置某些文本的字符间距 跟踪 但似乎无法弄清楚 看起来有一种方法可以做到这一点 http ci apache org projects pdfbox javad
  • 如何将数据传递到 MonoTouch.Dialog 的委托中?

    给定以下代码 如何将 名字 姓氏 等数据传递到我的方法中BookASession SendMessage RootElement CreateBookASessionRoot return new RootElement Book a Se
  • 返回故障的 JAX-WS 服务器端 SOAPHandler 在 WebSphere v8 上获取“内部错误”

    我有一个服务器端 JAX WSSOAPHandler 在 WebSphere v8 上 在某些情况下需要使用字符串变量中的 SOAP 响应来响应客户端 我们称之为responseXml When responseXml包含成功 即非故障 的
  • 从 row.clicked 事件获取行元素

    我正在使用 Bootstrap Vue 中的表格 并且尝试在单击行时显示行详细信息 I used row clicked正如文档所说的事件 但我没有找到任何带有toggleDetails方法 所以我什至不知道如何打开它以及在哪里toggle
  • $inc 仅当 $addToSet 成功时

    在我的项目中 只有当我的 addToSet 成功时 我才想增加我的 数字 字段 有主题 每个主题都有用户 当用户加入某个主题时 我将他的 ID 添加到 users 数组中 并增加该主题中的用户数量 目前 即使用户已经在用户 数组 中 我的解
  • DBpedia SPARQL 查询美国大学

    我创建了一个正在运行的 SPARQL 查询DBpedia SNORQL SPARQL 端点 http dbpedia org snorql 查询的目的是获取美国大学或学院的列表 包括其经度 纬度和捐赠基金 该查询似乎有效 但似乎缺少一些记录