如何使用SQL在线查询DBpedia?

时间:2013-11-27 19:56:20

标签: sql google-bigquery semantic-web wikipedia dbpedia

DBpedia刚刚将其数据作为表发布,适合导入关系数据库。如何使用SQL在线查询此数据?

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

1 个答案:

答案 0 :(得分:2)

我获取原始数据,将其上传到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

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

例如,对于拥有建筑师的每个建筑物(来自地方表):那个建筑师出生的那一年? 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) (来自3.4版本的DBpedia数据是根据Creative Commons Attribution-ShareAlike 3.0许可证和GNU自由文档许可证的条款获得许可的。http://dbpedia.org/Datasets#h338-24