sql - 如何使用SQL在线查询DBpedia?

标签 sql google-bigquery semantic-web wikipedia dbpedia

DBpedia 刚刚将他们的数据发布为表格,适合导入到关系数据库中。如何使用 SQL 在线查询这些数据?

数据集: http://wiki.dbpedia.org/DBpediaAsTables

最佳答案

我获取了原始数据,将其上传到 BigQuery,并将其公开。到目前为止,我已经用“人”和“地方”表完成了它。在 https://bigquery.cloud.google.com/table/fh-bigquery:dbpedia.person 查看它们.

现在很容易知道哪些是最受欢迎的母校,例如:

SELECT COUNT(*), almaMater_label
FROM [fh-bigquery:dbpedia.person]
WHERE almaMater_label != 'NULL'
GROUP BY 2
ORDER BY 1 DESC

它比那更复杂一些,因为有些人有不止一个母校 - 以及 DBpedia 编码的特殊方式。我在 http://www.reddit.com/r/bigquery/comments/1rjee7/query_wikipedia_in_bigquery_the_dbpedia_dataset/ 留下了完整的查询.

顺便说一下,顶级母校是:

   494     Harvard University
   320     University of Cambridge
   314     University of Michigan
   267     Yale University
   216     Trinity College Cambridge

您还可以在表之间进行连接。

例如,对于每个有建筑师的建筑物(来自 place 表):该建筑师是哪一年出生的? DBpedia 中列出了多少座当年出生的建筑师的建筑?

SELECT COUNT(*), LEFT(b.birthDate, 4) birthYear
FROM [fh-bigquery:dbpedia.place] a
JOIN EACH [fh-bigquery:dbpedia.person] b
ON a.architect = b.URI
WHERE a.architect != 'NULL'
AND birthDate != 'NULL'
GROUP BY 2
ORDER BY 2

结果:

...
8   1934
13  1935
9   1937
7   1938
17  1939
7   1941
1   1943
15  1944
10  1945
12  1946
7   1947
9   1950
20  1951
1   1952
...

(Google BigQuery 每月有免费的查询配额,每月最多 100GB) (DBpedia 3.4 版的数据根据​​知识共享署名-相同方式共享 3.0 许可和 GNU 自由文档许可的条款获得许可。http://dbpedia.org/Datasets#h338-24)

关于sql - 如何使用SQL在线查询DBpedia?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20251889/

相关文章:

sql - 标准 BigQuery Unnest 和 JOIN 问题

model - 为什么我的 Google BigQuery ML 数据集只有 2.4GB,但查询处理的字节数却是 100GB?

OWL/RDF 知识和(大多数数字)事实正确解耦的架构

sparql - 如何标准化此数据

sql - 使用 MS Access 中另一个字段的值填充一个字段

mysql - 年龄计算查询-优化返回时间

python - 谷歌 BigQuery : creating a view via Python google-cloud-bigquery version 0. 27.0 与 0.28.0

semantic-web - OWL 本体设计与 protege

mysql - 如何通过在启用 ONLY_FULL_GROUP_BY 的 GROUP BY 中指定单个列名来进行分组

mysql - PHP 代码中的 SQL 语法错误 - 将两个值相加