我第一次使用WikiData和RDF。我下载了WikiData 24 it的“真实”数据集 (仅以available .nt格式提供),但现在我很难理解它。
下面是.nt文件中与显示(主题、谓词、对象)三元组相关的一些行:
<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> .所以我的问题是:
<http://www.wikidata.org/entity/Q24> <http://www.wikidata.org/prop/direct/P27> <http://www.wikidata.org/entity/Q30> .变成这样的英文可读的形式:
Jack Bauer, country of citizenship, United States of America该文件是否包含获取Q24、P27和Q30英文可读的名称所需的信息?或者我需要单独进行HTTP调用来解决这些问题?
.nt 三元组仅仅是JSON层次结构的深度优先遍历,目的是将所有数据扁平化为三元组?发布于 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/查询前端可能更容易用于简单查询。请在下面找到一个表示您找到的三元组的查询。
# 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垃圾堆里的三元组的顺序是什么。坏消息是,仅仅导入转储的一部分是不够的,因为您会丢失链接信息。
https://stackoverflow.com/questions/61686394
复制相似问题