首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析Wikidata -三元组数据

解析Wikidata -三元组数据
EN

Stack Overflow用户
提问于 2020-05-08 19:10:50
回答 1查看 563关注 0票数 1

我第一次使用WikiData和RDF。我下载了WikiData 24 it的“真实”数据集 (仅以available .nt格式提供),但现在我很难理解它。

下面是.nt文件中与显示(主题、谓词、对象)三元组相关的一些行:

代码语言:javascript
复制
<http://www.wikidata.org/entity/Q24> <http://schema.org/description> "protagonista della serie televisiva americana ''24''"@it .

<http://www.wikidata.org/entity/Q24> <http://schema.org/name> "Jack Bauer"@en .

<http://www.wikidata.org/entity/Q24> <http://www.wikidata.org/prop/direct/P27> <http://www.wikidata.org/entity/Q30> .

<http://www.wikidata.org/entity/Q24> <http://www.wikidata.org/prop/direct/P451> <http://www.wikidata.org/entity/Q284262> .

所以我的问题是:

  1. 是用于从这个巨大文件解析为英语的三元组的URI,还是我必须进行调用?例如,我想解析这个三元组:
代码语言:javascript
复制
<http://www.wikidata.org/entity/Q24> <http://www.wikidata.org/prop/direct/P27> <http://www.wikidata.org/entity/Q30> .

变成这样的英文可读的形式:

代码语言:javascript
复制
Jack Bauer, country of citizenship, United States of America

该文件是否包含获取Q24P27Q30英文可读的名称所需的信息?或者我需要单独进行HTTP调用来解决这些问题?

  1. 我也可以得到一个转储此文件。我正确的理解是,.nt 三元组仅仅是JSON层次结构的深度优先遍历,目的是将所有数据扁平化为三元组?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-11 11:54:22

都是从这个巨大的文件中解析成英文的三元组的URI,还是我必须进行API调用?

将三元组分解为英语将需要像http://wiki.bitplan.com/index.php/SiDIF这样的三元组的不同表示形式。大多数RDF序列化对于人类来说都不是很好的可读性。https://www.w3.org/TR/turtle/是其中一个更易读的。https://gbv.github.io/aREF/aREF.html也是一个好主意。RDF的一般工具链对程序员不那么友好。请参阅JSON和为什么我讨厌语义网

您可能需要将三元组导入SPARQL商店,然后使用查询前端。这会大大简化你的生活。这是你可能一直在考虑的那种"API“。

有关该过程的描述,请参见WikiData。截至2020年-05-11年,我将向阿帕奇耶拿进口。

https://query.wikidata.org/查询前端可能更容易用于简单查询。请在下面找到一个表示您找到的三元组的查询。

代码语言:javascript
复制
# WikiData statements about Jack Bauer
SELECT ?pLabel ?oLabel 
WHERE 
{
  wd:Q24 ?p ?o.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}

试试看!

文件是否包含获取Q24、P27和Q30英文可读的名称所需的信息?或者我需要单独进行HTTP调用来解决这些问题?文件应该包含这些信息,因为“真实”只意味着您没有出处数据而是所有事实数据。使用WikiData可能会非常麻烦,参见http://wiki.bitplan.com/index.php/WikiData。有一些库可以帮助您通过编程语言API直接使用WikiData来处理。例如,Java的https://github.com/Wikidata/Wikidata-Toolkit。有关更全面的列表,请参见程序员

我也可以获得这个文件的.json转储。我是否正确地认识到,.nt三元组只是JSON层次结构的深度优先遍历,将所有数据平缓成三元组?

三元组的内容应该是相同的。我不知道json垃圾堆里的三元组的顺序是什么。坏消息是,仅仅导入转储的一部分是不够的,因为您会丢失链接信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61686394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档